About the job Senior Mobile Developer
Job Title: Senior Mobile Developer
Accountable to: VP of Engineering
Based: Centurion
Salary: Market-related
Contract type: Permanent
Commencement date: 01 August/September
Overview:
The primary purpose of this role is to lead the development and maintenance of high-quality mobile applications for both iOS and Android platforms. This role is essential in ensuring that mobile applications are designed and developed with optimal performance, usability, and scalability. The Senior Mobile Developer plays a critical role in mentoring junior developers, implementing best coding practices, and collaborating with cross-functional teams to deliver seamless and efficient mobile solutions. Familiarity with React Native and the Microsoft tech stack, particularly C# and .NET, is crucial for integrating backend services and enhancing the overall functionality of mobile applications.
Key responsibilities:
Main duties include brainstorming with the Business Analysis department to define the scope of projects, review requirements, and approve timeframes. Other responsibilities:
- App Development: Responsible for the end-to-end development of high-quality mobile applications for iOS and/or Android platforms. Ensure that applications are built with a strong emphasis on user experience, performance, and reliability. Ensure that the application design aligns with best practices and industry standards, including coding conventions, design patterns, and security protocols.
- Architecture Design: Create and implement scalable and efficient app architectures such as MVVM (Model-View-ViewModel), MVP (Model-View-Presenter), and MVC (Model-View-Controller). These architectures help ensure that applications are maintainable, extensible, and performant. Focus on creating a modular and reusable codebase that simplifies future enhancements and debugging processes, ensuring long-term maintainability and optimal performance.
- Intergration: Integrate mobile applications with backend services, RESTful APIs, and third-party libraries. Ensure seamless data flow and functionality between the app and backend systems. Evaluate, select, and integrate third-party libraries and SDKs that enhance app functionality and performance.
- UI/UX Design: Collaborate with UI/UX designers to implement design principles that enhance user experience. Ensure the app's interface is intuitive, visually appealing, and easy to navigate. Conduct usability testing to gather feedback and make iterative improvements to the app's design and functionality.
- Testing and Debugging: Implement comprehensive testing strategies, including unit tests, integration tests, and UI tests, to ensure the app's reliability and performance. Utilize debugging tools and techniques to identify, diagnose, and fix bugs and performance issues.
- Testing and Quality Assurance: Assist in the creation and execution of test plans, test cases, and user acceptance testing (UAT). Collaborate with testers and developers to ensure that implemented solutions meet the defined requirements. Participate in quality assurance processes, ensuring adherence to standards and best practices.
- Performance Optimization: Continuously monitor app performance and implement optimization techniques to improve memory usage, responsiveness, and load times. Focus on reducing load times and ensuring smooth transitions to enhance the overall user experience.
- Security: Implement secure coding practices to protect against common vulnerabilities and attacks such as SQL injection, XSS (Cross-Site Scripting), and CSRF (Cross-Site Request Forgery). Regularly review and update security protocols to ensure the app remains secure against emerging threats.
- Version Control: Utilize version control systems like Git to manage the codebase effectively. Ensure proper branching, merging, and versioning practices are followed to facilitate collaboration and code integrity. Utilize version control systems like Git to manage the codebase effectively. Ensure proper branching, merging, and versioning practices are followed to facilitate collaboration and code integrity.
- Compliance and Documentation: Ensure that applications comply with relevant regulatory standards, data protection laws, and industry regulations such as POPIA, GDPR, HIPAA, and or COPPA. Implement measures to protect user data and ensure privacy, including encryption and secure data storage practices. Maintain comprehensive and accurate documentation for code, APIs, technical specifications, and project-related materials.
- Team Leadership: Provide technical leadership and guidance to junior developers, fostering their professional growth and development. Mentor team members by sharing knowledge, conducting code reviews, and offering constructive feedback to improve their coding skills and understanding of best practices.
- Project Management: Oversee project timelines, resources, and deliverables to ensure projects are completed on time and within budget. Use project management tools and methodologies to track progress, identify risks, and implement mitigation strategies to ensure successful project outcomes.
- Cross-functional Collaboration: Work closely with designers, product managers, backend developers, and stakeholders to deliver cohesive and integrated solutions that meet user needs and business objectives. Apply Agile principles and methodologies such as Scrum or Kanban to manage project workflows and iterations effectively, ensuring timely delivery and continuous improvement.
Behavioural Skills:
- Strong attention to detail ensuring timely follow-up and closure
- Clear, concise, and articulate communication skills - verbal, written, and listening
- Ability to handle business-sensitive information with the highest degree of integrity
- Strong analytical skills to identify, diagnose, and resolve technical issues efficiently.
- Proactive in identifying opportunities for improvement and innovation
- Interpersonal skills
- Proactivity
- The ability to work independently with minimal supervision
- Time management
Qualification and Experience:
- Educational Background: Computer Science, Software Engineering, Information Technology, or a related field. A masters degree in a relevant field is not required but is considered adventitious.
- Experience: +5 years or more.
- The ideal candidate should be familiar with React Native and the Microsoft tech stack, which includes C# and .NET
- Technical Skills: Proficiency in React Native. Swift (iOS), Kotlin (Android) and Java will be advantageous. Must have in-depth knowledge of Cocoa Touch, Android SDK, and development tools such as Xcode and Android Studio. A strong understanding of mobile UI/UX design guidelines for both platforms is essential. Be skilled in integrating third-party APIs and libraries, understanding RESTful APIs, and working with backend services. Experience with mobile app architectures (MVVM, MVP, MVC) and design patterns, as well as proficiency with Git, is crucial. Competence in writing unit, integration, and UI tests using XCTest and Espresso, strong debugging skills with Android Studio Debugger and Xcode Instruments, and expertise in performance optimization, including memory management and multithreading, are also required.
- Leadership Skills: Possess strong leadership and teamwork qualities, mentoring junior developers and collaborating effectively with cross-functional teams. Excellent communication skills are essential for articulating technical concepts and making informed decisions on technology and design patterns. They should be skilled in conflict resolution, project management, and encouraging innovation. Taking ownership of the team's output, adapting to changing requirements, and providing a clear technical vision aligned with business goals are also crucial traits.
- Portfolio and Projects: Have a portfolio showcasing diverse, high-quality mobile applications for iOS and Android. It should highlight technical expertise, proficiency in React Native, contributions to open-source projects, innovative solutions, user-centric designs, backend integrations, and performance optimizations, with well-documented development processes.
*NOTE
Job Description:
Please note that this job description does not include all duties, responsibilities, or qualifications associated with the job. Additional duties may be assigned as required.
Application Process:
If you possess the necessary knowledge, skills, and qualifications for this position, we invite you to apply online by using the following link: https://www.careers-page.com/boxfusion-2.
The closing date for applications is July 30, 2024.
Please note that only shortlisted candidates will be contacted to proceed with the next step in the selection process, which includes a competency assessment. We appreciate the time and effort you have taken to apply for this position and thank you for your interest in Boxfusion.
The Recruitment Process
Hurdle 1- Skills Assessments
Hurdle 2- Job Focus Assessment (Basic Aptitude Test)
Hurdle 3- Video Interview
Hurdle 4- In-person Interview
The recruitment process takes roughly 3 weeks from first communication to offer letter, if successful.
Company Overview: https://www.boxfusion.co.za/