Software Engineer

Responsibilities will include designing and implementing network intelligence software on Linux as well as on specially targeted network processors and accelerators. 

IP Fabrics produces products for IP network intelligence applications using its proprietary technologies of deep-packet inspection and deep-application-protocol inspection. Customers include law-enforcement agencies, intelligence agencies, and telecommunications carriers.

The position requires some customer interaction with up to 25% domestic and international travel.

The ideal candidate will have a B.S. or M.S. in Computer Science/Computer Engineering/Electrical Engineering, previous internship or limited hands-on experience designing and writing networking software at the protocol level and a sound understanding of Linux system fundamentals.  Coursework and implementation experience analyzing protocols or applications such as email, webmail, SIP, social media, are a plus and indicate the desired technical background being sought. Embedded systems experience (especially with multi-core processors) is also desirable.

Sample initial assignments may include:

·         Assist senior engineers who are implementing significant portions of the IP Fabrics data plane technology.  The specific area will depend on the background and focus area of the successful applicant.  Tasks will include creating and documenting designs, implementing the designs using network engines, and testing/optimizing the designs and implementation. 

·         Analysis and decomposition of network and application protocols.

·         Create and optimize packet receive and transmit code to achieve desired performance.  Participate or lead performance benchmarking and measurement efforts.  This includes working on both the network acceleration engine and Linux software that interfaces with it.

·         Linux system builds, kernel builds and device driver optimization.

·         Possible interface with technical customers. 

Based on the above, it is expected that viable candidates will have many or all of the following attributes and experience:

·         Will have been exposed to the internals of at least one IP-based communications package or product.  The most applicable types of functions include firewalls, email systems, web browsers, VoIP, content switches/load balancers, intrusion detection systems, media gateways, routers.

·         Will have some background with low-level networking software.

·         Will have some background in how and when to use multi-core/multi-processor/multi-thread techniques to enhance application performance.

·         Will have recent hands-on experience with Ethernet and IP.  Will have had coursework or experience with some other protocol suites such as: IPv4/IPv6, TCP/IP, UDP, SCTP, TLS/SSL, SIP, RTP, SMTP, IMAP4, POP3, HTTP, RADIUS, Diameter, DHCP, XMPP.

·         Will have practical experience implementing systems using C/C++.  Java is a plus.

·         GUI/web interface development is desirable.

·         Will have a working knowledge of Linux system internals. 

·         Will have some experience describing technical details to technical peers.

·         Will have a track record of successful, on-time project completion.