Python Developer
Opportunity
Python Developer
- We are seeking an experienced Python Developer with strong expertise in algorithm development, optimization modelling, and power system techno‐economic assessment.
- The ideal candidate will have deep knowledge of Python’s core features, data analysis, web frameworks, and modern development practices.
- Experience with mathematical optimization tools, containerization, and message‐queue technologies will be considered a significant advantage.
Desirable skills/knowledge/experience:
- Strong proficiency in Python programming and its optimization/analytics ecosystems.
- Proven experience with algorithm development and computational problem‐solving.
- Hands‐on experience with data analytics, visualization, and database systems.
- Solid understanding of power system modelling, techno‐economic simulation, and energy systems.
- Strong debugging, profiling, and performance optimization skills.
- Excellent communication and documentation abilities.
- Experience using Pyomo, AMPL, Gurobi, CPLEX, or similar optimization tools.
- Working knowledge of containerization and cloud‐native deployment.
- Familiarity with RabbitMQ/Kafka, microservice architecture, and distributed systems.
Your responsibilities:
- Develop, optimize, and maintain software using core Python features including iterators/generators, exception handling, file handling, type hints, OOP, and data structure design.
- Build scalable algorithms and write clean, maintainable, and well‐structured code.
- Develop and maintain RESTful APIs using OpenAPI/Swagger, Connexion, or FastAPI.
- Work with Python web frameworks such as Flask, Django, FastAPI, and Jinja2.
- Data, Analytics & Databases
- Perform data manipulation and analysis using tools like Pandas and NumPy.
- Design, query, and maintain both relational databases (e.g., PostgreSQL) and NoSQL/document stores (e.g., MongoDB).
- Build data pipelines and support analytics dashboards and visualizations in Python.
- Mathematical Modelling & Optimization
- Develop and solve Linear Programming (LP), Mixed Integer Linear Programming (MILP), and other optimization models.
- Use optimization tools and libraries such as Pyomo, AMPL, Gurobi, CPLEX, or similar solvers.
- Model the behaviour of power system components including generation assets, demand profiles, and network elements.
- Contribute to techno‐economic assessments of power systems using Python-based models.
- Quality Assurance & DevOps
- Write unit tests using unittest or pytest, with exposure to Test‐Driven Development (TDD) methodologies.
- Use Git and modern version‐control workflows; collaborate via Azure DevOps or similar platforms.
- (Bonus) Develop and deploy containerized applications using Docker, and support container orchestration (e.g., Kubernetes).
- (Bonus) Work with messaging/streaming technologies such as RabbitMQ or Kafka.