Software Engineer
Role details
Job location
Tech stack
Job description
- Works from established requirements and uses established software engineering processes to develop software systems, subsystems, and system enhancements.
- Completes detailed design and development work independently for individual software components and integrates the developed products together individually and/or at the subsystem level.
- Follows software engineering standards and assists engineers in software system or subsystem development and documentation efforts.
- Adheres to schedules and stays within established budgets.
- All aspects of the software development lifecycle include scope and work estimation, architecture and design, coding, and automated testing within an Agile and Continuous Integration and Continuous Delivery model.
- Design, develop, troubleshoot, and debug mission critical software source code using modern software development languages and tools, such as Java.
- Design and execute maintainable code that matches specification.
- Create automated tests leveraging a continuous integration process.
- Implement Agile development tools such as Jira, Confluence, and Bitbucket/Git to manage work and collaborate with your teams.
- Create and update relevant documentation and specifications for design, development and testing.
- Identify potential roadblocks and develop software solutions where the solution is not always well defined but always considers the customer first.
- Work to improve performance metrics through critical planning and execution of development tasks.
Requirements
-
Bachelor of Science degree in a relevant field and five (5) + years of related development experience. Additional experience may be considered in lieu of degree. Excellent problem solving and analysis skills.
-
Hands-on experience with Java/C++ and object-oriented programming. Experience with Java, Python, JavaScript, Bash and other languages. Ability to apply software development process fundamentals in an Agile environment.
-
Ability and experience effectively communicating technical and programmatic issues. Demonstrated ability to work within teams. Strong organizational skills. Self-starter that can work independently while possessing communication skills to work effectively with software development teams.
-
Position requires candidates to possess active SECRET security clearance to be considered for this role.
-
Experience with container technologies such as Docker and container orchestration tools like Kubernetes
-
Experience with Atlassian products (Jira, Trello, Confluence, Bitbucket, etc.)
-
Experience with CI/CD pipeline tools like Jenkins and GitLab
-
Experience working in a Linux environment.
-
Experience with cloud computing virtualization platforms like VMware vSphere
-
Experience with automated provisioning and configuration tools like Ansible, Terraform, CloudFormation, Chef, Puppet or similar technologies
-
Experience with data monitoring platform tools, such as Grafana
-
Experience with data instrumentation tools, such as Metabase
-
Familiarity with basic web technologies including HTML, CSS, XML, REST, JSON, SOAP, and WSDL
-
Familiarity with web application technologies, such as Apache Tomcat, JBoss, etc.
Benefits & conditions
has a new and exciting opportunity for a in our . Our talented team is at the forefront in Security Engineering, Computer Network Operations (CNO), Mission Software, Analytical Methods and Modeling, Signals Intelligence (SIGINT), and Cryptographic Key Management. At , we offer , including Paid Time Off, 11 paid Holidays, 401K with a 6% company match and immediate vesting, Flexible Schedules, Discounted Stock Purchase Plans, Technical Upskilling, Education and Training Support, Parental Paid Leave, and much more.