Position: Senior Android Developer (relocate to Dubai - 6 months minimum)
Company: ELEKS
Experience required: 5y
English level: upper

**About Project**
We are working on a system for the public sector of Dubai.
The system is used for internal communication and document exchange between structural units of the organization — across departments and different management levels. 

**Requirements**
- 4+ years of work experience with Android
- Extensive experience developing Android applications in Kotlin
- Understanding of the full Android mobile development life cycle
- Sense of responsibility
- Ability to work in a team
- Upper-Intermediate level of English, good communication skills  

**Responsibilities**
- Develop solutions and algorithms according to technical specifications or other requirements documentation; use standard algorithms in the applicable cases.
- Write program code according to the defined application architecture.
- Structure and format the source code, comment and mark up the code, as well as name variables, functions, classes, data structures, and files according to the company conventions and industry best practices.
- Modify existing code and verify its functioning. Analyze code compliance with readability and performance standards.
- Use version control systems to track code optimization progress and to merge or split program code entities. Commit changes according to version control rules.
- Perform analysis, verification, and debugging of the software code at the level of application units.
- Detect defects, apply debugging methods and techniques, correctly interpret bug reports, as well as apply modern compilers, debuggers, and program code optimizers.
- Able to develop procedures for testing code availability, collecting diagnostic data, generating test data sets with necessary characteristics, identifying required software characteristics etc.
- Reproduce defects logged in an issue tracking system, identify defect causes, and then modify code to eliminate defects.
- Able to develop and document program interfaces, software module and component assembling procedures, software deployment and update procedures as well as data migration and transformation (conversion) procedures.
- Estimate and set up task completion terms independently.
- Evaluate and coordinate task deadlines with Technical Leader or Project Manager.
- May have valid competence-related certifications.
- Participate, both as a trainer or a trainee, in various learning programs outside the major project.
- Support and education of the customer team
- Work with migrations and integrations