Full-Time Positions

Software and Hardware Development


Take the Leap, It’s Cool Inside
As a Microsoft employee in a full-time technical position, you’ll dive head first into meaningful work. The kind that inspires you. This is the kind of place where your goals are limited only by your imagination and motivation. What’s more, you’ll be backed by a multi-billion dollar company at the top of its game. It’s in your blood to innovate, so join others who share your passion, your talent, and your limitless energy.

“You will find no other company with the sheer breadth of technologies, from Windows kernel, to Office applications, to servers, to Live Web services, to Xbox, to games, to business solutions, to hardware. The things you get to see and learn from other people are amazing.”

- John, Software Development Lead, Windows Server Performance

Whatever position is right for you, whether it’s Software Development, Electrical Engineering or Hardware Test, you’ll make a real impact in the dynamic world of product development at Microsoft.

Start Here
Not sure what full-time position at Microsoft fits you best? Start by checking out a couple MSDN product development cycle examples to get an idea where your contributions could make the most difference: Security Development Lifecycle and Developing for the Enterprise.

Some of our Software and Hardware Development positions include:

Program Manager
Software Development Engineer
Software Development Engineer in Test
Hardware Design Engineer
Test Apprentice Program

Program Manager (PM)


Develop the Vision, and Deliver the Goods
As a Program Manager, you’ll drive the technical vision, design and implementation of next-generation software solutions. You’ll transform the product vision into elegant designs that will ultimately turn into products used by Microsoft customers. Managing feature sets throughout the product lifecycle, you’ll have the chance to see your design through to completion. You’ll also work directly with other key team members including Software Development Engineers and Software Development Engineers in Test. Program Managers are advocates for end-users, so your passion for anticipating customer needs and creating outside-the-box solutions for them will really help you shine in this role. As a Program Manager you will have the ability to lead within a product’s life cycle using evangelism, empathy, and negotiation to define and deliver results. You will also be responsible for authoring technical specifications, including envisaged usage cases, customer scenarios, and prioritized requirements lists.
Qualifications:
Pursuing a BS/MS or PhD degree in Engineering, Computer Science or related field
1-2 years experience programming in C++, Java or other computer programming languages preferred
Familiarity with managing complex project schedules, solving complex problems, and nurturing cross-group collaboration
Strong technical prowess, including understanding of algorithms, systems architecture, and end-user experience

Software Development Engineer (SDE)


Work at the Core of Every Product We Build
This is where the fun begins for code gurus like you. As a hands-on Software Development Engineer, you’ll make decisions about design and feature implementation, using your mastery of technical tools to make a product vision a reality. If you like to write code and design efficient data structures and algorithms to develop next-generation applications or operating systems, this is the position for you. As an SDE, you’ll bring products to life by working with Program Managers to ensure strong design and Software Development Engineers in Test to ensure quality through testing. Ultimately for the SDE, it’s your code that turns concepts into new technologies and services.
Qualifications:
Pursuing a BS/MS or PhD degree in Engineering, Computer Science or related field
1-2 years experience programming in C/C++/C#, Java and/or other computer programming languages preferred
Ability to derive creative and innovative solutions by thinking "outside the box"
Expertise in feature definition, design, and feasibility
Demonstrated skill in estimating development time

Software Development Engineer in Test (SDET)


Discover Life on the Last Line of Defense
As a Software Development Engineer in Test (SDET), you’ll own it, break it, fix it, and own it again. You’ll ensure a product’s quality by making sure it performs as users expect it to. Part of the fun is how creative you can be devising ways to manipulate, crush, and sabotage software into submission—while creating innovative testing technologies along the way.
Ultimately, as an SDET it’s your input that can make the difference between joy and frustration for the customers. A great SDET demonstrates interest in customer advocacy derived from a holistic understanding of the product from the code level to delivery. Since you’re keen on how things work, and making them work better, you’ll work hand in hand with the Program Managers and Software Development Engineers to design, develop, and maintain automation systems for use in development and testing cycles. Using the tools you create, you’ll pore over source code for trouble spots, debugging and isolating problems, and executing creative tests to find new bugs while regression testing recent fixes.
Qualifications:
Pursuing a BS/MS or PhD degree in Engineering, Computer Science or related field
1-2 years experience in C/C++/C#/VB.NET and experience designing and developing tool architecture preferred
Ability to solve complex problems and write automation systems and device drivers
Ability to author test plans and cases, conduct security and stress tests, and debug at source level after identifying, investigating, and prioritizing bugs
Demonstrated skills in negotiation and conflict management

Hardware Design Engineer


Innovation: Whether that innovation is called the first scroll wheel in a mouse, or the first off desktop backlit rechargeable media keyboard, the principle is the same: think about something that nobody has thought before, or improve something that already exists. A lot of people use the word; we make innovation happen. Join Microsoft Hardware and help us redefine innovation in our technologies. We need designers who relish solving tough design challenges, and who are passionate about creating innovative product experiences through hardware and software integration.

You will design and drive the development of fundamentals around a well-defined nucleus of user needs, tasks, and business goals. You’ll design for a wide range of user behaviors and interaction models for both near and long term products and develop prototypes for diverse projects including mice, keyboards, remote controls and other peripherals while working with a variety of emerging technologies such as touch, speech, and gesture. You will work hand in hand with industrial designers, user researchers, marketing, software development and hardware engineering professionals in a highly collaborative environment.
Qualifications:
Pursuing a BS/MS or PhD degree in Computer Science, Computer Engineering, Electrical Engineer or related field
Ability to drive collaborative efforts effectively across multiple disciplines
1-2 years internship or classroom experience in product development preferred
Ability to think strategically, be creative and be able to innovate ways to communicate and visualize user experiences
Demonstrated strong attention to detail and results-driven

Test Apprentice Program


If you’re passionate about software development and aspire to be a software development engineer but don’t have a Computer Science or Computer Engineering degree, then this program is ideal for you. The Test Apprentice Program consists of a nine-month training regimen designed to build your proficiency in the many aspects of software design engineering. Upon completion of the program, you’ll have the skills necessary to advance your career as a full-time Software Development Engineer in Test (SDET) at Microsoft.

Highlights of the Test Apprentice Program include:
Nine-month program consisting of classroom instruction, on-the-job training with a Microsoft product group, and individual mentoring
Formal coursework in programming concepts, C++ / C# programming, data structures, and software testing fundamentals
Opportunities to develop a strong technical foundation and apply coursework knowledge to real-world projects at Microsoft

Qualifications:
Pursuing a BS/MS or PhD degree in Physics, Mathematics, Electrical Engineering or related field
1-2 years practical or classroom coding project preferred
Demonstrated knowledge of computer science
Demonstrated analytical problem-solving skills, confidence, innovative thinking, interpersonal awareness, passion for quality and ability to collaborate with others

**



Interested in Software and Hardware Development Positions?

More On

Full-Time Positions

Software and Hardware Development
User Experience
Finance
Human Resources
IT/Operations
Marketing
Sales
Technical Consulting/Services

**