Job details
Software Engineers write and test code, optimise software for speed and capability, evaluate and test new software, design and maintain software systems under limited supervision.
Key duties and responsibilities
This requirement for an experienced Senior Python Developer and one Junior Python Developer, developing and optimizing machine learning models and applications. The specified personnel will work with large datasets and collaborate with data scientists, engineers, and other stakeholders to drive machine learning projects from ideation to production and/or Data Engineers and research fellows.
Mandatory criteria:
Senior Python Developer
Minimum 5 years’ experience in software development with Python
Proven software development project management skills including ability to break down complex software development goals into Epics, User Stories, and Issues using agile project management tools (e.g. Jira, GitLab, GitHub Projects)
Strong familiarity with software development principles and practices including developing CI/CD pipelines, version control, code repositories and testing frameworks
Demonstrated experience building and/or fine-tuning Machine Learning models using contemporary AI/ML frameworks such as Pytorch, Tensorflow, Ultralytics, or HuggingFace.
Sound understanding of different AI model architectures such as Transformers, CNNs and LLMs.
Willingness to source, annotate and augment/transform data for model development purposes.
Essential criteria:
Understanding of machine learning algorithms, data science frameworks, and programming expertise to create innovative AI solutions
Implement machine learning algorithms from research papers and transform them into robust, scalable and secure software systems.
Experience in evaluating and benchmarking machine learning model performance using appropriate metrics, tools, and comparative analysis.
Integrating AI systems. Deploy AI-powered applications into existing workflows and ensure seamless integration with APIs and platforms.
Conducting data preprocessing. Clean, prepare and augment large datasets to train and fine-tune AI models.
Demonstrated experience developing APIs to integrate disparate applications in an enterprise environment to provide end-to-end business solutions
Experience using collaboration tools that include git, issue tracking and wikis (e.g. GitLab, GitHub, Azure DevOps)
Desirable criteria:
Deep Learning Frameworks for building, training, and deploying neural network models (PyTorch and/or TensorFlow)
Machine Learning Libraries for model development and fine-tuning (e.g. NumPy, Hugging Face, Ultralytics)
ML Tooling \& MLOps Platforms for experiment tracking, model management, and reproducibility (e.g. Weights \& Biases (W\&B) and/or MLflow)
Python web application framework (e.g. Django, FastAPI, Flask)
Workflow orchestration (Nifi, Prefect, Airflow)
Development and consumption of REST APIs / Micro-service architectures
Front-end development (e.g. JavaScript, HTML and CSS)
Containerisation technologies (e.g. Docker, Kubernetes)
Knowledge and use of CI/CD pipelines (e.g. Git, Ansible)
Working with Agile methodologies (e.g. Kanban, Scrum)
To summarise the role:
Being able to code up a model from a research paper
Being able to evaluate model performance using appropriate metrics (this is important)
Knowledge of MLOps to track/manage model development, evaluation and deployment
Familiarity with how to use the main ML Python libraries: In particular, Pytorch, Numpy, Hugging Face, Ultralytics (YOLO and DETR).
Job Types: Full-time, Contract
Contract length: 12 months
Pay: $120.00 – $130.00 per hour
Expected hours: 40 per week