Software Engineer
Job Summary
We are seeking an experienced Software Engineer in Singapore to lead system architecture, backend development, and optimisation. Collaborate with international teams to deliver and enhance complex production systems with a focus on reliability and scalability.
Responsibilities
- Design and evolve medium-to-large-scale software systems to meet business and technical requirements
- Develop backend services using Java or Go with strong software engineering and code design practices
- Apply computer science fundamentals including data structures, algorithms, and operating systems to solve complex problems
- Architect and optimise distributed systems addressing common challenges for high availability and concurrency
- Design and implement RESTful APIs following best practices to ensure robust and scalable interfaces
- Manage relational databases (MySQL and/or PostgreSQL) including schema design, indexing, SQL optimisation, performance tuning, and sharding
- Develop asynchronous architectures using messaging middleware such as Kafka and/or RabbitMQ
- Utilise AWS cloud services and containerisation technologies like Docker and Kubernetes to deploy and maintain systems
- Implement and maintain CI/CD pipelines and adopt modern DevOps practices to improve delivery efficiency
- Deliver and maintain complex production systems ensuring high reliability and performance
- Leverage AI-powered tools to enhance software development productivity and efficiency
- Communicate effectively in English with native-speaking technical engineers to clarify requirements and participate in technical discussions and meetings
- Collaborate closely with overseas colleagues to drive solution delivery and system optimisation
Required competencies and certifications
- Bachelor's degree or equivalent relevant qualification
- At least 8 years of professional software development experience
Preferred competencies and qualifications
- Strong proficiency in Java or Go backend development
- Solid understanding of distributed system architecture and challenges
- Experience with RESTful API design principles
- Hands-on experience with MySQL and/or PostgreSQL databases
- Experience with Kafka and/or RabbitMQ messaging middleware
- Familiarity with AWS technology ecosystem and cloud services
- Knowledge of Docker and Kubernetes containerisation technologies
- Familiarity with CI/CD pipelines and DevOps practices
- Proven experience delivering and maintaining complex production systems
- Proficiency in using AI-powered tools for software development productivity
- Excellent communication, teamwork, analytical, and problem-solving skills
- Fluent spoken English for effective technical communication