Required skills:
— 3+ in Java/J2EE/Vaadin application development using Spring Framework as a mandatory requirement:
must have strong working experience in backend development using Java, Vaadin, Jdbc, Spring Boot (MVC, Data, Security), Hibernate, etc.
— knowledge of different communication protocols (REST, SOAP, events, messaging);
— hands-on experience with unit/integration/API testing for microservices;
— you must know the latest J2EE technologies and frameworks like Restful Web Services (JSON and XML);
— must have strong working experience on Java IDEs like Eclipse, or STS and Build and version control tools like Maven, Ant, SVN, Github, etc.;
— must have strong hands-on experience with one or more relational databases such as MySQL, SQL Server, Oracle, MongoDB, etc.;
— knowing other J2EE technologies like Spring MVC, Servlets, JSPs, HTML5, CSS3, Bootstrap, JQuery, etc, will be a plus and will give an advantage;
— must have strong analytical skills and the ability to write complex business logic per Industry Best Practices;
— must have good knowledge of various Java, J2EE, and Spring design patterns (participation in full software development life cycle (SDLC) projects) and can design the backend for a web application or module from scratch;
— should have strong written and verbal communication skills and excellent aptitude;
— should be able to work in a team as a member and lead at times;
— basic managerial skills for managing younger specialists and the development process, assistance (if necessary);
Responsibilities:
— work with Architect and Analyst to design and develop new solutions;
— conduct software requirements analysis;
— to take part in software and architectural development activities;
— developing high-quality, testable, and high-performant software;
— build on the current technology stack and implement optimal solutions in terms of efficiency and interaction;
— identifying production and non-production application issues;
— recommend changes to improve established Java application processes;
— code review;
— support product deployment and enhance the quality of software modules by monitoring and analysis;
— consult with other engineering staff to evaluate the interface between various software modules and to provide visibility;
— taking full responsibility for the results of one’s work;