In this role, the ideal candidate can analyze user requirements to derive software design and performance requirements. While designing and coding new software or modifying existing software to add new features. You will also debug existing software and corrects defects, while integrating existing software into now or modified systems or operating environments. You will develop simple data queries for existing or proposed databases or data repositories, while also making recommendations for improving documentation and software development processing standards.
To develop or implement algorithms to meet or exceed system performance and functional standards, while assisting with developing and executing test procedures for software components.
Write or review software and system documentation.
Developing software solutions by analyzing system performance standards, conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problem areas.
Serve as team lead at the level appropriate to the software development process being used on any particular project, also getting to modify existing software to correct errors, to adapt to new hardware, or to improve its performance, design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints and perform quality control on team products.
Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces and coordinate software system installations and monitor equipment functioning to ensure operational specifications are met while also implement recommendations for improving documentation and software development process standards.
You’ll Bring These Qualifications:
20 + years’ experience as a software developer.
10+ years’ direct experience with Java developer.
5+ years’ experience with JEE development.
Typically has an advanced University Degree (PhD/MS) or equivalent experience and minimum 12 years of related work experience.
Experience working on Data-driven business applications written in Java.
Experience with GIT.
Experience using SPLUNK.
Must be comfortable working in either Windows or Linux based environments.
Experience with Agile/Scrum methodology.
Good communications and documentation skills.
These Qualifications Would be Nice to Have:
OLTP database (Oracle, and MongoDB) database experience a plus
Domain knowledge of the TUSCAN portfolio of capabilities is a plus
Good working knowledge of Linux/Unix and scripting (sh, bash, perl, and other scripting tools/language)
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.