Mobile Engineer (Senior)
Job Description
- Lead mobile application development, setting best practices and addressing complex needs across Android, iOS, and Linux platforms.
- Collaborate with cross-functional teams, including designers, QA, backend engineers, and product managers, to develop mobile solutions that align with user needs and technical requirements.
- Architect efficient, maintainable, and scalable codebases and mobile application structures, ensuring high performance and user-friendly experiences.
- Work closely with UX/UI designers to implement responsive, interactive interfaces, maintaining consistency and high standards.
- Troubleshoot, debug, and resolve application issues, running end-to-end and integration testing to identify and resolve bugs.
- Conduct code reviews and documentation to ensure code quality, maintainability, and adherence to best practices.
- Ensure application security and data privacy by implementing encryption, permission management, and robust security standards.
- Mentor junior developers, providing technical support and promoting a collaborative, growth-oriented team environment.
- Stay up-to-date with new technologies and mobile development trends, proactively incorporating advancements into the company’s development processes.
Job Requirements
- Graduate from Bachelor, Diploma 3, or Information Technology, Computer Science, Diploma 4 degree from or other related majors.
- Minimum of 2-4 years in mobile application development, with expertise in Flutter and additional frameworks such as React Native or Native Android/iOS.
- Strong knowledge of both Android and iOS platforms, including relevant APIs, frameworks, and tools.
- Strong understanding of data storage, specifically in local databases such as SQLite, Hive, Room, or Shared Preferences.
- Proficient in Clean Architecture principles, Dependency Injection, and familiar with SOLID principles and other design patterns.
- Ability to write readable, well-documented code and refactor existing code for readability and maintainability.
- Expertise in state management frameworks such as BloC, Provider, GetX, or GetIt.
- Skilled with Git, Jenkins, and other version control tools.
- Experienced with end-to-end testing or integration testing to ensure application quality.
- Knowledgeable in Linux OS environments (e.g., Ubuntu, Debian, Fedora), including system configuration, package management, and troubleshooting.
- Experience with third-party libraries and APIs for Android, iOS, and Linux.