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.