Principal Emulation Developer
Raytheon is a premier engineering company that provides technical solutions in software development and systems engineering that address security challenges. Raytheon hires industry-leading cyber professionals, and we treat them like industry-leading cyber professionals. We bring exceptional talent to an array of missions that includes computer network operations, vulnerabilities, characterization, information assurance, and emerging technologies to expand cybersecurity solutions. Raytheon engineers are developing advanced analytics helping transform analysis by making sense of the massive amounts of data that must be processed quickly to respond to evolving mission needs. Position Description:Emulation developers design custom software tools and techniques to emulate hardware architectures, including microprocessors, memory, bus architectures, communication devices, storage, peripherals, human interface devices, systems-on-a-chip (SoCs), and more. They have a strong understanding of how systems work "under the hood,"A' and as a result they work at the hardware level and the lowest level of software, where the operating system interacts with hardware. They also mentor and lead junior-level developers to accomplish mission objectives and solve real-time engineering challenges. Successful candidates will enjoy reversing complex, novel, and poorly documented systems. They will perform reverse engineering at all levels, to include manual and automated analysis with Ghidra, IDA, and other tools. Scripting and automation of reverse engineering tasks within the framework is a common requirement. Occasionally the reversing will also include hardware or complex databases and applications. Required Skills: Eight (8) years' experience programming in C, C++, Assembly and PythonFive (5) years' experience developing in one (1) or more of the following: Windows applications using Visual Studio or .NET environments, UNIX applications using make files or comparable build environments, Mission-applicable platformsFive (5) years' experience developing software systems that emulate real hardware or firmwareThree (3) years' experience leading software development projectsStrong understanding of networking principles; ability to quickly understand new protocol stacksExperience writing and managing software requirementsExperience with modern software test techniques and platformsExperience with modern continuous integration techniques and platformsExperience with modern source control (git, Atlassian, or similar) Desired Skills:Hypervisor developmentFPGA developmentDevice driver developmentLow-level experience in multiple operating systems and instruction setsJTAG debugging Education Requirements: Bachelor's Degree and four (4) years' experience in computer science, computer engineering, software engineering, or equivalent; eight (8) years' of total relevant experience can be substituted for a degree. Security Clearance:Qualified applicants may be subject to a security investigation, US Citizenship is required. Our Interviews:Our interviews are technical. Come prepared to tell us about your technical background and interests as well as to work through some of our questions on a computer or whiteboard. We hope candidates find our questions to be thought provoking, but we don't ask brain teasers or tricks. This is a chance to have a dialog with our team, and we hope you will enjoy it!177233Raytheon is an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, creed, sex, sexual orientation, gender orientation, gender identity, national origin, disability, or protected Veteran status.