Full Stack Python Developer

Johannesburg, GP, ZA, South Africa

Job Description

We are looking for a Full-Stack Python Developer with strong Flask and front-end skills to join our software team. This is a hybrid (once every 2 weeks) role based in Bryanston. The Full-Stack Python Developer will play a key role in designing, building, and maintaining internal web applications that sit on top of our existing data platforms. You will be responsible for developing both backend and frontend components, ensuring seamless integration with internal systems, and delivering simple, intuitive tools for non-technical users.



Main responsibilities

Build and maintain python-based web applications to expose internal data products and tools.

Develop fast, responsive, user-friendly front-ends using HTML, HTMX, CSS, and JavaScript.

Integrate web apps into existing internal systems (e.g., via iframes or embedded HTML).

Collaborate closely with data scientists to consume datasets (dataframes, SQL tables, APIs) and turn them into usable workflows and UI-driven tools.

Work with Python datasets (Pandas, SQLAlchemy) to transform, filter, and present data.

Implement asynchronous workflows where needed (background jobs, long-running tasks, async calls).

Use Git and GitHub effectively for branching, pull requests, reviews, and collaborative development.

Write SQL queries to connect to, join, and retrieve data from pre-built datasets.

Manage deployment basics, including running Flask apps behind production web servers (nginx, gunicorn, waitress, etc.).

Implement logging and monitoring to track behaviour, diagnose issues, and ensure reliability.

Apply security and authentication awareness, including session management, input validation, and safe handling of user data.

Apply sensible UX judgement to create clean layouts, intuitive forms, and efficient user flows.

Contribute to documentation (READMEs, setup guides, and simple user documentation).

Write and maintain basic unit and integration tests for critical logic

Minimum requirements

3+ years of professional development experience (or a strong portfolio showing equivalent skill).

Bachelors Degree in Computer Science, Engineering, Biology or any similar quantitative field.



Strong Python experience, including:



Building RESTful backends with Flask

Working with pandas and dataframes

Solid frontend skills:

HTML5, CSS, JavaScript, HTMX

Experience with asynchronous concepts in Python and/or JS (asyncio, task queues, background jobs).

Proficiency with Git and GitHub (branching, pull requests, reviews).

Basic SQL skills

Understanding of running Flask apps in production environments (nginx, gunicorn, waitress).

Security awareness:

sessions, permissions, secure coding practices

Ability to design clean, functional user interfaces for internal tools.

Nice-to-Have

Experience with Microsoft SQL Server and T-SQL.

Experience with Docker or containerised deployments.

Deployment experience on Azure, AWS, or similar cloud platforms.

Exposure to enterprise authentication (OAuth2, SSO, Azure AD).

Experience building internal admin tools, dashboards.

Experience working closely with data science or analytics teams.

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Job Detail

  • Job Id
    JD1606433
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Johannesburg, GP, ZA, South Africa
  • Education
    Not mentioned