Senior Software Developer

Phnom Penh | Cambodia

Purpose

The Senior Software Developer, as part of the Scrum Team, in pairs or independently, is responsible for designing, developing and testing technical solutions and contributing to the team, to deliver a quality product that meets the clients' requirements. They will also act as a mentor within the team.

Key Responsibilities

  • Understand and be able to communicate the technical concepts and the client requirements to ensure delivery of a high-quality technical solution
  • Identify system deficiencies, recommend, implement solutions, and guide other team members in doing so
  • Give accurate or rough estimations and point out dependencies between issues  
  • Provide quality work output in line with estimates and specification
  • Contribute clean code to ensure consistent delivery of high quality code to the standard expected within the team
  • Do peer code review and provide constructive feedback 
  • Produce test plans and test cases for multiple projects
  • Provide automated tests and understand the test-driven development concept and collaborate with Quality Assurance developers (QA)
  • Perform Unit, Functional, Integration, System and Performance testing
  • Automate integration and deployment processes and workflows to ensure that software builds happen predictably, consistently and reliably
  • Contribute to manuals and/or technical documentation of implementation and configuration
  • Collaborate effectively with other team members, whether as part of a Scrum Team in an Agile environment or in smaller groups
  • Write user stories and guide other team members to do so

Experience, qualifications, and skills

  • Experience in one or more of the following: PHP,  Laravel Framework, NodeJS, Java, Spring framework, .NET, Golang
  • Knowledge of RESTFul API
  • Proficiency in Frontend technologies such as HTML/CSS, JavaScript, Bootstrap, ReactJS, Next.js, Vue.js and Nuxt.js
  • Knowledge of (cloud) databases - GraphQL, Postgres, MongoDB and Neo4j, Microsoft SQL server
  • Practical Experience in SQL commands, ORM and how to backup and restore a database
  • Understanding of QA processes and tools for Unit, Functional, Integration, System and Performance testing
  • Understanding of continuous integration and deployment process and tools
  • Experience in Microservices Architecture and complex architectural frameworks 
  • Knowledge of Docker and managing container systems with Kubernetes and/or other containerization solutions
  • Experience with AWS, Digital Ocean, Google Cloud and/or other cloud providers
  • Able to work independently and in a team environment
  • Proactively seeks opportunities to broaden and deepen knowledge base and proficiency
  • High level of English communication 
  • Ability to communicate with clients and interpret their needs to technical details
  • Willingness to mentor other team members 

Feel like you’ve just read a description of yourself and your dream job? Apply now with your CV and a cover letter explaining your motivation and how you are the best fit for this role.