Job Title: Senior Python Developer
Key Responsibilities
- Software Development: Design, develop, test, and deploy high-quality Python applications and services.
- API Development: Build and maintain robust and scalable APIs using frameworks like FastAPI or Flask.
- Database Management: Design database schemas, write complex SQL queries, and optimize database performance for PostgreSQL.
- System Design: Contribute to the architectural design of new features and systems, ensuring scalability, reliability, and maintainability.
- Containerization & Orchestration: Implement and manage applications within containerized environments using Docker and orchestrate deployments with Kubernetes.
- CI/CD Implementation: Work with CI/CD pipelines to ensure automated testing, deployment, and continuous integration.
- Troubleshooting & Debugging: Identify, diagnose, and resolve complex technical issues in production and development environments.
- Code Quality: Ensure code quality through rigorous testing, code reviews, and adherence to best practices.
- Project Ownership: Take ownership of projects, driving them independently from conception to successful deployment and maintenance.
- Collaboration: Collaborate effectively with cross-functional teams, including product managers, other engineers, and QA.
Required Skills & Experience
- Python Expertise: 7+ years of professional experience in Python development, with a strong understanding of Pythonic principles and best practices.
- Web Frameworks: Strong experience with FastAPI (or Flask, with a willingness to quickly adapt and switch to FastAPI).
- Database Proficiency: Proficiency in PostgreSQL, including advanced SQL querying, database design, indexing strategies, and performance tuning.
- Containerization & Orchestration: Solid understanding and hands-on experience with Kubernetes for container orchestration and microservices deployment.
- Development Tools: Experience with Docker for containerization, Git for version control, and implementing/managing CI/CD pipelines (e.g., Jenkins, GitLab CI/CD, GitHub Actions).
- Data Structures & Algorithms: Strong background in data structures, algorithms, and their practical application in solving complex problems.
- System Design: Proven ability in designing scalable, resilient, and performant software systems.
- Independent Work: Demonstrated ability to work independently, take initiative, and drive projects end-to-end with minimal supervision.
- Communication: Good communication skills, both written and verbal, with the ability to articulate technical concepts clearly and concisely.
Education & Certifications
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field.
- Master's degree is a plus.
- Relevant certifications in Python, cloud platforms, or container technologies are a plus.