Senior Software Engineer, Microsoft Devices Group on the Surface product in Redmond, WA


TitleSenior Software Engineer
CategoryTesting (engineering)
LocationRedmond, WA
DivisionMicrosoft Devices Group
ProductSurface
Date AddedMarch 27, 2015
Open Positions3

Are you passionate about building cool devices and technologies? Microsoft's Surface Team focuses on building devices that fully express the Windows vision. A fundamental part of our strategy is having desirable and powerful devices that enable the experiences people want, and elicit their excitement. Creating these devices involves a close partnership between hardware and software engineers, designers, and manufacturing. We are currently building the next generation and Surface needs you!

Role & Opportunity:
The Microsoft Surface Team is seeking qualified candidates for Software Engineers positions in the Design Verification team. You will be responsible for the design verification, characterization, tuning and qualification of software and firmware for different Surface devices. You will develop comprehensive verification and characterization strategies, tools and plans that bridge high-level use cases to product architecture/design to effectively and systematically reveal and screen out defects. Part of your role will be to provide critical analysis of data and to drive the right solutions, design changes, optimizations and trade-offs in the context of business priorities. On a frequent basis, you will create and introduce innovative test techniques, tools and methods to ensure robust product qualification as well as a deep understanding of the ways the products in general and your area of ownership is used. You will also lead test strategy discussions, develop test methodologies and plans, execute test procedures, and project-manage qualification cycles.
The position involves working closely with electrical engineers, mechanical engineers, software engineers, hardware verification engineers, manufacturing test engineers and program managers.

Qualifications:
BS/MS in Computer Science or similar with more than five years of experience designing, developing and testing low level software and firmware for high-volume consumer electronics.
Great coding and debugging skills with proven experience with drivers and\or embedded software
Demonstrated ability to design comprehensive verification strategies with supporting documentation including test plans, procedures, and reports.
Strong communication skills required, including the ability to clearly express technical concepts in verbal and written forms.
Must be able to plan work, and work to a plan adapting as necessary in a rapidly evolving environment.
The ability to comprehend and assimilate technical concepts across multiple disciplines is a plus.
Enthusiastic, motivated and self-driven.
Domestic and international travel may be required.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, gender, sexual orientation, gender identity or expression, religion, national origin, marital status, age, disability, veteran status, genetic information, or any other protected status.
Apply for this job at Microsoft
Are you passionate about building cool devices and technologies? The Surface Team focuses on building devices that fully express the Windows vision. A fundamental part of our strategy is having desirable and powerful devices that enable the experiences people want, and elicit their excitement. Creating these devices involves a close partnership between hardware and software engineers, designers, and manufacturing. We are currently building the next generation and Surface needs you!

Roles and Responsibilities
The Surface team is seeking qualified candidates for Engineer positions in the Design Verification team to work on our next generation Surface. You will be responsible for the design verification, characterization, tuning and qualification of Surface hardware. You will develop comprehensive verification and characterization strategies and plans that bridge high-level use cases to product architecture/design to effectively and systematically reveal and screen out defects. The Design Verification Engineer provides critical analysis of data and drives the right solutions, design changes, optimizations and trade-offs in the context of business priorities. On a frequent basis, you will create and introduce innovative test techniques and methods to ensure robust product qualification. You will also lead test strategy discussions, develop test methodologies and plans, execute test procedures, and project-manage qualification cycles.

The engineer will work in a fast-paced environment and will need to demonstrate ability to learn new technologies, make progress quickly and with the maturity to identify and fill gaps. Candidates must enjoy working collaboratively with development, program management, hardware engineers, and partner teams. This is an excellent opportunity for a motivated engineer with a passion for integrated experiences to thrive in a small team environment. This person will ensure we are delivering the complete end-to-end hardware and software experiences that delight our customers.

The Candidate will:
Be responsible for all aspects of test engineering for their features, with opportunities to stretch more broadly. This will include working closely with software and hardware developers and program managers to create solid core designs and enable testability of the products.
Develop new test architectures, methodologies, tools and comprehensive test plans. This includes documenting test architecture, test plans and test cases.
Conduct technical reviews throughout the development process. This would include reviews of the test architectures, test plans, test cases, and results.
Create appropriate test automation for all aspects of assigned features including core scenarios, performance, reliability, and stress.
Work on new devices at various stages of hardware development including proto-type hardware.
Drive defect reproduction and analysis, study of data produced from static and dynamic code analysis tools, and participate in specification reviews, design reviews, and code reviews.
Drive test analysis through test suite code coverage and data analysis tools.
Identify product risk areas and mitigate them through targeted testing.

Minimum Qualifications:
BS/MS in Electrical Engineering, Computer Engineering, related degree or equivalent experience.
Demonstrated ability to design comprehensive verification strategies with supporting documentation including test plans, procedures, and reports.
6 or more years' of experience in a relevant field.
5 or more years' experience coding and debugging in C, C++ and/or C#.
2 or more years' experience in testing and/or debugging Windows drivers (Kernel mode and User mode).
1 or more ship cycles - Experienced shipping software and having been through more than one shipping cycle (same or different product).
Working knowledge of 2 or more PC subsystems: WiFi, Bluetooth, Networking, Audio, Video, Display and Graphics, SSD and Storage, Touch systems, external ports like USB and DisplayPort, and UEFI.
Ability to demonstrate a strong skill-set in analytical problem solving, a history of increasing responsibilities and decision-making experience.
Excellent interpersonal skills including written and oral communications.
Domestic and international travel may be required.

Additional desirable qualifications:
Working knowledge of firmware and/or embedded systems.
Deep background and understanding in Windows and PC architecture, including driver architecture.
Experience in Windows Programming.
Experience using a debugger to quickly identify and resolve issues spanning multiple subsystems.
Enthusiastic, motivated and self-driven.
High tolerance to ambiguity and ability make progress in the face of it.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, gender, sexual orientation, gender identity or expression, religion, national origin, marital status, age, disability, veteran status, genetic information, or any other protected status.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, gender, sexual orientation, gender identity or expression, religion, national origin, marital status, age, disability, veteran status, genetic information, or any other protected status.
Apply for this job at Microsoft
As a member of the Surface Enterprise and Post Launch Engineering team, you will be the last line of support and the engineering representative for Surface devices to large Enterprise customers.
You will be required to have an exhaustive understanding of all the subsystems of Surface devices, including bugs and pending fixes.

You will collaborate with account managers, Customer Support and sometimes directly with customers, to understand and resolve technical issues.

You will own the issues by driving bug investigations, repro and potential fixes within the Post Launch and Product Design teams. You will then be responsible validating any fixes, and driving changes to existing dev and test processes to ensure coverage on this feature or issue in the future.

Requirements:

BS or greater in Computer Science, Electrical Engineering or related discipline

7+ Years as an engineer (SDE or SDET) in the PC or consumer electronic industry.

3+ Years developing or debugging in Windows with knowledge Kernel Debugging, PerfTrace, WinDBG, and other tools.

Very deep background and understanding in Windows and PC architecture, including driver architecture.
Working knowledge of PC subsystems: WiFi, Bluetooth, Networking, Display and Graphics, SSD and Storage, Touch systems, external ports like USB and DisplayPort, and UEFI.

Experience and proven ability to create and execute test automation and scripts to drive experiments, build new test cases and infrastructure and automate field updates. C++, C# and PowerShell experience extremely desirable.
Great communication and collaboration skills. This role requires constant cross team and cross discipline collaboration as well as some customer interaction.

Independent and self-driven. This role requires someone to be able to take an issue from initial report all the way to conclusion and deployment to customers. This strongly requires someone who loves to take ownership and initiative.

Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, gender, sexual orientation, gender identity or expression, religion, national origin, marital status, age, disability, veteran status, genetic information, or any other protected status.
Apply for this job at Microsoft