CACI is looking to solve networking and cybersecurity-related problems through software design and development for high-performance and embedded systems
Requirements
- Experience developing complex software applications that include multithreading, inter-platform communication, inter-process communication
- Significant experience with C++ and Python
- Comfortable using Linux operating systems and commonly used Linux utilities
- Some advanced knowledge of computer networking, including TCP/IP networking/OSI model, routing algorithms, Linux networking utilities and interfaces
- Ability to anticipate strengths and weaknesses of software solutions and perform simulation, testing, and evaluation to quantitatively compare alternative approaches
- Experience with networking challenges and applications related to dynamic and/or mobile ad hoc networks
- Knowledge of or experience with information theory, probability theory, parametric and non-parametric statistical tests
Responsibilities
- Develop and justify the performance of algorithms that implement networking and edge-computing functionality
- Supervise development of standalone applications and/or major software subsystems and components while adhering to software best practices
- Develop automated tests to rigorously test and evaluate algorithms and software capabilities
- Assist with technical project leadership, developing technical plans, creating schedules and milestones, and estimating labor
- Provide support developing systems engineering and software-related elements of proposals, white papers, and other customer-focused efforts
- Design and implement robust and performant software for both high-performance and embedded, resource-constrained systems
- Implement comprehensive unit and regression tests to verify code correctness and validate performance
Other
- Mastr’s degree in computer science, computer engineering, or machine learning and at least 6 years’ experience
- Excellent oral and written communications skills
- Demonstrated effectiveness in leading, organizing, and executing technical efforts
- Active Secret clearance with the ability to obtain, maintain and/or transfer the required security clearance as dictated by the contract
- Ph.D. in computer science, computer engineering, or machine learning