Job Description for Python developer
- Experience Required: 3+ Years
- Job Location: Mumbai
Description:
We’re seeking an experienced Python Developer with a minimum of 3+ years of hands-on experience. The selected candidate will be instrumental in building and optimizing our data processing and report generation systems.
SKILLS AND EXPERIENCE:
- A Bachelor’s degree in Computer Science or related field.
- A minimum of 3 years of practical experience in Python development.
- Proficient in database technologies and backend frameworks.
- Experience in building RESTful APIs.
- Familiarity with version control systems like Git.
- Understanding of fundamental design principles for scalable applications.
- Experience with cloud platforms like AWS, Google Cloud, or Azure is Plus
- Knowledge of front-end technologies (HTML, CSS, JavaScript) is a plus.
- Strong analytical and problem-solving skills.
- Excellent communication and team collaboration skills.
- Ability to work in a fast-paced environment and meet tight deadlines.
- Proactive, self-driven, and continuously looking for improvement.
Essential Skillsets and Frameworks:
- Deep understanding of Python data structures.
- Strong grasp of Python’s built-in libraries and modules.
- Comprehensive knowledge of OOP principles in Python.
- Mastery of at least one of the following backend frameworks:
- Django: Familiarity with its ORM, middleware, templating engine, and Django REST framework.
- Flask: Experience in building web applications, API structures, and integrating extensions such as Flask-SQLAlchemy or Flask-RESTful.
- FastAPI: Proficiency in developing asynchronous APIs and an understanding of Pydantic and Starlette.
- Solid experience in relational databases like MySQL, PostgreSQL, or SQLite.
- Good grasp of ORMs like SQLAlchemy or Django ORM.
- Basic knowledge of NoSQL databases like MongoDB or Cassandra.
- Proficiency in designing and developing RESTful APIs.
- Understanding of GraphQL and tools like Graphene.
- Proficient use of Git for source code management, including branching, merging, and pull requests.
- Experience with testing frameworks like Pytest or unittest.
- Familiarity with debugging tools and practices.
- Understanding of async/await syntax in Python.
- Familiarity with frameworks/libraries like Celery for task queuing and distributed processing.
- Familiarity with libraries like Pandas and NumPy for data manipulation.
- Experience in using tools like Jupyter Notebooks or Google Colab for data analysis.
- Proficiency in libraries like Matplotlib, Seaborn, or Plotly.
- Experience with Docker for containerizing applications.
- Knowledge of virtual environments like venv or virtualenv.
RESPONSIBILITIES:
- Develop, implement, and maintain Python-based backend solutions for data processing and report generation.
- Optimize data querying for performance and scalability.
- Conduct regular code reviews to ensure code quality, functionality, and reliability.
- Maintain and improve existing codebases and implement new features as per business requirements.
- Collaborate with the front-end team to integrate user-facing elements with server-side logic.
- Integrate data storage solutions, including databases, key-value stores, blob stores, etc.
- Design and implement effective testing strategies.
- Create unit and integration tests to ensure the quality of solutions.
- Document software solutions in detail, ensuring that the team and stakeholders are informed about the latest updates.
- Work closely with cross-functional teams, including Project Managers, Designers, and other Developers, to ensure seamless project delivery.
- Participate in regular team meetings, providing insights and updates.