We are looking for the best candidates with 5+ years experience with Java.
The recruitment process consists of the following steps:
Small take-home coding assignment (should not take more than 1-2 hours).
... Technical interview in English\Russian with our company
Technical interview in English with Customer
Online coding assignment with Customer
Coding Assignment Guidelines
We are looking for:
the existence of unit tests
passing unit tests
an appropriate level of complexity given the size of the problem, i.e. not using a large number of external dependencies, not an overly elaborate design, not a single file with a bunch of if statements, etc.
reasonable code readability
What it comes down to is following modern Java best practices and demonstrating an ability to make good decisions about abstractions and design given the size of the problem space.
... Primary Responsibilities
Be an end-to-end owner of software services spanning technology boundaries, departments, and companies
Assist in interpreting business requirements into technical designs and project plans
Design data schema and object models to support the services
Build API services and systems using internal and external APIs
Build API services and to expose CRUD and ETL models to internal/external systems
Write production-ready code, unit, functional, and integration tests
Write documentation of how the services work for internal and external developers
Respond to feature requests, bug reports, performance issues and ad-hoc questions
Work collaboratively with multiple teams to deliver quality software
Support operation of services in production
Able to balance high-quality development with pragmatism and rapid delivery of products
Be a creative problem-solver who can draw on an array of expertise and technology to design and implement reliable, scalable and maintainable solutions to challenging problems
Attention to detail
5+ years’ Java Development experience
Experience building and operating large-scale, robust enterprise server applications
Expertise programming SQL queries and stored procedures (MySQL is a plus)
Experience working in a Linux environment
Experience with Java API frameworks like Spring
Experience with JSON API protocols
Familiarity with the HTTP protocol including headers
Fluent written/spoken English
Nice to Have
Experience with XML APIs
Experience with git version control, code review process, and a continuous integration platform.