Our client is seeking talented software engineers with a passion for learning to tackle Cyber domain problems with distributed enterprise and cloud technologies. The engineer will engage with users to understand mission needs, will rapidly prototype and prove solutions to those needs in real-life scenarios, and will integrate, harden, and deploy solutions to operational environments using agile development techniques. This position is located in the client’s Annapolis Junction, MD offices.
Duties & Responsibilities:
- Rapidly prototype, develop, test, and deploy software solutions in a team environment.
- Adapt and change approaches to customer needs using agile development techniques.
- Assimilate new technologies quickly and apply them to customer problems.
- Current TS/SCI with polygraph clearance.
- Write well-factored, object-oriented code.
- Practice effective SCM with Subversion or Git.
- Rapidly learn new technologies and languages.
- Use a *nix-based desktop computer or server.
- Build distributed enterprise applications with the JEE stack, including servlets, JSP, JMS, JMX, REST, Spring, Hibernate, and open source frameworks.
- Leverage Spring to build multi-tier applications that implement security, retain application and session state, and integrate with external enterprise components.
- Configure, integrate, and deploy applications to enterprise application servers such as JBoss.
- Understand TCP/IP (packets, routing, protocols).
- Setup and maintain data flows.
- Understand the role of IDS/IPS in monitoring and defending local networks.
Nice to have:
- Lead and implement a medium to large-scale application using JEE, including separation between presentation and services tiers.
- Use a modular programming system like OSGi.
- Understand and implement complex event-processing solutions for real-time analysis of data.
- Leverage cloud technologies for storage and analysis of big data.
- Understand basic graph algorithms and be able to apply them to cyber problems.
- Understand tools and methodologies in analyzing TCP traffic.
- Understand Snort rules and their use in IDS systems.
- Parse data formats and write discrete fields into SQL and NoSQL databases.
- Given real world problems, suggest potential algorithmic solutions and/or directions to address those problems.