* Lead the design/development of large-scale software solution
* Maintain the quality of the software by following company standard
* Contribute to architectural designs which can improve the efficiency and flexibility of services
* Contribute the development of high quality code through active participation in code and design reviews.
* Participate in DevOps culture
* Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
* Contribute the high quality document through review process
* Encourage the team members to deliver the high quality documents
* Initiate the new ideas for the documentation e.g. guideline, template, document as a code
* Provide/Contribute the development best practices and technical solutions for the software development team.
* Mentor and train team members on software design and coding standards.
* Participate in knowledge sharing session
* Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions
* Work closely with the Product owner as "Technical partner" by providing the technical suggestion for a business solution.
* Collaborate with team to brainstorm and create new features of the product
* Participate in the Daily Scrum, Sprint Planning, Sprint Review
* Lead development squad to achieve the product visions
* A minimum of 10 years of working experience in relevant areas
* Bachelor's or Master's degree in Engineering, Computer Science, or any related field
* Server side development experience with NodeJS or Golang, RESTful API
* Client side development experience with React, React-hook, MobX or Redux
* Experience or familiarity operating database such as MongoDB, Redis, PostgreSQL, MySQL, Elasticsearch, Cassandra
* Experience or familiarity using best practice version control methodologies and tools such as Git
* Experience or familiarity with application deployment by using CI/CD (Gitlab-ci)
* Experience in container networking on Docker would be considered a plus.
* Experience in Microservice Architecture would be considered a plus.
* Experience in queueing systems such as Kafka, RabbitMQ would be considered a plus.
* Experience in GraphQL would be considered a plus.
* Execute all levels of testing (Unit Test, Integration Test, E2E)
* Provide support and documentation (Postman, Swagger)
* Apply quality engineering principals throughout the Agile product life cycle
* Understand the general concepts of functional programming.
* Eager to learn new technologies
* Experience in leading software development team would be considered a plus