Role Description: SSE – Senior Software Developer
We are seeking a skilled Software Developer with exposure to AI/ML to join our dynamic team. The ideal candidate will have a strong foundation in software development principles, with expertise in Python and SQL. The role requires proficiency in object-oriented programming (OOP), adherence to good coding standards, and a working understanding of AI/ML concepts, tools, and workflows to support data-driven solutions.
Responsibilities:
- Lead the design, development, and ongoing maintenance of software systems using Python, ensuring adherence to best practices, high code quality, and scalable architecture.
- Drive database design and optimization, leveraging SQL to create efficient, high-performance queries and structures.
- Apply object-oriented design principles to build robust, maintainable, and scalable solutions.
- Collaborate with cross-functional teams to define project requirements, analyze business needs, and develop high-impact technical solutions.
- Design and implement machine learning models, pipelines, and data workflows to support predictive analytics and intelligent decision-making.
- Work with large datasets to preprocess, clean, and engineer features for AI/ML models.
- Evaluate model performance using appropriate metrics and iterate to improve accuracy and robustness.
- Mentor and guide junior developers, providing support in troubleshooting, debugging, and resolving software issues to maintain high-quality deliverables.
- Produce clean, efficient, and testable code, ensuring alignment with project goals and timelines.
- Lead troubleshooting and debugging efforts to identify and resolve defects, ensuring smooth functionality and minimal downtime.
Required Skills:
- Expertise in Python programming and its application to solve complex problems.
- Experience with at least one Python web framework such as Django, Flask, or FastAPI.
- Solid grasp of SQL, with experience in designing, optimizing, and querying databases effectively.
- In-depth knowledge of object-oriented programming (OOP) principles and design patterns to create clean, scalable systems.
- Strong background in software development best practices and adherence to coding standards to ensure high-quality deliverables.
- Proven experience in system design, including architecture planning, scalability, and performance considerations.
- Excellent analytical and problem-solving skills, with the ability to approach challenges strategically and effectively.
- Ability to lead projects independently while fostering collaboration and mentorship within the team.
- Clear and concise communication skills, capable of conveying technical concepts to both technical and non-technical stakeholders.
- Hands-on experience with machine learning libraries (e.g., Scikit-learn, TensorFlow, or PyTorch).
- Experience in building, training, and deploying supervised/unsupervised ML models.
- Understanding of evaluation metrics like precision, recall, F1-score, confusion matrix, ROC-AUC, etc.
- Familiarity with data visualization tools (e.g., Matplotlib, Seaborn, or Plotly).
- Familiarity with Continuous Integration and Continuous Deployment (CI/CD) workflows.
- Experience with deploying and troubleshooting applications on OCI Cloud.
- Basic understanding of NLP, computer vision, or time-series modeling is a plus.