Design and Architecture. Contribute to the design and architecture of highly reliable, secure, scalable, and performant services.
Coding. Write high quality code to build reliable, scalable, and performant software.
Automation. Apart from writing automated tests, implement software services with automation in mind for CI, provisioning, deployment, and operation.
Problem Solving. Identify and solve the right problems.
Collaboration. Work with other team members to elaborate features, estimate, plan, develop, release, and operate software services.
Delivery. Have a sharp focus on timeline and iteratively deliver valuable software to our customers.
Ownership. Own the end-to-end delivery of feature development epics/stories from development to operation.
Enhancement. Enhance and support existing software including incident response activities, defect fixing, and feature enhancements.
Continuous Improvement. Contribute towards continuously improving development and delivery practices.
Self-development. Maintain relentless hunger for professional self-improvement and find creative ways to encourage others to do so.
Mentoring and Knowledge Sharing. Mentor and coach other team members, create and maintain knowledge articles, and conduct knowledge sharing sessions small and large audience.
Required Skills and Experience
Fluent in Java including Spring and Spring Boot.
Software engineering principles and clean coding practices.
Experience with distributed system design and development.