Assistant Software Engineer - C Programmer-2015511

Carnegie Mellon University

Pittsburgh, PA

ID: 7069225
Posted: August 27, 2020
Application Deadline: Open Until Filled

Job Description

What We Do:

Our team in the Security Automation Directorate researches and develops software tools capable of collecting, storing, and analyzing organizational network data to provide security analysts insights into what is traversing their network. We provide both the core network tools to facilitate this capability, and prototypes of new ways to present the data effectively. We deal with a scale of network data generally unseen by most organizations, handling record counts in the tens of billions per day.
Developing security insights at this scale requires creativity, efficiency, and staying up to date with modern computing platforms. In some cases, the computing has outpaced the methods, and it is incumbent upon us to generate novel views of both the entire data collection, and of focused datasets tailored to specific analyst needs.
Our network situational awareness security tools are published here:

Position Summary:

You’ll be responsible for developing software within our network data collection suite, and pushing the bounds of the uses of those tools. Much of the software is written in C, Python, and Scala. We are responsible for the entire life-cycle of the tools: requirements gathering/generation, development, testing, documentation, and user support.

There is room for independence for new tools or projects to make our software suite more complete. Making the tools easy to integrate and deploy, along with writing documentation are additional tasks for the position. You will work on existing projects with more senior developers until you have a grasp of the tool suite and gain domain expertise to take command of new or current tools.
You bring the design and software skills, and we’ll bring the domain knowledge to solve the hard network security data problems.


BS in Computer Science or related discipline
Movement between buildings within the SEI and CMU community required.
Willingness to travel to various locations to support the SEI’s overall mission. This may include national travel to sponsor sites, conferences, and offsite meetings on occasion.
You will be subject to a background check and will need to obtain and maintain a Department of Defense security clearance.

Knowledge, Skills and Abilities:

Programming skills in C
Useful scripting skills with bash
Strong problem-solving skills
Ability to learn a new programming language or development environment given appropriate time and resources.

Desired Experience:

Some application / server level software development, meaning completed projects in C. Significant projects in an academic setting qualify. Work beyond basic scripting is required.
Awareness of some aspects of the software / systems development lifecycle, QA testing, revision control, and change management practices
Experience with network data collection or flow data is a plus, but not a requirement. It is our responsibility to transfer domain knowledge.


Apply Now

Please mention to the employer that you saw this ad on