Position: Android Developer
Company: Сitrusdev
Experience required: 2y
English level: intermediate

Responsibilities

- Participate in technical discussions to find a right architecture/design solution;
- Perform engineering activities
- Provide time estimates and time/performance/quality tradeoffs to management;
- Provide design, implementation and complete testing of new features;
- Design interfaces and implementation to support reusability, testability, and modularity;
- Integrate with hardware devices (f.e.: Eddystone beacons - optional);
- Integration with back-end system (RESTFul API, JWT);

Requirements

- 2+ years of commercial software development experience;
- Experience with different back-end services integration using REST API / HTTP Requests / JSON;
- Experience with map engines (GIS, Polygons, Heatmaps, custom tile providers, GeoJSON);
- Experience with RxJava2, Retrofit2,  Dagger2;
- Good knowledge of OOAD, design patterns, API design principles, and architecture components;
- Excellent analytical, algorithmic and optimization skills;
- Familiarity with databases: SQLite, NoSQL;
- Self-motivated, well-organized, detail-oriented and a very strong team player;
- Upper-intermediate English.

Will be a plus

-Experience with integration with different hardware - controllers, sensors, beacons, etc;

We offer

You will be a member of the self-organized engineering Scrum team working according to the agile principles;
Your colleagues are talented engineers who like to code, create smart and simple solutions, explore new technologies and innovate;
As an engineer in the team, you can influence the product on all levels starting from usability, high-level technical architecture to implementation details;
Innovate using the latest web technologies to create best in class experiences for our customers.

If you think that you don't suite all the requirements but still want to try - please write detailed cover letter about your pros and cons about this position.