|Job Type:||Full Time|
Join the Applied Sciences Group and help imagine and create the future of Microsoft’s hardware and software businesses. We seek creative, broadly skilled engineers, with a talent for unconventional thinking and a track record of bringing innovative ideas to fruition.
As a Firmware/Software Engineer for Applied Sciences Group, you will do the following:
- Systems programming with a focus on embedded systems, characterizing those systems with software tools.
- Work with a multi-interdisciplinary team of researchers with expertise in hardware, sensors and signal processing.
- Assist the team to finish productization of projects in the pipeline.
- Create the next generation of devices and user experiences.
- Use considerable creative freedom and demonstrated judgment in selecting concepts to pursue and allocate time for their development. The ideal candidate is able to thrive in an entrepreneurial environment, be self-driven, self-directed, and handle ambiguity well.
- Bachelor's degree or higher and 5+ years of industry software development experience with 4+ years firmware development OR 8+ years of industry software development experience with 7+ years firmware development
- Systems programming and low level programming in C and C++
- Programming for microcontrollers
- Operating systems fundamentals (memory allocation, memory mapping, threads, concurrency, task scheduling, inter-process communication, etc.)
- Ability to work in ambiguous uncharted areas and having the experience, creativity and technical depth to pick the right direction.
- Proficient use of embedded peripherals (USB, I2S, I2C, DMA, ADC, DAC, timers, etc.)
- Hardware bringup and characterization of analog and digital electronics, including the use of typical test equipment (oscilloscopes, multimeters, function generators, etc.)
- Highly valued experience in one or more of the following
- GNU toolchains and build environments
- Software development for Windows or Linux
- Electrical architecture and circuit design
- Schematic capture and board layout
- Knowledge of languages for fast prototyping (e.g., Python, MATLAB)
- A strong drive to experiment, prototype and improve.
- The ability to clearly communicate what work you have done, why it was important, and how it was different from other projects.
- Creativity coming up with ideas and clever solutions to problems, as well as turning around and building them.
- B.S. in computer science, electrical engineering or related area.
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.