Job Description
- Owns all technical aspects of software development for assigned applications
- Participates in the design and development of systems & application programs
- Functions as Senior member of an agile team and helps drive consistent development practices – tools, common components, and documentation
- Mentors engineers, and may have management responsibilities over 2-3 engineers
- Identifies opportunities to adopt innovative technologies
- Works closely with product owners on blueprints and annual planning of feature sets that impact multiple platforms and products
- Works with product owners to prioritize features for ongoing sprints and managing a list of technical requirements based on industry trends, new technologies, known defects, and issues
Experience and Qualifications
- 6-9 years of software development experience
- Demonstrated experience leading teams of engineers with at least one year's experience in a team leader role
- Familiar with Agile or other rapid application development methods
- Experience with design and coding across one or more platforms and languages as appropriate
- Hands-on expertise with application design, software development and automated testing
- Ability to effectively interpret technical and business objectives and challenges, and articulate solutions
- Ability to think abstractly and deal with ambiguous/under-defined problems
- Ability to enable business capabilities through innovation
- Looks proactively beyond the obvious for continuous improvement opportunities
- Communicate effectively with tech, operations and business colleagues
- High energy, demonstrated willingness to learn new technologies, and takes pride in how fast they develop working software
- Bachelor's or Master's degree in computer science, computer engineering, or other technical discipline, or equivalent work experience, is required
- 6+ years of software development experience in a professional environment and/or comparable experience such as: Hands-on expertise with application design, software development, and automated testing.
- 5+ years of active engineering experience in a complex environment and/or comparable experience such as successful engineering and deployment of enterprise-grade technology assets in an Agile product environment.
- Hands-on experience in developing high performance backend applications using a variety of technologies, with specific expertise in Java (including advanced design pattern & common libraries) and cloud native technologies is a plus
- Ability to construct enterprise-grade APIs using state-of-the-art techniques and best practices (REST, JSON, XML, etc.).
- Knowledge and expertise in Microservices Architecture, Data Centric application design, Event Driven Systems, Kafka, Cornerstone, Data pipelines, Stream processing systems etc. is a plus
- Experience using database systems like MongoDB, PostgresQL in a high performance and resilient configurations is a plus
- Experience working in JIRA
- Experience with GitHub / Git
- Technical and business knowledge in networking domain related to firewalls is a plus