Job responsibilities:
- Design and develop scalable and resilient systems in a timely manner, and perform iterative improvements for product teams.
- Design, write, comment and unit test code to confirm software modules are of the highest quality.
- Produce architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Work collaboratively in an Agile team setup with team members located across different locations and time zones. Contribute to delivery success across teams as a technology coach and lead developer
- Handle critical and time sensitive concurrent tasks with supervision and properly escalate situations as appropriate.
- Identify and implement continuous improvement opportunities, to improve delivery flow across product and technology.
- Mentor and develop team member’s skills in design, new technology, clean code, TDD, code review, and problem solving
- Investigating and liaising with product/customers to gain information about the program’s overall function and ends user experience.
- Incorporate non-functional requirements including Telemetry, Monitoring, Security, Alerts, Logs into Software solution.
- Assist with production related issues as needed.
Required qualifications, capabilities and skills:
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Expert understanding of OOP concepts, Design Patterns, Extensive Software Analysis and Design experience
- Understand requirements, technical design and ask the right questions to be able to come up with good quality solution.
- Suggest and prototype new designs and ideas to solve problems.
- Evaluate upstream/downstream data and systems or technical implications and advises on mitigation actions.
- Experience with Java, Web Services (REST, API), Spring Boot, Microservices, Multithreading, database technology such as Oracle / MS SQL / Cockroach
- Experience working with frontend UI development using React, Angular
- Experience working with terraform or similar declarative Infrastructure as Code (IaC) tools
- Experience working with AWS services
- Experience with Agile Development Techniques, Issue/Bug Management and Team Collaboration Tools
- Experience with Git, Jenkins CI/CD, Application Resiliency, and Security
- Experience with Performance, Telemetry, Monitoring, Alerts, Logging etc. non-functional tools.
Preferred qualifications, capabilities and skills
- Experience with JIRA as a Team Collaboration Tool is a plus.
- Strong interpersonal and communication skills
- Zeal to learn new technologies.
- Independent and self-motivated
- Certification such as Java, AWS architect/developer is preferred
- Experience leading a technical team