Job Type: Permanent - Full Time
Location: Hyderabad
Job Category: Engineering
Job Description
Role summary
As a Lead ML Engineer for India, you will be accountable for leading the technical aspects of product engineering by being hands on, working on the enhancement, maintenance and support of the product on which your team is working, within your technology area. You will be responsible for your own hands-on coding, provide the design thinking and design solutions, ensuring the quality of your team's output, representing your team in product-level technical forums and ensuring your team provides technical input to and aligns with the overall product road-map.
This role with be 80% technical hands on with 20% people management.
You will work with Engineers in other technology areas to define the overall technical direction for the product on alignment with Group's technology roadmap, standards and frameworks, with product owners and business stakeholders to shape the product's delivery roadmap and with support teams to ensure its smooth operation. You will be accountable for the overall technical quality of the work produced by India that is in line with the expectation of the stakeholders, clients and Group.
You will also be responsible for line management of your team of Engineers, ensuring that they perform to the expected levels and that their career development is fully supported.
Key Activities
- Build technical product/application engineering capability in the team by that is in line with the Group's technical roadmap, standards and frameworks
- Write polished code, aligned to team standards, including appropriate unit / integration tests
- Review code and test cases produced by others, to ensure changes satisfy the associated business requirement, follow best practices, and integrate with the existing code-base
- Provide constructive feedback to other team members on quality of code and test cases
- Collaborate with other Lead / Senior Engineers to produce high-level designs for larger pieces of work
- Validate technical designs and estimates produced by other team members
- Merge reviewed code into release branches, resolving any conflicts that arise, and periodically deploy updates to production and non-production environments
- Troubleshoot production problems and raise / prioritize bug tickets to resolve any issues
- Proactively monitor system health and act to report / resolve any issues
- Provide out of hours support for periodic ETL processes, ensuring SLAs are met
- Work with business stakeholders and other leads to define and estimate new epics
- Contribute to backlog refinement sessions, helping to break down each epic into a collection of smaller user stories that will deliver the overall feature Work closely with Product Owners to ensure the product backlog is prioritized to maximize business value and manage technical debt
- Lead work breakdown sessions to define the technical tasks required to implement each user story
- Contribute to sprint planning sessions, ensuring the team takes a realistic but challenging amount of work into each sprint and each team member will be productively occupied
- Contribute to the team's daily stand-up, highlighting any delays or impediments to progress and proposing mitigation for those issues
- Contribute to sprint review and sprint retro sessions, to maintain a culture of continuous improvement within the team
- Coach / mentor more junior Engineers to support their continuing development
- Set and periodically review delivery and development objectives for direct reports
- Identify each direct reports longer-term career objectives and, as far as possible, factor this into work assignments
- Hold fortnightly catch-ups with direct reports to review progress against objectives, assess engagement and give them the opportunity to raise concerns about the product or team
- Work through the annual performance review process for all team members
Responsibilities
- Design the data pipelines and engineering infrastructure to support our clients enterprise machine learning systems at scale
- Take models data scientists build and turn them into a real machine learning production system
- Develop and deploy scalable tools and services for our clients to handle machine learning training and inference
- Identify and evaluate new technologies to improve performance, maintainability, and reliability of machine learning solutions
- Apply software engineering rigor and best practices to machine learning pipelines, including CI/CD, automation, etc.
- Support models with an emphasis on auditability, versioning, and data security
- Facilitate the development and deployment of proof-of-concept machine learning systems
- Direct reports have regular catch-ups to discuss performance, career development and their on-going happiness / engagement in their role
- Any performance issues are identified, documented and agreed, with realistic remedial plans in place
- Squad Collaboration
- People Management
- Produce Quality Technical Design
- Operate at high level of productivity
Skills Required
- 8+ years of work experience required
- Ability to build MLOps pipelines
- Ability to design and implement solutions in GCP
- Experience in Kubeflow Pipelines platform for building and deploying portable, scalable machine learning (ML) workflows
- Experience in Vertex AI services for building, deploying, and managing machine learning models in the cloud
- Experience with containerization and Kubernetes
- Good understanding of Linux for managing servers
- Automation for deploying machine learning solutions using Python/Bash/Go/Ruby scripting etc.
- Exposure to machine learning models built using scikit frameworks in Python
- Exposure to machine learning frameworks such as Keras or PyTorch or Tensorflow
- Hands-on experience managing or provisioning GPU/CPU clusters, or other large-scale cloud or Linux/Unix systems.
- Experience embedding monitoring solutions in ML applications
- Hands on experience developing and training AI/ML models.
- Proven experience implementing CI/CD on large-scale operational AI pipelines
- Bachelor's degree in Computer Science, Information Technology or a related discipline
- Comfortable working in a fast moving, agile development environment
- Excellent problem solving / analytical skills
- Good written / verbal communication skills
- Commercially aware, with the ability to work with a diverse range of stakeholders
- Enthusiasm for coaching and mentoring junior engineers
- Experience in lading teams, including line management responsibilities