Sr. Java Engineer Job Description Template
Our company is looking for a Sr. Java Engineer to join our team.
Responsibilities:
- Helping to implement proof of concepts for new technologies;
- Designing and writing software optimized for readability, maintainability and testability;
- Promoting high quality communication and collaboration on our cross functional team;
- Embodying our corporate values of human centricity, integrity, curiosity, passion, courage and impact;
- Implementing and maintaining unit test coverage for the Web Service layer;
- Building a deep and nuanced understanding of the residential solar domain and how S;
- Building and maintaining composite and micro services in Java/Spring;
- Design and implement cross team micro services for common functionality;
- Our business model is differentiated in the industry;
- Working closely with Product Owners to help gather and refine requirements for upcoming stories;
- Applying a systems thinking mindset to your work;
- Understanding when or when not use industry standard design patterns or practices;
- Maintaining operational stability of software systems from development through to production.
Requirements:
- 3+ years experience constructing systems by composing smaller components. The breadth could include SOA, Microservices, and Functional Programming;
- 5+ years experience in Java technologies;
- At least 5 years in professional software development, including working in teams;
- Experience using Junit/Mockito for unit testing;
- Experience working inBootstrap/AngularJS;
- Strong Java/J2EE foundation with knowledge of SQL and database designprinciples;
- Experience in sunsetting / migrating large legacy applications to modern stacks;
- Maven build experience;
- Experience at all levels of the testing pyramid (unit, integration, and system tests;
- Database design, using databases such as Oracle, PostGres, OLAP, NoSQL data stores;
- Strong experience in developing and maintaining complex applications in Java (especially JEE experience will be given significant preference);
- Experience using Spring framework;
- 2+ years of professional Java development experience;
- Experience with API Tooling such as Swagger / OpenAPI;
- Application frameworks such as EJB, Spring MVC Framework, andHibernate.