Qualifications:
- Education: Bachelor’s degree in Computer Science, Computer Engineering, or a related field is required. Advanced degrees or relevant certifications are a plus.
- Experience: A minimum of 2+ years of professional experience as a Python developer is essential. Experience in leading projects or teams will be an advantage.
Technical Skills:
- Python Expertise: Strong understanding of Python programming language and its associated web frameworks, such as Django, Flask, or FastAPI. Ability to write clean, maintainable, and efficient code.
- Web Frameworks: Proficiency in developing robust and scalable web applications using popular Python frameworks. Familiarity with asynchronous programming in Python is desirable.
- Database Management: Hands-on experience working with relational and non-relational databases, including MySQL, PostgreSQL, MongoDB, etc. Ability to design, optimise, and maintain complex database schemas.
- API Development: Experience in building and consuming RESTful APIs, with an understanding of API security practices and versioning. Knowledge of GraphQL is a plus.
- Version Control: Proficient in using Git for version control and collaboration. Experience with CI/CD pipelines and tools like Jenkins or GitLab CI is a bonus.
Additional Skills:
- Problem-Solving: Strong analytical and problem-solving skills, with the ability to troubleshoot and debug code effectively.
- Communication: Excellent verbal and written communication skills, with the ability to convey technical concepts clearly to both technical and non-technical stakeholders. Ability to work collaboratively in a team environment.
- Front-End Technologies: Familiarity with front-end technologies such as JavaScript, HTML, CSS, and modern JavaScript frameworks (React, Angular, Vue.js) is advantageous.
- Cloud Platforms: Experience with cloud platforms like Google Cloud Platform (GCP), AWS, or Microsoft Azure. Knowledge of cloud services, serverless architecture, and infrastructure as code (Terraform, CloudFormation) is preferred.
- Containerization: Experience with containerization technologies like Docker and orchestration tools like Kubernetes. Understanding of microservices architecture and deployment strategies in a cloud environment.