Resolves complex problems spanning multiple applications to drive improvements across portfolios; leads projects with significant business implications and participates in planning, prioritization and estimates.
Leads development of integrated business and/or enterprise application to ensure solution is resilient, scalable, and maintainable and meets architectural standards.
Builds awareness and product alignment to enterprise recommended frameworks, tools, technologies, engineering platforms, and architectural design processes.
Drives operational excellence through disaster recovery and capacity planning, performance, regression and chaos testing, observability alerts and dashboards, and reliability processes and recovery runbooks.
Deconstructs complex problems into simple solutions that can evolve over time.
Educates others on engineering standards and best practices, including code quality analysis, test coverage, security principles (authentication and authorization protocols), and Agile processes.
Mentors and advises others by applying and sharing an in-depth understanding of enterprise and industry technologies, tools, methodologies, policies, standards, and best practices.
Continuously explores and recommends new enterprise software components and technologies.
Continuously works to simplify solutions, optimize processes, remove bottlenecks, and resolve escalated issues.
Required Qualifications:
10 years of experience in software development or related field
At least 1-2 years of experience in a lead role, leading complex projects and collaborating across diverse teams.
6 years of experience in any of the following: software engineering competencies frontend technologies (UI/UX), middleware (microservices and APIs), database technologies, DevOps
6 years of experience working on project(s) involving the implementation of solutions applying development lifecycles through iterative agile development
Bachelors degree in computer science, computer information systems (CIS), or related field (or equivalent work experience in lieu of degree)
Preferred Qualifications:
Masters degree in computer science, CIS, or related field
6 years of experience writing technical documentation in a software environment, developing and implementing business systems within an organization, and working with source code control systems
6 years of experience in systems analysis, including defining technical requirements and performing high level design for complex solutions
6 years of experience working with three or more of the following: continuous integration/continuous deployment tools, frontend technologies (UI/UX), middleware, database technologies, DevOps
4 years of experience leading teams, with or without direct reports
Skill Set Required
Experience in developing products/applications using Java spring boot microservices
Proficiency in both SQL (PostgreSQL) and NoSQL (MongoDB) databases, with experience in designing data models and optimizing queries.
Good understanding and experience of using Java 8 features and REST
Preferred experience with React JS and a solid understanding of JavaScript technologies.
Experience in using GIT, Maven and understanding of CI/CD tools
Experience in writing automated unit tests using Junit/Mockito
Good understanding on cloud-based architectures, preferably Google Cloud Platform (GCP).
Familiarity with Docker, Kubernetes, or similar tools for deploying applications in containerized environments.
Security Best Practices: Understanding of application security principles, including authentication and authorization mechanisms (e.g., OAuth, JWT).
Performance Tuning: Ability to analyze and optimize application performance and scalability.