Description
Responsibilities:
- Requirements Elicitation, Understanding, Analysis, & Management: Understand the requirements/stories, and perform the appropriate gap analysis for a platform/technology. Ability to understand business needs, translate them into technical requirements, and develop technology solutions.
- Participation in Sprint Planning and Sprint Status: Participate in sprint planning meetings by estimating the tasks to design, build, and development test software. Attend daily huddles to report progress and barriers to progress.
- Design/Development/Development Testing: Design technology solutions that effectively meet the requirements and capture these designs in lightweight documentation that is easily understood by the development team. Develop and test the software according to the functional specifications and planned design, ensuring maintainability and following appropriate coding standards. Must have the ability to work independently and as part of an overall project team.
- Testing & Debugging: Complete development testing within each sprint according to acceptance criteria and system component integration needs.
- Also work closely with the Solution Quality Analysts by providing debugging and testing assistance as needed to meet sprint objectives.
- Documentation and Deployment: Create appropriate technical documentation to support and maintain the solution (which will be a combination of standalone specifications as well as proper coding standards with meaningful structure and naming).
- Also assist as needed in end-user documentation for the products’ customers.
Requirements:
- Experience of 5+ years of full lifecycle development (minimum of 2 yrs using Java).
- Bachelor’s degree (with preferred concentrations in Computer Science, MIS, Engineering) or equivalent work experience.
- Master’s Degree in related areas a plus.
- Systems analysis and functional design.
- OO design principles, system development methodologies and software lifecycles.
- Significant experience in two or more of the following core technology areas.
- Java/J2EE, Spring, Spring Boot.
- System integration using synchronous and asynchronous protocols including SOAP, REST, IBM MQ, JMS, Kafka, or other distributed streaming technology
- Microservices concepts and frameworks.
- HTML5 / Angular.
- Scripting, markup and "meta" languages.
- Database concepts, database design and data modeling (Relational and noSQL database)
- Cloud services (IaaS, serverless) and providers (AWS/Azure/Google).
Working knowledge of operational needs for enterprise software solutions, including:
- Security.
- Performance / scalability.
- Maintainability.
- Deployment.
- Agile processes.
- Must be able to identify “good-fit” technologies, and demonstrate their adaptation effectively.
- Must be able to clearly communicate complex technical concepts to a non-technical audience.
Areas of preferred expertise:
- Knowledge of document management/composition, customer communications management (CCM), print/fulfillment, and relevant technologies/tooling is a plus.
- Experience with Application Programming Interface (API).
- Scrummaster experience.
- Experience developing for defined contribution (or other wealth) plans (401k) a plus.
Other Information:
The Sr. Application Development Tech Lead is responsible for complete design, development, and development testing for Java software projects. The Lead may also be responsible for estimating efforts, planning projects, coaching other team members, and performing quality reviews. The Lead should be deep in his/her technology skills, especially with Java and web services, and have learning agility and versatility outside his/her specialty to improve ongoing delivery. The Lead should also have a team-first mentality and be willing to help other team members to improve the delivery succes