About the role

The main function of a Software Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialized utility programs, including client/server applications, as well as major enhancements to existing systems. Key projects: Fine‑tune and improve a variety of sophisticated software implementation projects Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data Analyze and review enhancement requests and specifications Analyze existing complex implementations based on legacy APIs and develop design based on newer APIs Independently read and understand the architecture of complex systems software with a view to modernize it Implement system software and customize it to client requirements Prepare detailed software specifications and test plans Code new programs to client specifications and create test data for testing Modify existing programs to new standards and conduct unit testing of developed programs Create migration packages for system testing, user testing, and implementation Perform post‑implementation validation of software and resolve any bugs found during testing Write clean, maintainable systems‑level code in C and C++ Work effectively in a Windows OS development environment (strongly preferred) Independently debug and fix issues in legacy software by adding instrumentation, traces, and using tools such as Windows Debugger Candidate Requirements
Must haves: Solid understanding of Operating Systems, preferably Windows Read and write C/C++ code. Ability to rapidly gain understanding of kernel driver APIs. Insufficient proficiency in reading and writing code is a main disqualifier for all related requisitions. Less than 3 years of relevant work experience is also a disqualifier, as the team cannot spend significant time training new hires. Best vs. Average Bachelor's degree in a technical field such as computer science, computer engineering, or related field required 5–7 years of experience required A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design Large systems software design and development experience Experience performing in‑depth troubleshooting and unit testing with both new and legacy production systems Experience in programming and experience with problem diagnosis and resolution Strong operating systems knowledge with hands‑on experience writing systems‑level code in C and C++ Proficiency with debugging tools and techniques, including Windows Debugger, instrumentation‑based analysis, and WPP/ETW trace collection and analysis

Matching similar jobs

JOB OVERVIEW

Experience level

Lead

Location

Redmond, WA

Occupation

Software Developers

Industry

Computer Systems Design Services

Posted

2 days ago

Tired of running searches?

Rank the roles you'd take once, and matches like these arrive on their own.

CREATE PROFILE