Software Engineer 2

Microsoft Microsoft · Big Tech · Noida, UP, IN · Software Engineering

Software Engineer to develop AI software for training and deploying advanced AI models, focusing on system software, developer tools, and optimizing large-scale training and inference on novel AI hardware and accelerators.

What you'd actually do

  1. Identify requirements, scope solutions, estimate work, schedule deliverables
  2. Apply strong engineering principles for defining robust and maintainable architectures and designs
  3. Collaborate broadly across multiple disciplines from hardware designers, system engineers, tool developers, performance analysis and with ML application developers
  4. Perform software development in C/C++, C#, Python, and other languages (as per need)

Skills

Required

  • C/C++
  • Python
  • Software development
  • System software development
  • AI accelerator software
  • CUDA
  • ROCm

Nice to have

  • Software engineering principles
  • Architecture design
  • SW/FW development for multicore chips
  • Cross-team collaboration
  • Communication skills

What the JD emphasized

  • 4+ years of software development and experience of leading at least two commercialized features from requirement to deployment
  • 4+ years' experience with C/C++ , python low levels
  • Exposure to NVIDIA/AMD development environment comprising CUDA / ROCm for Deep Neural Network training and inference development

Other signals

  • AI software for training and deploying advanced AI models
  • Software stacks for next-generation supercomputers and AI accelerators
  • Optimize and scale model training and inference
  • System software and developer tools for AI accelerators
  • Large scale training and inferencing of models on novel AI hardware