Sr. Java Engineer

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.