Company Overview
CCG is a technology company focused on equipping customers with the capabilities and support to conduct intelligent and successful cyber operations. We do this by finding the most talented engineers and operators in the country, give them some of the most challenging problems facing the US government, and help them unleash their creativity and problem-solving skills. Excellence is our standard and mission success is our metric.
Role
Lead engineering teams in the design and development of frameworks and tools to support specific cyber team mission sets. This job entails setting technical direction for development teams, prototyping and developing initial concepts of products, working with customers to set and negotiate requirements, and supporting the development teams through the release project processes. Here is a general description of the overall job requirements of this position.
Responsibilities
Development and Technical Contributions
- Support software development teams in one or all of Python, C, and Go
- Have experience with reverse engineering tools like Ghidra, IDA, or Binary Ninja
- Be comfortable developing towards Linux and Windows systems
- Support build system design and development
- Improve CI systems to create efficient and robust release processes
- Architect solutions to projects and communicate to all relevant stakeholders
- Work collaboratively with your team on day to day engineering, software development, and customer tasks
- Understand the tradeoffs between design archetypes and be able to pick the best one for the current technical ask
- Support Software Release management ensuring that we are heading towards milestones and sprint iterations
- Stay abreast of emerging technologies as they pertain to customer mission/roadmap
- Ensure CCG technical standards are being met across the projects you support
Leadership
- Serve as subject matter expert for the specific supported customer
- Contribute to identifying the next wave of leaders for the technical track
- Be hungry to chase problems and technical understanding down. Take the time to learn what you're communicating about, to the point of working in code if you have to, to make sure you can convey and message things accurately to the customer
- Be able to negotiate requirements with the customer based on technical expertise and perform system design tradeoffs and analysis
- Assist in the formulation of technical requirements and decomposition of problems into tasks
- Work collaboratively to get feedback from operators, triaging feedback, and helping to building out technical roadmaps
- Support in documentation (writing, reviewing, proposals)
- Manages a community of interest to develop others
- Abide by general CCG leadership principles
Customer Engagement
- Be in comms with customer every two weeks to support release cadence
- Convey enough depth of technical communication to maintain good direction
- Be able to quickly digest technical content from the tech teams and reason about how it connects to the broader customer purposes
- Be able to glean intent from the customer, not just what the requirements are
- Understand how to ask insightful questions, not just state what we’re doing. Again, get to the intent of what a requirement is, not just reconfirm what it says on paper. Need to get more than pure yes and no answers. You gain insight by hearing their thought process. Ask leading questions to get them to think about “why” they would want something done a certain way, so that you can understand their “why”
- Be able to influence the customer through depth of knowledge, and help shape the direction of what we’re working on, and future efforts that we could work on
Required Qualifications
- Must be able to obtain and maintain a TS/SCI security clearance (note, only US Citizens are eligible for security clearances)
- Bachelors degree in Computer Engineering, Computer Science, Software Engineering, or a related technical discipline. Degree requirement can be met with four years of hands on experience in a software engineer or similar full time position
- 10+ years of professional experience developing software
- Proficient in one or more of the the following programming languages - C/C++, Assembly, Python, or GO
- Experience with containerization technologies (e.g., Docker, Podman)
- Comfortable and proficient in Linux and Windows based development environments
- Ability to collaborate as a team but execute independently
- Comfortable in a high-trust, adaptable, team environment
We are an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or veteran status.