Senior C Programmer
What We Do:
Our team in the Cyber Risk and Resilience 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.
Our network situational awareness security tools are published here: https://tools.netsa.cert.org/
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, and some in Python. We are responsible for the entire life-cycle of the tools: requirements gathering/generation, development, testing, documentation, and user support.
Knowledge, Skills and Abilities:
- Polished to expert programming skills in C.
- Proficient scripting skills with bash.
- Strong problem-solving skills.
- Ability to learn a new programming language or development environment given appropriate time and resources.
- Ability to work both independently and with teams, manage multiple projects, and elicit technical requirements from management and staff.
Requirements:
- BS degree in Computer Science, Statistics, Engineering, Mathematics, Economics, Data Science, or a related highly quantitative discipline with ten (10) years of applicable experience; or a MS degree in a relevant discipline with eight (8) years of applicable experience; or a PhD in a relevant discipline with five (5) years of applicable experience.
- Periodic travel to customer sites, conferences, workshops, and stakeholder meetings is required.
- You will be subject to a background investigation and must have the ability to obtain and maintain a Department of War security clearance.
- Applicants for this position must be currently legally authorized to work for CMU in the United States.
Duties:
- Software Development (70%): Design, develop, and maintain high-performance software tools for collecting, processing, and analyzing large-scale network data using C, Python, and Bash.
- Customer Support (10%): Provide technical support by troubleshooting software issues, responding to user inquiries, and resolving reported defects.
- Documentation/Publication (10%): Prepare and maintain technical documentation, including user guides, installation instructions, and developer documentation.
- Testing (10%): Develop and execute unit, integration, and regression tests to ensure software quality, reliability, and performance.
Find Your Best Opportunity
Tell them AcademicJobs.com sent you!







