Welcome to
Life at ESDS

Python Developer

Join us in forging a path to greatness. ESDS is a crucible of innovation.

Full Time
Bangalore, Chennai, Coimbatore, Nashik
Posted 1 week ago

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.

 

Job Features

Job Category

Software Division

Apply Now