About the Role
As a Senior Mobile Developer, you will play a key role in designing, developing, and maintaining scalable mobile applications. You will lead technical projects, guide the development team through complex challenges, and ensure delivery of high-quality solutions. Your responsibilities include both front-end and back-end development, working with stakeholders to translate requirements into technical specifications, and mentoring the development team. Your expertise in modern programming languages, frameworks, and cloud platforms, along with strong problem-solving skills and a passion for innovation, will be crucial to your success in this role.
Responsibilities
- Design, develop, and maintain scalable and efficient mobile applications, both on the front-end and back-end, using appropriate technologies, frameworks and programming languages.
- Serve as a core developer and subject matter expert in mobile application development, resolving complex technical issues and providing guidance to the development team.
- Collaborate proactively with stakeholders, vendors and/or external parties to gather requirements and information, focusing on developing high-quality mobile applications and solutions.
- Analyse requirements and translate them into technical designs, specifications, documentation and implementation plans.
- Implement mobile applications with a focus on usability and responsiveness using modern mobile application frameworks such as React Native and Flutter.
- Prepare builds and publish apps to Apple App Store, Google Play Store and Huawei AppGallery including handling app store review feedback, submission or compliance issues.
- Develop APIs using programming languages such as PHP, Java, JavaScript and C#, ensuring high performance, scalability, robustness and security.
- Setup, containerize and deploy applications to cloud infrastructure such as Azure, Kubernetes, and Huawei Cloud.
- Monitor, optimize, debug and improve application and infrastructure performance, stability and security.
- Ensure code quality through version control process and maintaining CI/CD pipelines using tools such as Azure DevOps, Git, Jenkins, and Ansible.
- Design, optimize and maintain relational and NoSQL databases.
- Prepare test scripts and perform testing for each solution being produced to ensure that bugs are identified and corrected accordingly, and software quality is maintained.
- Troubleshoot and resolve production and deployment issues and performing root cause analysis.
- Prepare user guides, training materials, and conduct training sessions for end-users, customers, system administrators, and support personnel as required.
Qualifications
- Minimum a Bachelor’s degree in Computer Science, Software Engineering, Information Technology, or a related field.
- Minimum of 8 years of experience in software development specializing in mobile application development, with at least 2 years in a senior/lead role.
- Proven experience in designing and developing large-scale, complex mobile applications or systems, including front-end, back-end, user interfaces, and databases.
- Strong understanding of the Software Development Life Cycle (SDLC), as well as Agile and DevOps methodologies.
- Experience working in a fast-paced, client-facing environment.
Required Skills
- Proficiency in developing cross-platform mobile applications using React Native and Flutter.
- Hands-on experience in publishing apps to Apple App Store, Google Play Store and Huawei AppGallery including handling app store review feedback, submission or compliance issues.
- Extensive experience in building, maintaining, and optimizing applications using PHP, Java and JavaScript (Node.js). Familiarity with other programming languages such as C# (.NET Core) is advantageous.
- Strong experience working with relational databases such as SQL Server and PostgreSQL. Experience with NoSQL databases such as MongoDB is advantageous.
- Hands-on experience in automating tasks and managing systems through scripting such as Bash (Linux), PowerShell and Batch (Windows).
- Proficiency in using Git for version control, including branching, merging, and managing code repositories in a collaborative environment.
- Hands-on experience in containerizing applications and deploying them to Azure and Kubernetes cloud services. Familiarity with other cloud platforms such as Huawei Cloud, GCP, and AWS is a plus.
- Experience in managing and using messaging queues on RabbitMQ platform. Familiarity with event-driven platforms such as Kafka will be advantageous but not required.
- Practical experience in setting up and managing CI/CD pipelines using tools such as Azure DevOps, Jenkins and Ansible.
- Solid understanding of programming paradigms:
- REST, OpenAPI and OAuth2.0
- Synchronous and Asynchronous Communication
- Microservices