Summary: Under minimal direction, performs as a fully experienced Software Developer in design, development, coding, testing, and debugging new software or providing complex enhancements to existing software. Works with technical staff to understand and to develop resolution of software problems. Participates in the development of software user manuals. Assists in the training of less experienced software development staff and may act as a team leader on less complex projects.
In CACI's Cyber Capabilities and Development Division (C2D2), there isn’t a day that goes by where you won’t be challenged and have the opportunity to grow in an environment of innovation and fun! Although CACI is a mid- to large-sized company, C2D2 operates like an independent small agile business, developing and executing on both long-term projects, as well as, Quick Reaction Capability development, rapid acquisition, and short-term deliverables. We approach our Customers as mission partners and focus on mission-oriented capabilities that deliver tip-of-the-spear force multiplying effects. In short, we believe in our mission, our team, and our solutions!
Duties and Responsibilities:
Writes code to create single-threaded or user interface event driven applications, either stand-alone or those which access servers or services.
Develops code necessary to complete the assigned project(s) in the specified time frame according to departmental standards and guidelines.
Writes, modifies, and debugs software for client applications.
Identifies and reports problems in new and existing software. Recreates reported software problems to facilitate solutions. This includes validating the fix for the software problem. Resolves customer complaints with software and responds to suggestions for software modifications or enhancements.
Assists in the preparation of internal software design documentation.
Develops the critical components of the solution, including but not limited to, security, rules infrastructure, custom adapter implementation, and application interfaces.
Uses source debuggers and visual development environments.
Architects and codes multi-environment system solutions utilizing various programming languages.
Profiles, analyzes and optimizes the software he/she is responsible for implementing.
Employs best practices for design, development, unit testing and test plan development.
Supports completed software throughout the Software Development Life Cycle and in production.
Seeks to improve personal job related knowledge and departmental process by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities, and reading professional publications.
Assists in the training of less experienced software development staff and may act as a team leader on less complex projects.
Develops software system testing procedures, programming, and documentation.
Consults with customer concerning maintenance of software system.
Provides support for the acquisition, installation, maintenance and operations of computer systems hardware, software and networks within assigned customer work stations and facilities.
Supports proposal efforts by significantly contributing technical material to selected proposals and reports to substantiate and secure program funding.
Identifies creative solutions to improve system and product offerings. Represents the organization in providing solutions to difficult technical problems associated with specific projects
Researches problems discovered by quality assurance or product support and develops solutions to the problems.
Works with engineering and management team to collectively meet market requirements.
Documents engineering work as input for company collateral and patent requirements.
Collaborates with technical writers to create customer-relevant documentation.
Coordinates with project work teams to ensure adherence to policies, achievement of quality targets and delivery on schedule milestones.
Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications
Conduct security assessments of systems, networks and software.
Approximately 5 or more years related experience with a Bachelor’s degree or equivalent.
Knowledge of C, C++, C#, Java, Python
Extensive experience designing and developing enterprise grade software
Experience with source control management systems and continuous integration/deployment environments
Experience with automated testing
Experience with agile development methodologies including Kanban and Scrum
Experience with multi-threading and concurrency
Experience with debugging, performance profiling and optimization
US Citizenship and the ability to obtain a TS/SCI clearance
Knows the difference between CVE and CWE
Understands code versioning and tools such as GIT
Has working knowledge of operating systems and algorithms
Knowledge of networking and cryptographic communications
Working knowledge of Kali Linux and the tools that come packaged with Kali Linux
Experience with debugging, disassemblers, and decompilers (GDB, IDA Pro, Binary Ninja)
Outside interest in security
National and Cyber Solutions Group (NCS) is one of the leading providers of innovative, rapid response solutions for intelligence, cyber security, and Command, Control, Communications, Computers, Combat Systems, Intelligence, Surveillance, and Reconnaissance (C5ISR) across the Defense, Intelligence, and Homeland Security communities. NCS delivers the full spectrum of intelligence support, from strategic thought leadership to tactical operational support to leading edge cyber and multi-INT technologies – in order to meet the intelligence community’s most pressing mission needs.
The NCS Business Group spans five core mission areas, enabling us to specifically tailor services and solutions to meet our nation’s most pressing national security objectives: Cyber Intelligence Solutions, Digital Signal Processing (DSP) Development, Radio Frequency (RF) Solutions, Mission Application Development, and Geolocation Solutions. What We Can Offer You:
- We’ve been named a Best Place to Work by the Washington Post.
- Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives.
- We offer competitive benefits and learning and development opportunities.
- We are mission-oriented and ever vigilant in aligning our solutions with the nation’s highest priorities.
- For over 55 years, the principles of CACI’s unique, character-based culture have been the driving force behind our success.