Job Summary:
We are looking for a skilled Python Developer with 3 to 6 years of experience to design, develop, and maintain high-quality back-end systems and applications. The ideal candidate will have expertise in Python and related frameworks, with a focus on building scalable, secure, and efficient software solutions. This role requires a strong problem-solving mindset, collaboration with cross-functional teams, and a commitment to delivering innovative solutions that meet business objectives.
Responsibilities
Application and Back-End Development:
- Design, implement, and maintain back-end systems and APIs using Python frameworks such as Django, Flask, or FastAPI, focusing on scalability, security, and efficiency.
- Build and integrate scalable RESTful APIs, ensuring seamless interaction between front-end systems and back-end services.
- Write modular, reusable, and testable code following Python’s PEP 8 coding standards and industry best practices.
- Develop and optimize robust database schemas for relational and non-relational databases (e.g., PostgreSQL, MySQL, MongoDB), ensuring efficient data storage and retrieval.
- Leverage cloud platforms like AWS, Azure, or Google Cloud for deploying scalable back-end solutions.
- Implement caching mechanisms using tools like Redis or Memcached to optimize performance and reduce latency.
AI/ML Development:
- Build, train, and deploy machine learning (ML) models for real-world applications, such as predictive analytics, anomaly detection, natural language processing (NLP), recommendation systems, and computer vision.
- Work with popular machine learning and AI libraries/frameworks, including TensorFlow, PyTorch, Keras, and scikit-learn, to design custom models tailored to business needs.
- Process, clean, and analyze large datasets using Python tools such as Pandas, NumPy, and PySpark to enable efficient data preparation and feature engineering.
- Develop and maintain pipelines for data preprocessing, model training, validation, and deployment using tools like MLflow, Apache Airflow, or Kubeflow.
- Deploy AI/ML models into production environments and expose them as RESTful or GraphQL APIs for integration with other services.
- Optimize machine learning models to reduce computational costs and ensure smooth operation in production systems.
- Collaborate with data scientists and analysts to validate models, assess their performance, and ensure their alignment with business objectives.
- Implement model monitoring and lifecycle management to maintain accuracy over time, addressing data drift and retraining models as necessary.
- Experiment with cutting-edge AI techniques such as deep learning, reinforcement learning, and generative models to identify innovative solutions for complex challenges.
- Ensure ethical AI practices, including transparency, bias mitigation, and fairness in deployed models.
Performance Optimization and Debugging:
- Identify and resolve performance bottlenecks in applications and APIs to enhance efficiency.
- Use profiling tools to debug and optimize code for memory and speed improvements.
- Implement caching mechanisms to reduce latency and improve application responsiveness.
Testing, Deployment, and Maintenance:
- Write and maintain unit tests, integration tests, and end-to-end tests using Pytest, Unittest, or Nose.
- Collaborate on setting up CI/CD pipelines to automate testing, building, and deployment processes.
- Deploy and manage applications in production environments with a focus on security, monitoring, and reliability.
- Monitor and troubleshoot live systems, ensuring uptime and responsiveness.
Collaboration and Teamwork:
- Work closely with front-end developers, designers, and product managers to implement new features and resolve issues.
- Participate in Agile ceremonies, including sprint planning, stand-ups, and retrospectives, to ensure smooth project delivery.
- Provide mentorship and technical guidance to junior developers, promoting best practices and continuous improvement.
Required Skills and Qualifications
Technical Expertise:
- Strong proficiency in Python and its core libraries, with hands-on experience in frameworks such as Django, Flask, or FastAPI.
- Solid understanding of RESTful API development, integration, and optimization.
- Experience working with relational and non-relational databases (e.g., PostgreSQL, MySQL, MongoDB).
- Familiarity with containerization tools like Docker and orchestration platforms like Kubernetes.
- Expertise in using Git for version control and collaborating in distributed teams.
- Knowledge of CI/CD pipelines and tools like Jenkins, GitHub Actions, or CircleCI.
- Strong understanding of software development principles, including OOP, design patterns, and MVC architecture.
Preferred Skills:
- Experience with asynchronous programming using libraries like asyncio, Celery, or RabbitMQ.
- Knowledge of data visualization tools (e.g., Matplotlib, Seaborn, Plotly) for generating insights.
- Exposure to machine learning frameworks (e.g., TensorFlow, PyTorch, scikit-learn) is a plus.
- Familiarity with big data frameworks like Apache Spark or Hadoop.
- Experience with serverless architecture using AWS Lambda, Azure Functions, or Google Cloud Run.
Soft Skills:
- Strong problem-solving abilities with a keen eye for detail and quality.
- Excellent communication skills to effectively collaborate with cross-functional teams.
- Adaptability to changing project requirements and emerging technologies.
- Self-motivated with a passion for continuous learning and innovation.
Education:
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.