Position: Middle Android Engineer
Company: Romexsoft
Experience required: 3y
English level: upper

**Description**

We are looking for a talented Android Engineer who focuses on end result of their work, has a good sense of humor and takes pride in quality of their craft.

**About Romexsoft:** Our mission is to help customer-centric companies build and grow cloud-based businesses on AWS by building dedicated teams and delivering managed services and projects to our clients.

**Requirements to the Candidates (Must Have):**

• 3+ years of experience of programming for Android (Kotlin)
• Solid understanding of the Android OS ecosystem and full mobile development life cycle
• Strong knowledge of Android SDK, Core Java, Kotlin, and JavaScript (optionally)
• Good knowledge of common design patterns (GoF), Clean Code, SOLID • and OOP principles
• Good knowledge of UI architecture approaches (MVVM, MVP)
• Understanding of an Activity and Fragment lifecycle
• Understanding of Android Architecture Components
• Understanding of Android Navigation Component (single activity architecture)
• Experience with collections, multithreading, background processing
• Experience and ability to design and implement custom adaptive UI components according to design
• Experience with client-server communication RESTful APIs (JSON, OAuth) and networking
• Experience with ORM, SQLite database and encryption library (ROOM, SQLCipher). Ability to understand business requirements and implementing complex business logic
• Ability to work with version control system (Bitbucket) and issue trackers (JIRA)
• Experience with Gradle;
• English - good intermediate level (enough for reading/writing specifications)
• Familiarity with Agile (Scrum / Kanban)

**Requirements to the Candidates (Nice to Have):**

• Experience developing application with full featured Calendar UI widget
• Experience with Unit Testing and UI Testing
• Ability to implement Continuous Integration (Jenkins)
• Experience with submitting apps to Play Market

**Job Responsibilities:**

• Support and improve quality and performance of the existing apps
• Defining, building, and shipping new features and maintaining/refactoring • existing code
• Work with other developers to build mobile solutions
• Collaborate closely with QA to refine features and use-cases
• Supporting QA team during the testing phase
• Participating in daily stand-up, story time, planning, retrospective sessions

**Benefits:**

• Long-term project (12m+) with great customer
• Democratic management style & friendly environment
• Team of professionals;
• Flexible working schedule;
• Possibility to work remotely;
• Opportunities for professional development and personal growth;
• Competitive compensation;
• Regular assessments and salary reviews;
• Compensation of educational activities: certifications, courses, conferences;
• Paid vacation according to the Ukrainian laws;
• Paid sick leaves, sport and health activities compensation;
• Compensation for English classes;
• Regular team-building events and enjoyable working environment;
• Company online activities;
• Business trip support;