Boxfusion Logo

Senior Mobile Developer

Boxfusion|Posted 1 month ago

Skills and experience

Role:Mobile engineer
Experience in role:4+ years
Language proficiency:English
Must-have skills:
    React Native
Nice-to-have skills:
    C#
    .NET

Location and salary

Remote policy:Hybrid
Location of job:Centurion, South Africa or Midrand, South Africa
Visa requirements:Authorised to work in South Africa With status of citizen/passport holder, permanent resident or work permit/visa holder
Visa sponsorship:Unable to sponsor visa
Employment type:Permanent

Role description

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 15th, 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/

About Boxfusion

51-200 employees

What we did (and still do)

We are a software development company that for the first 15 years of our existence has been maniacally focused on digitally transforming the public sector and enabling the most efficient and transparent government institutions in South Africa and beyond.

What we're doing

Having become arguably the most innovative and well respected software company in the public sector touching the lives of millions of citizens and over 130k public servants who use our software we are now setting our sights on new horizons.

We have been quietly working in the background partnering and incubating new ventures in AgriTech and in the Low-Code space which is changing how business applications are getting delivered. Shesha is an ambitious, open-source, low code development framework specifically targeted at .NET developers. It is the culmination of 15 years of experience of building complex and scalable enterprise applications and relentlessly trying to make that process easier. We believe it has the potential to make a big splash in the global .NET development space, and open up new avenues for Boxfusion tapping into an enormous international appetite for .NET based business application development services with a really differentiated offering (open source framework + low code + fully cloud-based delivery model).

Though Shesha is already extremely powerful and proven to reduce the amount of code required on our products and projects by over 80%, it is still in the early stages (the public launch is scheduled for Jan 2024), and raw in some areas. To make the impact and build the global community of users/developers it deserves, we still need to execute on an ambitious roadmap. For that, we need to expand the team with exceptional individuals, excited by the prospect of waking up every morning to solve complex technical challenges, contribute to an important open-source project, and the opportunity to potentially impact how business solutions get delivered globally.

Why Work For Us

To be challenged, grow, and contribute in a dynamic environment, tackling difficult problems through the use of cutting-edge technologies to make a meaningful impact.

  • We have a relaxed and flexible yet results-orientated culture
  • You will work with passionate, talented, and dedicated people
  • You will help build award-winning solutions as part of an award-winning company (Boxfusion has won Microsoft awards for the past two years running) that has global ambitions
  • You will grow and help others grow - We have a strong emphasis on growth and learning with time dedicated just to learning and teaching other Boxfusioners
  • If part of our Public Sector team, you will make an impact by delivering solutions that matter to millions of citizens in South Africa and beyond. If part of the Shesha team, you will have the opportunity to influence how thousands of .NET developers across the globe deliver solutions.

Our Culture

Boxfusion is a true reflection of what a modern South African technology firm aspires to be.

That is why we are very specific about the individuals that we bring into our team. We go out of our way to find individuals that mirror our drive for excellence and have an innate desire to get things done, and see their work impact the world.

We are growing at a rapid pace and we are looking to bring in a diverse group of individuals to help us innovate and strengthen the core team and the future of our amazing product offering.

At Boxfusion hard work and dedication get rewarded and all team members are given an opportunity to show their strengths and learn. That is why we give everybody the opportunity to dig in on all aspects of our product delivery pipeline. If you are interested in working on multiple platforms from mobile, web, devops, testing, etc. you will not be out of place at our company.

We have a very vibrant environment where we encourage all teams to interact and socialise over a game of ping pong or pool when things get tough and every three months we have our customary Boxfusion day where we encourage all employees to let loose and enjoy each others company outside of the office. If you are looking to be challenged in the morning and cool down over a game of pool to clear your mind in the afternoon then you are definitely a fit for our company.

Our organisation structure is very transparent and all employees regularly get to interact with and get to know the leadership of the company. We are currently at around 140 Boxfusioners and growing.

Our Engineering Processes

All of our products and client-specific projects are built on-top of our home-grown Shesha framework which has been open sourced.

At a high-level the development team is split into two main groups:

  1. The Shesha Framework group - Responsible for the ongoing maintenance and enhancement of the underlying framework to make it the most productive open-source application development framework available for .NET developers. With that in mind, they engage with the delivery teams and open-source community daily to drive the framework roadmap.
  2. The Delivery group - The Delivery group is itself split up into Squads which are cross-functional teams, typically ranging from 3 to 12 members, including project managers, analysts, developers and testers, focused on creating or enhancing our amazing products or bespoke customer solutions.

We employ an agile development methodology managed on Azure DevOps and GitHub to manage all work items, automated build and release pipelines and testing.

We are Microsoft Gold Application Development partner so our technology stack tends to be Microsoft and Azure centric with a good set of open-source libraries and tools to top it up. We strive to take advantage of the latest technologies and tooling to keep our skills relevant and products on the cutting edge.

In general, as a product centric software development organisation, we care deeply about the quality of our solutions as they have to be architected with long-term maintainability, flexibility and scalability in mind.

For our web front-end we use React, Next.Js with a bunch of associated libraries. On the mobile side we use primarily ReactNative as the core technology and AppCenter for monitoring and management. On the back-end we predominantly rely on C# on ASP.NET Core and Python on the data/AI focused work. Sql Server and MongoDB being our databases of choice but with a gradual move towards PostgreSql.

The majority of our solutions get deployed and managed on the Azure cloud and integrating some cool AI capabilities using Azure Cognitive services into our product set.

Our Hiring Process

For Dev roles we have a two stage hiring process:

  • Stage 1 - Remote interview over Zoom consisting of:
  • 30-45 mins - Intro and cultural fit interview: We try to get to know you better and figure out whether we would be a good fit from a culture/values perspective. We'll naturally share more about Boxfusion, where it comes from, what we do, how we do it, and our aspirations.
  • 60-90 mins - Technical testing and Psychometrics

After the Stage 1 interview we review the results and strive to get back to you within 24 hours to confirm progression to the second stage 2.

  • Stage 2 - On-site Visit and Assessment
  • 2 hrs - Technical Interview: Interactive technical interview and assessment with some of our senior developers. It's also your chance to check-out our environment and interact with our people and make sure it's the kind of place you can see yourself working in.

Perks at Boxfusion

Remote working option
Annual Xmas bonus based on company and personal performance
Obligatory pool and table tennis facilities :)
Flexible working hours
No dress code
Medical aid

Tech Stack

application and data

PostgreSQL
PostgreSQL
Javascript
Javascript
React
React
RabbitMQ
RabbitMQ
MongoDB
MongoDB
HTML5
HTML5
C#
C#
Microsoft Azure
Microsoft Azure
ASP.NET
ASP.NET
MS SQL
MS SQL
TypeScript
TypeScript
React Native
React Native
AI Platform
AI Platform
Next.js
Next.js
.NET Core
.NET Core

dev ops

GitHub
GitHub
Git
Git
Selenium
Selenium
New Relic
New Relic
npm
npm
Kubernetes
Kubernetes
Terraform
Terraform
SonarQube
SonarQube
Azure DevOps
Azure DevOps

business tool

Google Apps
Google Apps
Trello
Trello
Microsoft Teams
Microsoft Teams

Office Photos

Office photo
The team
Office photo
Office photo
Office photo
Office photo

Similar jobs on OfferZen: