Cipher Tech is on the prowl for Software Developers of all levels who are interested in Digital Forensic and Reverse Engineering work! This job will require that you undergo and pass a security clearance investigation prior to work start. We have the ability to sponsor those that can demonstrate drive, proficiency, and a passion for national security!
We invite rising college seniors studying Computer Science or Computer/Electrical Engineering to apply!
During your Forensic Software career with us, you will provide support in the form of tactical application development, quick-turn scripting, debugging, process automation, and technical consulting to a digital forensic lab and associated forensic examiners, intelligence analysts and/or malware reverse engineers. Developers will both maintain existing software as well as develop new solutions to customer specifications and be working with a variety of technologies including .NET (C#), Python, SQL & MongoDB, among others. Developers who support intelligence analysts may presenting findings via a web stack and those who support reverse engineers will likely spend time writing plugins to static reverse engineering tools (i.e. via IDA Python).
The project teams are small, so you'll be working on the whole stack and implementing features from front to back. Because of the small team and fast-paced environment, you should be an adaptable generalist who is willing and able to gain proficiency in new technologies quickly. Furthermore, development teams may be split between various locations or shifts, so effective communication skills are a must.
Requirements: Candidates must...
- Possess US citizenship (no exceptions)
- Hold a Bachelor's degree in Computer Science, Electrical/Computer Engineering, Math or Physics (or be within one year of completion, no exceptions to degree type)
- Be self-motivated, detail-oriented, and have a strong work ethic
- Be familiar with high and low level programming languages
- Possess proficiency in at least one of the following programming languages:
- C, C++, C#, Java, or Python
- Be capable of debugging software applications
- Be able to gather testable software requirements
- Be able to participate in the design of new software applications
- Have familiarity with maintainable software processes including:
- Software documentation
- Source code versioning
- Unit testing
- Be able to quickly adapt to new situations and problems
- Be comfortable operating in a mission-critical and time-sensitive environment
- Have strong object-oriented programming skills
- Have the willingness and aptitude to quickly learn new skills, tools, and languages.
- Have experience with C#
- Have experience with reverse engineering
- Have experience with hex editors and working at the byte-level
- Have experience with NoSQL or MongoDB
- Understand digital forensics fundamentals
- Possess fluency in x86 and x64 assembly (if supporting reverse engineering teams)
- Possess familiarity with the Windows API
- Have experience using IDA Pro or Ghidra
- Have experience writing plug-ins for IDA Pro or Ghidra
- Have experience with other disassemblers
- Be familiar with Neo4j or other graph databases
- Mission focused work environment
- Subsidized medical/dental/vision insurance
- HSA contributions
- 401k matching
- Holiday and Paid Time Off (PTO)
- Monthly WAN parties & quarterly events
- Flexible hours
We do offer relocation assistance for those relocating 75 miles or more.
- Candidates must possess a relevant bachelor's degree, with some programming experience outside of the classroom. No formal experience is required, although it is preferred.
- Candidates must possess a relevant bachelor's degree and have a minimum of 5 years' experience OR possess a relevant master's degree and have a minimum of 3 years' experience.
- Candidates must possess a relevant bachelor's degree and have a minimum 10 years' experience OR possess a relevant master's degree and have a minimum of 8 years' experience.