Position: Android developer
Company: GeeksForLess
Experience required: 2y
English level: intermediate

Project description: We are looking for and Android developer to join the team and be able to work independently on existing and new upcoming projects. 
Main Responsibilities:
Working on new features, updates and fixes for already developed/live projects with original developers as well as working on new projects.
Mandatory Requirements:
Programming languages:
- Java SE Strong
- Kotlin Basic

Environment and tools
- Android Studio 3.5 and higher
 
Frameworks:
- High level components (Activity, Service, Content Provider, Broadcast Receiver, Intents)
- Views System, Layouts (via XML, via code)
- Fragments
- Resources Management
- Media Frameworks
- Material Design Concepts
- Platform API, Support Libraries and Google Play services API concepts and differences
- Dependency Injection Framework(Dagger 2)
- Networking API - okhttp, (Retrofit - good to have)
- JSON Parsing framework(any), (GSON - good to have)
 
Experience:
- Good knowledge in Object Oriented concepts and software engineering 
- Experience on developing multi threading modules
- Good knowledge in database concepts and SQLite fundamentals
- Experience in development of rich UI components on Android platform
- Supporting different screen sizes and resolutions
- strong GOF patterns;
- SOLID Principles
- MVC
- RESTful APIs (JSON, XML)
- JIRA
- GIT
- basics of Regular expressions
- basics of html and CSS

Qualifications:
- 2 years OOP development;
- Understanding of mobile performance, latency, and security issues
- Comfortable with Android performance (memory, speed, networking) and experience using performance analysis tools
- Good experience with local caching and offline mode concepts