Senior Programmer
Salary: ฿45,000 – ฿67,500 per month
About the role
We are looking for a Lead Software Engineer who is both a player and a coach — someone who still writes code and designs architecture deeply, while simultaneously building teams, creating systems of work, and measuring team results concretely. This role is not a people manager disconnected from technical work, nor a senior individual contributor working alone — you will define what "good engineering" looks like at this company, from coding standards, architecture decisions, AI coding practices to career growth of team members. Work split approximately: Hands-on engineering 40–50% / Team & system leadership 50–60%.
Key responsibilities
Manage an engineering team (4–8 people) covering hiring, onboarding, coaching, and career development
Conduct regular 1:1s, provide direct and actionable feedback
Design and run a team performance evaluation system — set expectations by level, create competency matrix / career ladder, and run fair and measurable performance review cycles
Measure engineering health with standard metrics such as DORA metrics (deployment frequency, lead time, change failure rate, MTTR) and SPACE framework, not just story points
Build a culture of ownership, quality code review, and blameless postmortems
Design engineering workflow across the full cycle: sprint/kanban process, definition of done, release process, incident response
Set standards for CI/CD, automated testing (unit / integration / E2E), observability and monitoring
Write and maintain technical documentation, ADRs (Architecture Decision Records), and runbooks
Balance delivery speed with technical debt — decide when to ship fast and when to refactor
Own architecture of multiple products simultaneously in a multi-product environment
Design scalable systems: data modeling, API design, event-driven patterns, state machines, caching strategy
Make build vs. buy decisions, choose technology stack with defensible reasoning
Review and approve technical design from the team before implementation
Maintain security, reliability and cost efficiency of infrastructure
Develop features with high complexity or on critical path yourself
Write reference quality code for the team to use as a standard
Debug the most difficult production issues when the team is stuck
Lead the adoption of AI coding tools at team level — not just use them, but define practices for how the team should use them to achieve both quality and speed
Master agentic coding tools such as Claude Code, Cursor, GitHub Copilot — know which work should be delegated to AI and which should be written manually
Design AI coding guardrails: review standards for AI-generated code, test coverage requirements, security review process
Create reusable prompts, project context files (such as CLAUDE.md, cursor rules), and internal tooling that enables the team to work with AI consistently
Measure the impact of AI tooling on velocity and quality concretely
Keep pace with a rapidly changing ecosystem (MCP, agent frameworks, LLM APIs) and evaluate what should be adopted and what is hype
About you
5+ years of software engineering experience with at least 2 years of team lead experience (with direct reports to coach and evaluate)
Experience designing and running performance evaluation systems / career ladders / engineering metrics — not just being evaluated
Strong in system design and architecture: can design database schema, API contracts, distributed systems from scratch
Expert in modern web stack — TypeScript/Node.js primarily, React / React Native, and cloud platforms (Firebase / GCP / AWS / Supabase)
Use AI coding tools regularly in real work and can explain your workflow, trade-offs (this will be asked deeply in interview)
Experience with CI/CD, automated testing, and production operations
Communicate well in Thai and English (technical documents in English)
