All open roles
+ [REQ] PrincipalNo Longer Active

Python/Django Software Engineer (Principal)

JohannesburgIndependent Contractor AgreementPrincipalRemote

We are looking for a Principal full-stack engineer with a strong backend bias to join the Platforms team. This role sits within a collaborative engineering function building world-class edtech solutions including the Impact Platform and AI Coach. This is not a people management role but the person will serve as the go-to technical voice on the team - contributing to system design, writing architectural documents, leading code reviews, and helping shape the technical direction of the product. Think pseudo team lead with a strong hands-on coding output. The ideal candidate has proven production experience in Python/Django and React/TypeScript, with a 70/30 backend-to-frontend working ratio. They will be comfortable owning complex data models, designing scalable systems, and contributing to the evolution of the broader architecture - not just executing tickets.A key requirement for this hire is a pragmatic and experienced approach to AI-assisted development. We are not looking for an AI-only engineer - we are looking for someone who has genuinely integrated AI tools into their development workflow, understands where AI creates leverage and where it creates risk, and can bring a fresh perspective to help the team evolve how they work with these tools responsibly. The role requires strong written communication skills. The client operates a writing-focused culture where collaboration, planning, and ideation happen largely in written form. The ability to communicate technical decisions clearly and contribute to documentation is as important as coding ability.Mentorship is a genuine expectation - this person will help junior engineers grow into more technically self-sufficient contributors.Timezone requirement: The candidate must be willing and able to align working hours with Eastern Time (ET). This is a firm requirement. South Africa (GMT+2) and Kenya-based candidates are considered provided they can demonstrate a genuine commitment to ET overlap hours

Responsibilities

Build

  • Ship high quality, testable, readable, and maintainable code iteratively and regularly in a Python/Django and React/TypeScript environment
  • Own complex data models and develop a deep understanding of how data flows through intricate, large-scale production systems
  • Design and implement solutions with scale, security, performance, and privacy as primary considerations
  • Use AI-assisted development tools (Claude Code or Cursor) responsibly to improve velocity without compromising code quality - able to articulate where AI creates leverage and where it creates liability
  • Contribute to the evolution of the broader system architecture - not just feature delivery but the long-term health and direction of the platform

Lead

  • Serve as the go-to technical voice on the team - the person others turn to for system design decisions, architectural guidance, and technical problem solving
  • Write and maintain architectural documents and technical specifications - able to communicate complex technical decisions clearly in written form
  • Lead and participate in code reviews, share learnings through presentations and documentation
  • Guide and mentor junior engineers on best practices, helping them become more technically capable and self-sufficient
  • Drive the team's approach to AI integration - helping define where and how AI tools fit into the development workflow to maximise productivity without quality deterioration
  • Propose and implement improvements to engineering processes, particularly as AI tooling continues to evolve rapidly

Collaborate

  • Contribute early in the product development process - review research on clients and learners and weigh in on product strategy and roadmap
  • Partner closely with Product Managers to provide multiple viable technical paths for new features and improvements
  • Participate in Design and Operational Reviews to guide technical decision-making and surface performance issues early
  • Collaborate effectively in a writing-focused, largely async culture - planning, ideation, and decision-making happen primarily in written form
  • Work within a remote-first, cross-timezone team - must be comfortable and effective operating with Eastern Time alignment

Deliver

  • Manage and improve complex production systems, including refactoring legacy code and resolving data consistency challenges without impacting customer experience
  • Contribute to observability and performance monitoring - familiar with tools such as Datadog or equivalent
  • Work within CI/CD pipelines and infrastructure-as-code environments (Terraform or equivalent)
  • Maintain high standards for security, reliability, and code integrity across all output

Experience and education

Required

  • 7+ years of total software engineering experience in a professional production environment
  • Proven experience coding in a production Python/Django environment - candidate must have at least baseline proficiency and cannot be brand new to the stack
  • Experience with React and TypeScript in a production environment
  • Experience writing SQL queries and designing relational data models
  • Experience using AI-assisted and agentic development workflows - must be able to demonstrate practical, hands-on use of AI tools in a real engineering context
  • Experience as the go-to technical voice or pseudo team lead on an engineering team - does not need to have held a formal tech lead or management title but must have functioned in this capacity
  • Experience writing architectural documents, technical specifications, and contributing to system design decisions
  • Experience working in a remote-first, async, writing-focused engineering culture
  • Must be willing and able to align working hours with Eastern Time (ET) with a cross over

Preferred

  • Experience with infrastructure-as-code tooling such as Terraform
  • Experience with observability and performance monitoring tools such as Datadog or equivalent
  • Experience with tiered web application architecture including backend services, APIs, and frontend integration
  • Experience improving or refactoring complex production systems - particularly under conditions involving legacy code, tight synchronisation, or data consistency challenges
  • Experience working with Go or other backend-adjacent languages in addition to Python
  • Exposure to CI/CD pipelines and deployment workflows
  • Experience working with or alongside Product Managers in an agile, iterative delivery environment
  • Familiarity with AI coding tools such as Claude Code, Cursor, or equivalent - and the ability to contribute to team-wide standards and workflows around these tools
  • Passion for mentoring and growing junior engineers

Education

  • No specific degree requirement - demonstrable experience and a strong engineering track record will be weighted above formal qualifications
  • Relevant certifications in cloud infrastructure, security, or software engineering are a plus

Important Calibration Note for AI Matching

  • Years of Python/Django experience is flexible - total engineering experience and overall profile strength are weighted above stack-specific years. A well-rounded senior engineer with strong related experience and baseline Python/Django proficiency will be considered. 
  • The candidate must be backend-heavy in their recent and current work. Candidates whose recent experience is predominantly frontend will not be progressed regardless of broader full-stack history

Ready to build with global clients?
Join the Scrums.com talent network. No fees, no subscription.
Apply for this role →