We are looking for a Senior Python Engineer who possesses advanced proficiency in Python, expertise in web development frameworks, databases, and deployment, along with strong problem-solving abilities, and a commitment to code quality and collaboration.
Location: South Africa (Remote / Hybrid)
About the role
We are looking for an experienced Senior Python Developer with Machine Learning, PySpark, and Kubernetes experience.
In your role, you will play a crucial role in designing, developing, and implementing high-quality software solutions that incorporate advanced machine learning techniques, leverage the power of PySpark for large-scale data processing, and utilise Kubernetes for container orchestration.
You will collaborate with cross-functional teams to solve complex problems, optimise algorithms, and contribute to the creation of innovative products that drive the next wave of Fintech advancements.
Primary Responsibilities
- Design, develop, and maintain robust and scalable Python-based applications, tools, and frameworks that integrate machine learning models and algorithms.
- Collaborate with data scientists and engineers to implement end-to-end machine learning pipelines, from data preprocessing and feature engineering to model training, evaluation, and deployment.
- Utilise your expertise in PySpark to process and analyse large volumes of data efficiently and develop performant data pipelines.
- Leverage Kubernetes for container orchestration, deployment, and scaling of applications.
- Contribute to the architecture and design of data-driven solutions, ensuring they meet both functional and non-functional requirements.
- Optimise and refactor existing code to enhance performance, maintainability, and reusability.
- Stay current with the latest advancements in machine learning, Python development, big data technologies, Kubernetes, and apply this knowledge to enhance team capabilities.
- Mentor and provide guidance to junior developers, assisting them in skill development and project execution.
- Participate in code reviews, providing constructive feedback and ensuring adherence to coding standards.
Requirements
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
- Proven experience as a Python Developer with a strong understanding of Python programming concepts and best practices.
- Demonstrated expertise in developing machine learning solutions, including feature selection, model training, and evaluation.
- Hands-on experience with PySpark and the ability to develop efficient data processing pipelines.
- Familiarity with distributed computing frameworks, big data technologies, and Kubernetes for container orchestration.
- Proficiency in data manipulation libraries (e.g., Pandas, NumPy) and machine learning frameworks (e.g., Scikit-learn, TensorFlow, PyTorch).
- Strong problem-solving skills and the ability to analyze complex technical issues.
- Experience working in an Agile/Scrum development environment.
- Excellent communication skills and the ability to work collaboratively in cross-functional teams.
- A proactive and self-driven attitude with a passion for staying updated with industry trends.
Required Skills
- Solid SQL (ANSI – preferably Microsoft T-SQL) experience including the ability to work with complex queries.
- Solid Knowledge of dimensional modelling (Kimble)
- Solid knowledge of RDBMS architecture.
- Solid knowledge of OLTP and OLAP concepts.
- Good knowledge of data integration concepts (ETL / ELT)
- Good knowledge of database management especially pertaining to permissions, schemas and performance tuning and quality assurance.
- Good experience working with Azure Data Factory or SQL Server Integration Services.
- Experience with Python/Scala is a bonus
Preferred
- Experience deploying machine learning models in production environments.
- Knowledge of cloud platforms (e.g., AWS, Azure) and continuous integration/continuous deployment (CI/CD) pipelines.
Contact: Riva van Niekerk ([email protected])