Job Description for Python Engineer
We are seeking a highly skilled and experienced Senior Python Engineer with at least 7 years of hands-on experience in Python development.
The ideal candidate will be responsible for designing, developing, and maintaining high-performance, scalable applications.
You will work closely with cross-functional teams including product managers, designers, and other engineers to deliver high-quality software solutions in an agile environment.
Key Responsibilities:
• Lead and contribute to the design, development, and deployment of complex Python applications and services.
• Architect and optimize back-end services for scalability, performance, and reliability.
• Collaborate with product managers, front-end engineers, and other team members to ensure end-to-end product quality.
• Develop and maintain clean, efficient, and reusable code, ensuring best practices in software development.
• Write unit and integration tests to maintain code quality and ensure the reliability of applications.
• Troubleshoot and resolve complex issues and bugs within production environments. • Ensure code is well-documented and adheres to internal coding standards.
• Participate in code reviews to maintain high-quality codebases and improve team practices.
• Work in an Agile development environment, adhering to sprint deadlines and delivering quality software on time.
Required Skills and Qualifications:
• Minimum of 6 years of professional experience in Python development.
• Extensive experience with Python frameworks such as Django, Flask, FastAPI, or similar.
• Strong knowledge of RESTful API development, microservices, and cloud-based architectures (AWS, Azure, Google Cloud).
• Proven experience with relational databases (PostgreSQL, MySQL) and NoSQL databases (MongoDB, Redis).
• Expertise in designing scalable and high-performance systems.
• Solid understanding of Object-Oriented Programming (OOP) and design patterns.
• Strong experience with version control systems such as Git.
• Proficiency in writing unit tests and utilizing test-driven development (TDD).
• Solid experience working with CI/CD tools, containerization (Docker), and orchestration tools (Kubernetes). • Familiarity with Agile methodologies, including Scrum or Kanban.
• Strong problem-solving and troubleshooting skills.
• Excellent communication skills