Job Description
We are looking for a Mobile Software Engineer who has experience in Android development. The successful applicant will be responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices. Your primary focus will be the development of Android applications and their integration with back-end services. You will be collaborating alongside other engineers and developers who are working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
Primary Focus
- Design and develop user-centric, high-performance, and secure Android applications that address user needs effectively.
- Translate UI/UX designs into functional and visually appealing Android user interfaces using primarily Kotlin/Java (or other approved Android development languages as needed).
- Optimize applications for efficient resource utilization and responsiveness to user interactions.
- As project requirements dictate, evaluate the need to update existing Java code to Kotlin or Kotlin code to Java, ensuring maintainability and best practices are followed.
Main Responsibilities
- Architect, develop, test, and deploy high-quality Android applications using the latest Android development tools and languages (e.g., Android SDK, Jetpack libraries, and others).
- Proactively identify, diagnose, and resolve code defects and performance issues without sacrificing timeline.
- Design and implement scalable, maintainable code structures following secure best practices for the chosen Android development language(s).
- Collaborate effectively with cross-functional teams (UX/UI designers, backend developers, product managers, QA testers) to deliver successful projects.
- Research and evaluate new Android technologies, libraries, and tools to enhance development processes.
- Write unit tests to ensure the functionality and reliability of developed code modules.
- Work closely with the QA team to ensure the quality, stability, and reliability of Android projects.
- Provide regular progress updates to the team, highlighting achievements and potential blockers.
- Accurately estimate project timelines and communicate any changes promptly.
- Report to the Project Lead, Team Lead, and CSM for Technology on a regular basis.
- Contribute to the growth of the team by mentoring junior developers in Android development and best practices with Kotlin/Java (or other approved languages).
- Participate in knowledge-sharing sessions and provide guidance to colleagues on new technologies and approaches.
- Ensure all assigned modules/features are completed within agreed-upon scope estimates. Strive to complete all assigned modules/features within a sprint to avoid carry-over to subsequent sprints.
- Build solution designs and developed modules that are 100% compliant with project specifications and internal quality control standards
- Use collaboration tools for development, communication, UX/UI, API, project management, and code deployment to ascertain the timely delivery of project deliverables.
- Present work output to the Management, project leads, CSM for Technology, Team leader, and clients effectively.
- Integrate secure coding practices throughout the development lifecycle to mitigate vulnerabilities.
- Stay up-to-date on the latest Android security threats and best practices.
- Effectively utilize Git for version control, maintaining a clean and well-organized codebase.
- Implement robust backup procedures to ensure the safety and recoverability of project data and code.
- Collaborate with DevOps or operations teams to effectively deploy developed Android applications to production environments.
- Monitor application performance and user feedback in production to identify areas for improvement.
- Participate in the development and implementation of bug fixes and feature updates for deployed applications.
- Follow best practices for continuous integration and continuous delivery (CI/CD) to streamline the deployment process.
Minimum Requirements/Qualifications
- BS/MS degree in Computer Science, IT, Engineering, or other related courses
- At least 3 years of working experience in Android Java or Kotlin application development
- Expert proficiency in Android Application Development
- Have published at least one original Android app
- Experience working with remote data via REST and JSON
- Experience with third-party libraries and APIs
- Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Solid understanding of the full mobile development life cycle.
- Familiarity with Android SDK, Jetpack Libraries
- Knowledge of UI/UX design principles for mobile applications
- Understanding different project structures, such as MVVM or MVP
*** Our hybrid work model is designed to give you the best of both worlds—flexibility and face-to-face collaboration. Employees are required to be present in the office on Tuesdays and Wednesdays each week. This means you’ll be in the office at least two days a week, and work remotely on the other days. This approach helps us stay connected as a team.
Working at Propelrr
Find out what our team members have to say about their work at Propelrr.