This position is for a software engineer that has a deep knowledge of Unix operating system internals and development environments. The position is a development position that will require a candidate to have active C programming experience. The candidate should have current or previous low -level network programming experience. The candidate will be asked to write portable code that is compatible with multiple Unix operating systems and architectures. The candidate should be comfortable writing single and/or multi -threaded applications and Unix inter -process communication interfaces. The candidate will be asked to create new novel solutions and/or integrate new features and maintain existing software solutions supporting computer network operations. The candidate may be responsible for the entire lifecycle of solutions including design, development, testing, and customer support. This opportunity provides candidates with the ability to see how end -user customers use their software solutions and get feedback directly from customers. A candidate needs to be able to work independently and with small teams. The candidate will be required to track and report status directly to their customer. The candidate must be able to write or learn a high -level programming language like Python or Ruby. Preferred skills that will set a candidate apart include experience in static and dynamic reverse engineering, vulnerability research, binary analysis of executables, exposure to kernel programming, exposure with assembly languages, and/or ability to analyze and signature network protocols.