About the Job:
Reporting to the Technical Management Manager, the Java Lead developer will be responsible for guiding a team of developers to building and delivering high quality software. They will work closely with our architecture during design phases, and will also be instrumental in the development and maintenance of the software governance frameworks. This role will require a high level of skill in hands-on coding, as well as the ability to lead and mentor a team of developers with varying skill levels.
Essential Job Functions:
- Develop clean, maintainable, testable, java code.
- Embrace the established standards and best practices that currently exist for java applications, and contribute ideas in these areas to keep our technology moving forward
- Collaborate and communicate effectively and efficiently with otherdevelopers on the team to achieve the highest quality code & product
- Report status and work progress to project manager and technical lead as requested
- Create technical documentation as required in the form of UML diagrams, technical specifications, and project artifacts
- Assist/Mentor otherdevelopers on the team in software development best practices
Required Experience / Skills
- Bachelor’s degree in Computer/Information Science or Information Systems Management or equivalent experience
- Minimum of 7-10 years experience in Java/JEE based applications and development
- Minimum of 2 years experience in a lead development role.
- Experience using the following software frameworks/concepts: Client side MVC, Spring, Hibernate, Junit, Maven, microservices, SOAP/Rest frameworks, JMS, Hysterix, Trunk based development, Jersey and/or Spring MVC
- Experience in Linux/Unix/Mac OS X based environments, comfortable working with command line tools & scripting
- Experience with the following tools & technologies: Docker, Jenkins, Selenium, GIT, Swagger, Eclipse, Tomcat, SonarQube,
- Experience with Continuous Integration/Continuous Delivery environment, utilizing automated testing, as well as Test Driven Development
- Experience working on teams that have employed agile and lean methodologies.
- Experience with client side UI frameworks like AngularJS and how these integrate into a REST services framework.
- Experience working with mainframe & banking software systems desired but not required.