About the Client
The customer has several on-going projects. Based on your previous experience and interest we can offer the ones that suit you best. We need both team lead and senior engineer-level candidates.
The Recruitment Process
Project requires top notch engineers to maintain high quality in the source code. Thus, there is a multi-stage recruitment process. 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.
Why You Should Apply
Unfortunately, nowadays ordinary projects are commonplace and usually don’t provide good opportunities to grow professionally at work, not after work. It's easy to land such a job. However, if you want to work in an international team on par with Facebook, Twitter, LinkedIN-level peer engineers, this vacancy is for you.
It’s your opportunity to grow as a professional developer while working on interesting and challenging projects and tasks. Moreover, it is also a great chance to start working on global projects that make a difference, and to see your code handle millions of requests per second and terabytes of data.
So if you really are looking for a new challenge, please see the job description for more information.
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.
Experience building against external APIs from Ad Servers. Google Doubleclick, Google AdWords, Facebook, Twitter, etc
Hadoop, Spark, Cassandra and Kafka