About the job
What You'll Contribute
As a Software Engineer/CNO Developer, you will engage in all stages of software development, including design, implementation, testing, deployment, and support. This role involves collaborating within small teams to create and deploy mission-critical systems, reverse-engineering network application protocols, and developing sophisticated tools for data and network analysis.
Your Responsibilities
- Develop applications ranging from simple scripts to complex, multi-threaded client/server architectures.
- Demonstrate strong engineering skills with a proven ability to prioritize tasks, communicate effectively, and consistently deliver results.
- Contribute creative engineering solutions while maintaining a focus on quality and customer satisfaction in a dynamic, entrepreneurial environment.
Essential Qualifications
- Active TS/SCI clearance with the capability to obtain a polygraph.
- Bachelor’s degree or equivalent in Computer Science or a related discipline.
- Proficiency in writing and debugging multi-threaded applications.
- Strong knowledge of the TCP/IP stack and network protocols, particularly regarding application communication over the Internet.
Preferred Qualifications
- Experience with Linux environments, including OS internals (Windows/Linux/MacOS/Android/iOS) and kernel/user space interactions.
- Understanding of various CPU architectures, focusing on x86/64 and ARM, along with experience in linkers, loaders, and compiler technologies.
- Knowledge of memory management concepts relevant to CPU architectures.
- Expertise in C/C++ and Assembly language; ability to adapt to other programming languages as necessary.
- Familiarity with binary reverse engineering tools such as IDA Pro or radare.
- Research experience in vulnerabilities across different architectures and systems.
- Familiarity with machine learning concepts and embedded development is a plus.

