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.