Senior Software Engineer
- Provide expertise on design, implementation, testing, and delivery of high-volume services.
- Collaborate with product management and the team while analyzing and decomposing complex software features into simpler stories for planning and execution.
- Collaborate with the team to manage and estimate the size and complexity of the features/stories. Perform the technical design, implementation, and testing of feature/stories and commit to what can be accomplished in an iteration.
- Be the technical leader for product features, responsible for ensuring that development activities are coordinated throughout the development cycle.
- Own system and feature quality throughout the development, testing and deployment phases to ensure quality delivery expectations are met.
- Drive value and build to continuously improve the quality of the team’s deliverables.
- Conduct new technology research, proof of concept, and design work that will provide direction for the enhancement of the overall system and products.
- Contribute to software engineering best practices for design, coding standards, performance, security, delivery, maintainability and culture.
- Demonstrate ownership of developed components from development through production.
•5+ years software engineering experience with expertise in Node.js, and developing and managing RESTful API applications with demonstrable production-scale experience.
•Authorized to work in the United States without sponsorship now or in the future.
•Bachelor of Science degree in Computer Science, similar technical field of study or equivalent practical experience.
- Retirement Services experience is a plus.
- Experience with CI/CD automation with Jenkins and other open source tools good to have.
- Springboot experience nice to have.
- Hands on experience with Cloud services (AWS, Azure).
- Demonstrated ability to lead or drive a project with sound technical and design skills.
- Demonstrated leadership and communication skills, including an ability to look forward and anticipate problems and assess risk.
- Excellent mentoring skills and the desire to contribute to efforts beyond the scope of the day-to-day project work.
- Advocate of unit testing, automation and test-driven development.
- Detailed understanding of Agile software engineering principles and methodologies.
- 4+ years performing object oriented design and demonstrable experience building backend applications with API services.
- 3+ years’ experience of working with container platforms especially with Docker.
- Expert knowledge of container orchestration platforms – Kubernetes and/or Swarm.
- Experience of automation of code deployment through the use of containers.
- Experience with web service protocols like SOAP, Rest, and JSON.
- Solid experience with microservices architecture and Domain driven design.
- Strong experience with one major database server, Oracle, SQL Server, DB2, or MySQL including database design and tuning query performance.
- Knowledge of build and deployment tools - Maven, Git, Jenkins.
- Working knowledge of Unix/Linux OS and Shell Scripts, understanding of communication protocols such as FTP, SFTP, FTPS etc.