Senior Java Engineer

Senior Java Engineer Job Description Template

Our company is looking for a Senior Java Engineer to join our team.

Responsibilities:

  • Experience with any single page application;
  • Experience with unit testing tools like Junit, Mockito, Spock;
  • Help with software deployments and troubleshooting outside of normal hours;
  • Take part in design and technical discussions with multiple teams to tackle new features and resolve software problems that arise;
  • Defines and practices engineering best practice and lead his decision based on metrics;
  • Work with the team to evaluate & select technologies for new projects/requirements;
  • Learning new technologies and building integrations into many platforms;
  • Front-end and back-end development;
  • Researches, designs, and develops software systems;
  • Collaborate with both technical and business team members to understand requirements anddevelop solutions using an agile development process;
  • Full Stack development experience;
  • Incorporate business needs while defining architecture for the system with a short term and long term vision in mind;
  • Full stack java development;
  • Provide technical mentoring and leadership to more junior resources;
  • Create and lead a culture of quality, accountability, autonomy and open communication across the teams.

Requirements:

  • Experience with unit testing tools like Junit, Mockito, Spock;
  • Proficiency in server side Java programming;
  • Java 1.8;
  • Effective verbal and written communication skills with the ability to present complex technical information clearly and concisely;
  • Experience leading and influencing teams in design and development;
  • Ability to work with cross-functional team of internal and external resources;
  • 8+ years Software Development work experience;
  • Full stack development experience;
  • Experience with Agile/Scrum and balancing a process orientation with a results orientation to get things done efficiently and effectively;
  • Experience developing unit tests is required;
  • Understanding of lean principles and theirmanifestation in efficient software development practices is a plus;
  • Strong understanding of Data Structures, Algorithms, and Object Oriented design;
  • Solid Linux experience with networking and systems engineering skills;
  • Creative solving of technical problems to ensure the ability to translate technical requirements into test plans;
  • Excellent communicator (written and verbal): ability to read, write, speak and understand English.