Engineers at Microsoft are passionate about building technologies that make the world a better place. At Microsoft, you will collaborate with others to solve problems and build some of the world's most advanced services and devices. Within Hardware organizations, we are seeking talented Firmware & Embedded Software Engineers to deliver great customer experiences.
Do you want to work on a meaningful and impactful project and make a difference? Are you willing to learn from others and open to new ideas? Do you want to support others to succeed and operate in a highly collaborative and global environment? If this sounds like you, Microsoft would like to invite you to come join us as you are, where you can find more than just a job. Read on to learn more about opportunities and apply online.
Applications to these opportunities are considered for all available Firmware and Embedded Software Engineering internships including the ones described below, depending on education level and/or location. To be considered for an internship position, you need to be enrolled full-time as a student majoring in an applicable field, with a minimum of one quarter or semester to complete after your internship. ResponsibilitiesFirmware or Embedded Software Engineer We are looking for awesome students that have some educational and/or work experience with Embedded Software concepts – memory management, working on chip peripheral, debugging code running on live hardware, etc. Interns might also could create software designs based on product requirements and use software engineering principles to produce executable code fulfilling design and feature requirements. These roles work with electrical engineers, system engineers, architects and software engineers to determine the core firmware strategy for our product roadmaps. Device Driver Software Engineer There is no better way to learn internals of general-purpose operating systems than by writing drivers that interact with hardware in multicore safe way, and debug hard synchronization and performance issues. We are also looking for students interested in low level system components and device drivers for Windows and Linux operating systems. Interns will get opportunity to develop drivers in C/C++ that interact with hardware connected over I2C, SPI, GPIO, Bluetooth, USB, or PCIe interfaces to enable new user experiences. They will get an opportunity to learn processor architectures, bus protocols, read and implement industry defined HW interface specs, use SW tracing and debugging tools, and more importantly how not to write bad code that can bring down the entire system. Program Manager Program Managers (PMs) are the in-house advocates for millions of people worldwide who predict and research how software is used and work closely with Software, Firmware or Embedded Software Engineers to ensure our products exceed people's expectations. Program Managers are typically responsible for specific features in our technology solutions for the full product cycle. You work on the initial feature planning and design, manage the specifications and timeline of their development, and monitor their on-going operation to better understand customer experiences.QualificationsFirmware or Embedded Software EngineerCurrently pursuing bachelor's or master's degree in computer engineering, software engineering, computer science or related with a minimum of one quarter or semester remaining after completing an internship. Good problem solving and debugging skills for modern-day multiprocessor systems (understanding how to write/debug code, and use Hardware level code debuggers and diagnostic tools is a plus)Hands on experience in Embedded Software/Firmware showing understanding of embedded systems, 8-32 bit microprocessors, IO’s, I2C/SPI and other interconnected buses.Ability to read schematic and translate into code (i.e. IO/Pin assignments, etc.) is a plus Experience in scripting is a plus.Experience outside of the classroom environment like an internship, hackathon, research project or related experience preferred.Demonstrated skill in time management and completing projects in a cooperative team environment. Device Driver Software EngineerCurrently pursuing bachelor's, master's degree in computer engineering, software engineering, computer science or related field with a minimum of one quarter or semester remaining after completing an internship. Good problem solving and debugging skills for modern-day multi-core, multi-process/thread systems (understanding how to write/debug code, and use debuggers and diagnostic tools is a plus)Experience in the development of PC based drivers and interface applications is highly desiredExperience outside of the classroom environment like an internship, hackathon, research project or related experience preferred.Demonstrated skill in time management and completing projects in a cooperative team environment. Program Manager Currently pursuing bachelor's, master's degree in engineering, computer science or related field with a minimum of one quarter or semester remaining after completing an internship. Experience beyond the classroom environment like an internship or related experience for customers strongly preferred.Ability to demonstrate understanding of computer science fundamentals that affect code implementation and customer experience.Familiarity with managing complex project schedules and nurturing cross-group collaboration.Demonstrated ability in estimating development time and relevant challenges to delivery. Strong written and verbal communication skills and a desire to create an open and collaborative team cultureDemonstrated skills in negotiation and conflict management. 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. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. 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.
electrical engineering, embedded systems, embedded software, embedded c, bluetooth, microprocessors, microsoft excel, microsoft word, linux, research, microsoft windows, time management, program management, hardware, software engineering