Responsibilities
- Provide technical leadership to software engineering staff in the development, testing, and implementation processes
- Design and develop APIs necessary to affect front end functionality and/or be consumed by other partners
- Provide full stack (Java, .NET, etc.) design and development of projects involving application development, migrations, and additions to existing applications
- Develop front end applications utilizing React, Angular, Nodejs, etc. in close accord with a UX team and ensures the responsiveness of those applications
- Utilize secure development practices which encompasses secure coding, testing, access control and secure deployment to build robust and resilient applications
- Design and create data models for applications and databases to persist them
- Participate in software design meetings and analyze user needs to determine technical requirements
- Write technical specifications based on conceptual design and stated business requirements
- Develop and/or review development of test protocols for testing application before user acceptance with an emphasis on automated Unit Tests, Component Tests, and Scenario Tests
- Complete documentation and procedures for installation and maintenance
- May mentor or guide work of less experienced software development staff
- Remain current on industry standards in web development
- Perform additional related duties as assigned
Knowledge and Experience
- A Bachelor’s degree in Computer Engineering, Computer Science, or other related discipline; or equivalent combination of education and experience that is required for the specific job level.
- Experience working with development technologies such as Java, J2EE and JavaScript
- Experience with OAuth2, JWT, JWS, JWE, JWKS/certificates, signing and encryption
- Experience with Open API Specifications 3.0 (OAS or Swagger)
- Experience working with OpenShift container platform and developing microservices
- Experience with API documentation tools and formats, such as Swagger and Postman, to create API documentation that is comprehensive, accurate, and up to date
- Experience with Java frameworks such as Spring and Spring Boot
- Experience with modern front-end technologies such as React or Angular a plus
- Experience with RESTful services and SOAP Web services development
- Experience working with applications in the cloud such as AWS or Azure a plus
- Experience with Continuous Integration and Continuous Delivery (CI/CD) pipelines
- Experience with source code management tools such as Azure DevOps, TFS, Jira or Git
- Experience interacting with relational databases, such as MySQL, PostgreSQL, Oracle, or SQL Server
- Proficiency with development techniques such as Test-Driven Development, Unit Tests, Component Tests and/or Scenario Tests a plus
- Familiarity working in a Software Development Life Cycle (SDLC) leveraging Agile principles desired
- Experience working with software security platforms such as Snyk, and remediating security vulnerabilities
- Excellent analytical, decision-making and problem-solving skills
- Must be able to multitask in a fast-paced environment with focus on timeliness, documentation, and communications with peers and business users alike
- Ability to communicate well both verbally and in writing to technical and non-technical audiences of various levels insideor outside the organization (executives, regulators, clients, etc.)