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.
You will work closely with data scientists to incorporate datasets, models, and business logic into clean, reliable, user-friendly internal web applications.
These tools allow business users to interact with data effortlessly and make informed decisions.
The position reports to the Head of Data department and Head of Data Science Team.
Job Description
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.
Must-Have Qualifications & Experience
- 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.
- Building RESTful backends with Flask.
- Working with pandas and dataframes.
- 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
- 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.
Main Responsibilities
- Build and maintain python-based web applications to expose internal data products and tools.
- 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.
Personal Attributes and Skills
- Strong problem-solving skills and attention to detail.
- Ability to collaborate effectively with data scientists and technical peers.
- A curious, proactive mindset with a willingness to learn new tools and approaches.
- Comfort working independently on tasks across the stack.
- Strong communication skills and the ability to explain technical concepts to non-technical users.
- A practical, user-first approach to building internal tools.