Job Requirements
- Own complex problems having dependency across services and facilitate cross-functional team interactions to drive resolution
- Write code to build and enhance applications / services and promote code-reviews, code scanning, and other standard development practices to deliver high-quality artifacts to production.
- Define, design, and develop procedures and solutions at a service level to meet the business requirements / enhancements
- Participate and contribute to team's agile process and decisions. Understand and contribute to Prioritization. Drive prioritization decisions and trade-offs in working with product partners
- Identify opportunities and build backlogs to enhance primary service / function
- Automate and simplify all aspects of software delivery and development actively evangelizing the need to automate and simplify where needed.
- Lead by example with hands-on approaches to demonstrate engineering excellence. Able to troubleshoot and refactor existing code for exceptional code quality.
- Drive seamless integration across all connected services to meet end-user expectations
- Drive blameless postmortems culture to identify root causes of incidents and implement learnings
- Provide development and architecture guidance to team members
- Conduct technical interviews for hiring engineering staff and raising the performance bar
Work Experience
Able to write secure code in Java, SQLFamiliar with secure coding standards (e.g., OWASP, CWE, SEI CERT) and vulnerability managementInfrastructure as code and cloud first software development knowledge experience preferred.Understands and implements standard branching (e.g., Gitflow) and peer review practices. Move the team towards trunk-based developmentApply tools (e.g., Sonar, Zally, Checkmarx ) and techniques to scan and measure code quality and anti-patterns as part of development activityHas skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality. Ability to keep the full testing pyramid healthy - Has skills to author test code with lots of smaller tests followed by few contract tests at service level and fewer journey tests at the integration levelUnderstands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control)Understands use cases for advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from the gang of four) to implement efficient codeUnderstands and implements Application Programming Interface (API) standards and cataloging to drive API / service adoption and commercialization and effort estimationExperienced in agile and modern SDLC practices (Scrum / Kanban / Continuous Delivery / DevOps / Quality engineering) and the delivery situations they are used forHas skills to elaborate and estimate non-functional requirements, including security (e.g., data protection, authentication, authorization), regulatory, and performance (SLAs, throughput, transactions per second)Has skills to orchestrate release workflows and pipelines and apply standardized pipelines via APIs to achieve CI and CD using industry standard tools (e.g., Jenkins, AWS / Azure pipelines, XL Release, others).Experience in Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerizationAble to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errorsHas skills to conduct product demos and co-ordinate with product owners to drive product acceptance signoffsAt-least 1-2 years hands-on experience in design and architectures is must.Skills Required
Java, Sonar, Bdd, Continuous Delivery, Sql, Devops, Jenkins, Tdd, Owasp, Scrum, Checkmarx, Kanban, Aws