Expert Software Engineer
About the role
The candidate will provide development engineering and programming support to projects and infrastructure support activities to include: Provide database architectural and design capabilities, Develop unit and functional test plans, Provide the operations and maintenance of operational systems, Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance, Analyze user needs and software requirements to determine feasibility of design within time and cost restraints, Consult with customers about software system design and maintenance, Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
Responsibilities
- Design, develop, and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequence of design
- Develop and direct software system testing and validation procedures, programming, and documentation
- Confer with systems analysts, engineers, programmers and others to obtain information on project limitations and capabilities, performance requirements and interfaces
- Correct errors by making appropriate changes and then recheck the program to ensure that the desired results are produced
- Conduct trial runs of program and software applications to be sure they will produce the desired information and that the instructions are correct
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instruction so others can understand the program
- Write, update, and maintain computer programs or software packages to handle specific jobs, such as tracking inventory, storing or receiving data, or controlling other equipment
- Write or contribute to instructions or manuals to guide end users
- Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program’s instructions
- Prepare detailed workflow charts and diagrams that describe input, output, and logical operational, and convert them into a series of instructions coded in a computer language
- Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs
- Design, Develop, and Maintain applications within the cloud environment. This can be for new applications development or the transition of legacy applications to the cloud environment.
Requirements
- Active TS/SCI with Polygraph
- BS degree and 12 years of prior relevant experience. Additional experience in lieu of degree
- Demonstrated experience in multiple programming languages (Java, JavaScript, Python, and/or XML)
- Experience managing and developing web software
- Demonstrated experience with cloud services
- Experience in Windows and/or Unix
- Demonstrated experience with code repositories such as Git
- Familiarity with writing unit and integration tests
Qualifications
- Experience with Spring and Java
- Experience with databases such as PostgreSQL
- Experience working in an AGILE development environment
- Ability to work collaboratively in a team environment
- Experience with Docker, Kubernetes, and scalable/parallelized architecture
- Possess a passion for learning new technologies and staying up to date with industry trends
- Understanding of Intelligence Community customers and their priorities
Skills
None specified in the job posting.
Benefits
None specified in the job posting.
Pay
$131,300.00 - $237,350.00
Schedule
None specified in the job posting.