Internship opportunities: FPGA technologies for the Cloud

Last updated 8 days ago
Job Type:Full Time

The fast growth of the cloud is continuously driving hardware efficiency and performance in cloud infrastructure. Our work is exploring the technologies beyond traditional computer systems. Hardware customization is playing a major role in a variety of projects across the lab. Today, nearly every new server in Microsoft data centers integrates an FPGA into a unique distributed architecture, which creates an interconnected and configurable hardware layer that extends the CPU layer. We have an unprecedented platform to explore new ideas for hardware acceleration and prototyping. FPGAs are being used to build complex data store abstractions, optical networking stacks, and storage control systems. We design and build systems that can be deployed at cloud scale and work with product teams to contribute to Microsoft’s services.


Successful candidates will be working in a small, multi-disciplinary team of experts from the fields of FPGAs, storage, networking and distributed systems and will have an opportunity to explore new ideas of using FPGAs in the relevant application domains.

Candidates will be expected to implement a part of a larger FPGA design system, using RTL for design and verification, and perform experiments on a FPGA hardware to evaluate performance and behaviour of the system.


Ideal candidates should be in a process of obtaining a PhD degree in Computer Science or Electrical Engineering, but we will also accept exceptional candidates currently enrolled in a Master/undergraduate program.

Candidates must have:

  • Experience working on research projects and publishing at top-tier conferences and journals 
  • Demonstrated experience in full design and development cycle of complex FPGA-based systems for accelerating network/storage/data structure or similar applications, i.e. from RTL coding to system-level testing and performance evaluation
  • Thorough understanding of digital logic design concepts from system level to low level details
  • Strong RTL coding skills (Verilog/System Verilog preferred)

The following skills would be a big plus:

  • Experience with software programming (C/C++/Python)
  • Experience with Intel/Altera FPGA's design tool chain

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.

Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.