What Impact You’ll Have
Developers for this position will be active in all phases of software development: design, implementation, testing, deployment, and support. In this position, you will work within small teams to develop and deploy mission-critical systems, reverse-engineer network application protocols, and develop tools for complex data and network analysis.
What You’ll Be Owning:
-
Applications developed will vary from stand-alone scripts to complex, multi-threaded client / server architectures.
-
Successful candidates will be strong engineers who can prioritize well, communicate clearly, and have a consistent track record of delivery.
-
The development team requires creative engineering balanced with high quality and customer focus. You will have the ability to work in an entrepreneur environment and be able to contribute to a high-energy team.
What You Must Have
-
Active TS/SCI with the ability to obtain a poly
-
A Bachelor’s degree or foreign equivalent in Computer Science or a related field.
-
Experience writing and debugging multi-threaded applications.
-
Strong understanding of the TCP/IP stack and network protocols, especially as concerns communication of applications on the Internet.
What Would Be Nice to Have:
-
Familiarity with running/operating/debugging in a Linux environment. OS Internals(Windows/Linux/MacOS/Android/IOS). Kernel/User space boundaries and interactions.
-
Various CPU architectures, with focus on x86/64 and ARM. Linkers and loaders, differing compiler technologies.
-
Memory management concepts and application through CPU architectures.
-
Expert in C/C++ and Assembly.
-
Can tackle any other language to suit. Process privilege models.
-
OS design weaknesses.
-
Binary reverse engineering/IDA Pro/radare or similar framework experience.
-
Vulnerability research methods for various architectures and systems.
-
Familiarity with machine/statistical learning concepts a plus Embedded development experience a plus Experience exploiting newly deployed technologies a plus.