Principal Software Engineer, Back End
Job description
About the role
This role defines a technical leadership position that combines AI, data infrastructure, and reliability responsibilities. The position drives innovation across AI-powered data querying and data quality platforms. It is based in Bangkok, Thailand, with relocation support provided.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
Requirements
Bring 10+ years of experience in software engineering, data engineering, or related fields to solve complex technical problems.
Demonstrate strong hands-on experience with SQL and large-scale data systems to manage and process high-volume information.
Show proficiency with modern analytical databases and data warehouses such as StarRocks, Snowflake, BigQuery, and ClickHouse for analytical workloads.
Apply backend development skills with languages such as Python, Java, Scala, or similar to build robust and scalable services.
Gain experience building or working with AI/LLM-based applications like text-to-SQL, conversational interfaces, cursor, and copilots for data interaction.
Develop a strong understanding of data modeling, query execution, and performance optimization for analytical systems.
Prove the ability to lead cross-team, high-impact technical initiatives that influence platform direction and delivery.
Navigate effectively between deep hands-on implementation and strategic technical leadership to unblock engineering progress.
Communicate clearly with both technical and non-technical stakeholders to align goals and share technical context.
Nice to have
Show experience with text-to-SQL systems or AI-driven data interfaces to streamline insight generation.
Demonstrate experience implementing or scaling analytical engines such as StarRocks for high-performance querying.
Build a background in data observability, quality, or governance frameworks to improve reliability and trust.
Leverage tools like dbt, Airflow, Spark, or similar to support data pipelines and analytics workflows.
Practical notes
This position is based in Bangkok, Thailand, and relocation support is provided to eligible candidates.
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Data and technology drive innovation in a travel-focused environment.
Modern programming languages like Scala and Go power scalable backend services.
Data platforms rely on tools such as Kafka and Aerospike for streaming and caching workloads.
Questions to ask
Good questions to ask the employer in the interview: what does success look like in the first six months, how is the team structured, what is the current biggest challenge, and how are decisions made. Asking about growth paths and the review process is also well received. Employers expect questions, and good ones show preparation.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.