Job Title

Senior Python Software Engineer

Back to jobs
Market Related
Area:
Sector: Healthcare / Pharmaceutical
Posted: 7 August 2024

Job Details

Job title: Senior Software Engineer (Python)

Reporting to: Engineering Delivery Lead

Location: Johannesburg Rosebank or remote (South Africa based)

Start date: ASAP

 

ABOUT HEALTHFORCE

 

Healthforce is a customer-centric healthtech company seeking to lower the cost of quality care. We solve systemic problems in the healthcare system through the combination of technology and people.

 

At the moment,  we are building 3 products

 

■ Healthforce Clinic

 A patient management and telemedicine app that enables nurses in +500 pharmacy clinics across South Africa to manage patient’s health as well as videocall a doctor for advice, scripts and sick notes. Visit any Dis-Chem clinic and ask the nurse about Healthforce has changed their lives. 

 

■ Kena

An Android and iOS app that extends our care to anyone in South Africa with a smartphone. Videocall a nurse, doctor or mental health professional for only R185 from the comfort of your phone. Winner of the MTN app of the year.  

 

■ Brix pharmacy 

In partnership with Dis-Chem, we are building a massive dispensing system that will bring all Dis-Chem pharmacists into the team-based healthcare model and manage millions of transactions a month, securely and easily. 

 

Healthforce is a lean, low ego, highly skilled team of multidisciplinary experts, including people from healthcare, product, engineering, analytics, organisational development, and training.  We are relentlessly focused on our end customers, starting with what they need and working as a team to deliver from there. We promise to make it easy for them, to provide care patients love and to be the best value in town. Our team makes use of modern product development and delivery tools and practices.

 

THE ROLE

 

This role is in the Brix team as a Senior Software Engineer (In Python)

WHAT YOU WILL BE DOING

 

Develop high-quality software. You will research, design, and implement high-quality software with a tremendous bias towards efficiency, maintainability and extensibility. This will include implementing unit tests and supporting quality assurance procedures.

 

Collaboration. You will work closely with other engineers, product managers, business analysts, product designers and various other stakeholders across the organisation to understand the problem and provide insightful input on how to design the best software solution. 

 

Peer support of other engineers. You will work with your fellow engineers, participating in code reviews, providing feedback to your peers and, where you are more knowledgeable, provide mentorship to others.

 

Continuous improvement. You will advocate for and introduce improvements to our development, testing, CI, automation and architecture. This will include improving the engineering team’s coding best practices and processes.

 

Support deployed applications. We are always proactive in considering the experience of the customer. You will do the same by swiftly attending to and resolving issues experienced in production. 

 

TECH CHALLENGES

As we learn and grow we uncover more about the interesting engineering challenges in Brix. At the moment our teams’ favourite challenges are:


Hybrid Cloud Infrastructure

We are seamlessly combining cloud infrastructure with offline-capable, on-premises solutions. Using AWS to centralise data while relying on on-premises systems for real-time operations helps us mitigate issues caused by slow South African internet and load shedding. 

 

Keyboard-first approach (with Electron)

Our team is embarking on an innovative large scale product that prioritises keyboard functionality over the more common touch (on mobile) and mouse (on desktop and laptop) interfaces.

Large-Scale Integration with real-time syncing

​​One of the key aspects of this project is managing centralised server operations that can scale up or down based on load requirements. This ensures optimal performance and resource utilisation, allowing us to handle varying demands efficiently. The scale of managing and deploying 500 stores, each with its own hardware and devices, from a central location is a monumental undertaking. Not only do we have to manage this at scale, we need to ensure that the data across the 500 stores is updated within seconds, allowing patient information to be loaded and distributed almost instantaneously.

 

Using Angular to its fullest

We are using Angular in many exciting ways, but two examples are our comprehensive custom component library and refactoring authentication. We can explain more when we chat. 

 

Modern hardware integrations

We’re integrating a wide variety of hardware devices like fingerprint readers, printers, label printers, barcode readers, mag readers, scanners, and possibly even webcams. Each device from different manufacturers presents its unique challenges, providing endless opportunities to learn and grow in this area.

 

 

CULTURE

 

Healthforce’s culture is central to how we do things. Specifically, we expect the following from each other: the ability to connect; the ability to plan; the ability to keep people informed; the ability to deliver; and the ability to learn and grow.

 

TO APPLY, YOU NEED

 

  • At least four years of experience as a software engineer 
  • Experience as a technical lead is beneficial.
  • Experience in Python Frameworks like Django, Flask, CherryPy etc. 
  • Knowledge of object-relational mapping (ORM)
  • Strong experience in using restful APIs.
  • Strong experience with object-oriented programming principles.
  • You have worked and understand agile software development methodologies.

 

EDUCATION

 

  • Undergraduate degree in Computer Science or related field, or equivalent working experience.
  • Short courses to keep up to speed with modern development practices.