Android Developer

Job description

About Snapp

Snapp is the pioneer provider of ride-hailing mobile solutions in Iran that connects smartphone owners in need of a ride to Snapp drivers who use their private cars offering transportation services. We are ambitious, passionate, engaged, and excited about pushing the boundaries of the transportation industry to new frontiers and be the first choice of each user in Iran.


Responsibilities:

  • Develop and maintain native Snapp! android applications.
  • Communicating with product/tech teams in a productive way to build exciting features which satisfy our user's requirements.
  • Keep code maintainable through extensive documentation and automated tests.
  • Implement modular architecture to enhance application scalability and maintainability.
  • Ensure the best possible performance, quality and responsiveness of the application are met
  • Employ advanced coding practices for error handling, fault tolerance and robust app performance.
  • Troubleshoots bugs and documents errors.
  • Performs test runs and iterative development processes.
  • Participates in the full software development cycle.

Requirements

  • +3 years of experience developing native Android applications in high growth tech companies
  • Strong and effective communication skills
  • Proficient in English language (research, documentation, speaking)
  • Self-organized but team-oriented
  • Experienced using design and architectural patterns
  • Experienced in developing android projects with modular architecture
  • Ability to write clean and well-documented code
  • Advanced knowledge of Kotlin and Java
  • Experienced with unit testing
  • Deep understanding of Dependency Injection
  • Experienced with Concurrency and Reactive Programming
  • Strong knowledge of Android UI design principles, patterns and best practices
  • Proficiency in using Android SDK
  • Proficient understanding of code versioning tools, such as Git

Preferred Skills
- Experience in app performance tuning and quality optimization.
- Proficient understanding of continuous integration and deployment (CI/CD) practices.
- Familiarity with modern Android development tools and the evolving landscape of Android development.