Staff Software Development Engineer
Analog Devices, Inc. (ADI)
Location
Bangalore | India
Job description
Analog Devices, Inc. (NASDAQ: ADI) is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world. With revenue of more than $12 billion in FY22 and approximately 25,000 people globally working alongside 125,000 global customers, ADI ensures today's innovators stay Ahead of What's Possible.
We are looking for a passionate Staff Software Engineer to be part of our Product Lifecycle Automation (PLA) team to work as a 'Lead Software developer' to define and develop High Performance Computing and Resource management solutions across ADI.
In this role, you will apply your exceptional skills in software development, deployment and will work with various stakeholders from definition to production to develop ADI proprietary Job Scheduler Software, resource allocation and fair sharing algorithms and integrate them with Cloud and workloads widely used by ADI engineers to effectively realize potential compute and license cost savings.
Responsibilities include, but not limited to:
- Technically lead the software development of our HPC product suite including job scheduler, resource allocators, resource optimizers software products across the company and drive customer adoption providing exceptional support.
- Define and introduce new feature requests for our software suite by actively engaging with stakeholders, customers, and other software engineers. Especially integrating the job scheduler (like LSF, Slurm, AWS Batch) to other distributed systems and Cloud computing (AWS/Azure).
- Actively contribute to the development of high-quality software and develop prototypes, validate new ideas, and assist in enhancing automated build routines to deliver best-in class job scheduler and resource optimizers systems.
- Introduce techniques for improving scalability, robustness and reliability of job schedulers, resource allocators and optimizers at our worldwide HPC design centers.
- Promote ease of use by enhancing user-experience for various operations involving backend services, and develop integrations to various S/W systems using REST APIs
- Research new algorithms in the resource optimization space and develop automation for improving the software and introduce innovative techniques for time vs cost tradeoffs.
- Develop data collection, telemetry and dashboards for resource optimization and apply AI/ML techniques to improve utilizations.
Minimum qualifications
- Master's in EE/CS/CE with 8+ years' of development experience in C++, Rust or Python preferred.
- Excellent knowledge of distributed systems, and hands-on knowledge on job scheduling software like AWS batch, LSF, SLURM, Apache Spark or Grid Engines.
- Experience using AWS C++ SDK and building automation for AWS provisioning.
- Proven track record of successful customer engagements and influencing software roadmaps/definition working with stakeholders and developers.
- Software development experience in using at-least one Object Oriented Language (C++, Java etc.) and backend databases like MySQL or MongoDB
- Demonstrable ability in scripting (Perl/Python) and working in Linux and Windows platform.
- Ability to mentor, coach team members and technically guide junior team members.
- Excellent written and verbal communication to propose new ideas and to champion best practice methodologies to both development team and our customers.
- Prior exposure to version control systems like Git or Perforce is a must.
- Prior experience with telemetry, dashboards technologies like Kafka and Grafana is a plus.
Job Req Type: Experienced
Required Travel: Yes, 10% of the time
Shift Type: 1st Shift/Days
Job tags
Salary