We are looking for a Lead Android Engineer to lead our Android projects & Features, someone who will be able to handle multiple small projects and will be responsible for the implementation and delivery of these projects, Independently solve technical issues, and be able to interact with the team on a regular basis. You will be part of a talented software team. You have to consistently deliver in a fast paced environment and should be more than willing to build software that people love to use. This is a core Technical role.
The individual role that you’ll play in our team:
- Developing large Android applications using RESTful JSON API
- Understanding the latest Android architectures like MVVM, data-binding etc.
- Ensuring app compatibility in multiple platform versions.
- Introducing the latest UX best practices to the App Development workflow.
- Working closely with the Product managers and UX team.
- Helping QAs to write automated integration tests.
- Staying up-to-date with current and future Android technologies and architectures.
- Defines develop and maintain code for software applications using established project methodology and guidelines. Implements design and testing processes for the successful implementation of new or changed software applications. Focuses on innovation and quality.
- Software Development: Designs, analyzes, writes, tests and documents code for new or existing software applications. Creates application specifications, diagrams, flow charts and other documentation to support the design and development if needed. Develops innovative technical designs and collaborates with team members to develop and maintain code quality and standards
- Technical Expertise: Maintaining technical knowledge and best practices with a focus on researching and making recommendations for emerging and future technology trends. Solves business and technical problems by leveraging expertise and technology from across the organization.
- Innovation: Rapidly assimilates and learns new information and encourages information sharing. Synthesizes information from multiple sources into a meaningful representation of how change and innovation will create improvement. Generates new ideas, approaches or solutions that can be introduced to existing processes or to new systems.
- Results Focus: Drives for results and define how success will be measured. Identifies and organizes the tools and resources needed to accomplish tasks. Contingency plans to anticipate and work around barriers to task completion. Pushes through challenges to achieve results.
- Issue Resolution: Proactively works with peers, managers, and clients to research and resolve issues in software applications. Enjoys troubleshooting and problem-solving. Read the ‘Skills and Experience’ section, it is not the usual yada yada, you’ll be asked specific questions on these.
Skills and Experience
- At least 6+ years experience in building Android mobile applications.
- Strong Core Java (Data Structures, Design Patterns and Multi-threading).
- Understanding the best practices of Android Application Architecture (MVVM / RxJava).
- Understanding of Google’s Android design principles and interface guidelines
- RxJava, Retrofit, OkHttp, Dagger and Functional Reactive programming concepts.
- Hands on experience in using Retrofit or Volley networking library
- Hands on experience in using Glide / Picasso Image Loading Libraries.
- Ability to write Custom View Components
- Hands-on knowledge using Service, Broadcast Receivers and other Android components.
- Complete understanding of Android Activity Lifecycle.
- Good understanding of SQLite and incremental DB migration strategies.
- Hands on experience in using Google Play Services library.
- Android Push Notifications using GCM or CCS.
- Internationalization (i18n) in Android.
- Understanding App Stand-By and Doze mode in Android M and the impact areas.
- Android Alarm Manager or the new JobService.
- Proficient understanding of code versioning tools, such as Git
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks.
- Nice to have is MDM, MAM, Launcher application experience.
- Working experience in Samsung Knox or Android Device Admin APIs.
- Websocket and Real-time communication in Android.
- Experience in using Google Guava library.
- Material Design Guidelines and related UI conventions.