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.