Person should be able to analyze the existing frameworks, propose and discuss the architectural and technology solutions, provide proper level of development of new features, writing System/Unit tests. Should be a good team player to be able to work in Agile environment. Scope of tasks include back-end and front-end development.
- Requirement refinement, sprint planning and task estimations;
- Applications development;
- Developing unit/integration tests;
- Sometimes developing automation UI tests.
Must- Java core, Java 8 features
- OOP/OOD knowledge, design patterns;
- TDD, BDD notion,
- Unit testing frameworks (JUnit, Mockito)
- Spring framework, IOC, MVC;
- RESTfull services
- Java-based application servers (e.g. Tomcat, Resin);
- SQL knowledge, any RDBMS, Oracle is a plus;
- ORM, Hibernate in particular;
- Good written and spoken English, with proven ability to communicate ideas and to design and document artifacts in a clear and concise way.
Additional Skills / Knowledge (optional)
- Experience in finance/banking is a good plus;
- Experience with virtualization technologies (Docker, Vagrant) is a plus
- Unix administration experience;- Maven and Distributed SCM (GIT, Mercurial);
- CI tools experience is a good plus.
Nice to have-
- Russian: Advanced/Fluent
- English: Upper-intermediate
- Ukrainian: Native