To work with multiple teams and team’s business stakeholders and deliver state of the art digital experience through resilient, robust and blazing fast Omni channel Microservice designs.
Key Accountabilities of the role:
Advocate for improvements to product quality, security, and performance that have particular impact across your team and others.
Solve technical problems of the highest scope and complexity for your team.
Exert significant influence on the overall objectives and long-range goals of your team.
Shepherd the definition and improvement of our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
Drive innovation on the team with a willingness to experiment and to boldly confront problems of immense complexity and scope.
Actively seek out difficult impediments to our efficiency as a team ("technical debt"), propose and implement solutions that will enable the entire team to iterate faster
Interact with customers and other external stakeholders as a consultant and spokesperson for the work of your team.
Provide mentorships for all Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
Confidently ship large features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
Mentors their teammates in an open, respectful, flexible, empathetic manner. Seeks out mentoring opportunities specifically to create team redundancy and backfill ability. Mentors’ members of other teams as needed.
Collaborates and decides on their team's engineering work based on organization's engineering strategy, together with their teammates and senior engineers. Sometimes involved in work on organizational engineering strategy.
Evaluates and creates new product features in collaboration with the product team.
Regularly participates in the creation of the team roadmap and ensuing feedback. Simplifies product and technical design through proactive conversations.
Specialist Skills / Technical Knowledge, Technical Competencies Required for this role:
Consistently writes production-ready code that is easily testable, easily understood by other developers, and accounts for edge cases and errors.
Understands when it is appropriate to leave comments, but biases towards self-documenting code. Understands their team's testing approach and uses quality metrics to identify gaps.
Works with their team to recommend solutions that are in accordance with accepted testing frameworks and the testing pyramid.
Proficient at using systematic debugging to diagnose all issues within the scope of their domain.
Drives monitoring work on their team based on the organization's monitoring philosophy.
Is aware of the operational data for their team’s domain and uses it as a basis for driving changes to the team's services to achieve stability and performance improvements.
Has expertise in their team's domain, including the breadth of services, how they interact, and data flows between systems. Understands adjacent domains as they affect their team.
Architects’ services and systems using well accepted design patterns to allow for iterative, autonomous development and future scaling.
Anticipates future use cases and makes design decisions that minimize the cost of future changes.
Actively works with the security team, as well as their own team, to refine them.
Previous experience:
10+ years of software development experience with strong java/jee/spring development frameworks.
3+ years of experience in designing distributed systems.
Demonstrated implementation of Microservices, container and cloud-native application development.
Hands-on experience with Docker, Kubernetes or OpenShift and related container platform ecosystems.
Strong understanding of static code analysis, unit testing and test-driven development, security testing and automated test frameworks. Experience using Jenkins, SonarQube, GIT, Maven, Gradle.
Experience with two or more application servers such as JBoss, Tomcat, WebLogic or WebSphere
Strong Agile experience working in Scrum and/or Kanban models.
Experience with two or more database technologies such as Oracle, MySQL or Postgres, MongoDB.
Experience working in a DevOps-focused environment previously with advanced understanding of DevOps principles as a big plus.
Proven track record of delivering high quality and consistent systems and environments for development teams.