
Software Engineer
Orbis
full-time
Posted on:
Location Type: Office
Location: Annapolis Junction • Maryland • United States
Visit company websiteExplore more
Tech Stack
About the role
- Analyze user requirements to derive software design and performance requirements.
- Debug existing software and correct defects.
- Design and code new software or modify existing software to add new features.
- Write or review software and system documentation.
- Integrate existing software into new or modified systems or operating environments.
- Develop simple data queries for existing or proposed databases or data repositories.
- Software development using languages such as C, C++, Python, Ruby, Perl, JavaScript, etc.
- Has experience with agile development processes.
- Has experience with source code control systems, such as Git.
- Serve as team lead at the level appropriate to the software development process being used on any particular project.
- Design and development of relational and non-relational database applications.
- Use of orchestration frameworks such as Spring and Kafka.
- Familiarization with queue management systems Develop or implement algorithms to meet or exceed system performance and functional standards.
- Develop and execute test procedures for software components.
- Develop software solutions by analyzing system performance standards and conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problem areas.
- Modify existing software 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 outcomes and consequences of design decisions.
- Java development using the Eclipse IDE (Integrated Development Environment).
- Development of Java 2 Enterprise Edition (J2EE) applications.
- Experience using collaboration and software development tools (ie. Atlassian).
- Software development using continuous integration practices.
- Experience with container technologies (ie. Docker).
- Unix shell scripting.
- Development of event driven, or data driven analytics.
- Development of cloud-based solutions and technologies.
- Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints.
- Perform quality control on team products.
- Recommend and implement suggestions for improving documentation and software development process standards.
- Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project.
- Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements, and interfaces.
- Coordinate software installation on a system and monitor performance to ensure operational specifications are met.
- Recommend new technologies and processes for complex software projects.
- Serve as the technical lead of multiple software development teams.
- Select the software development process in coordination with the customer and system engineering.
- Ensure quality control of all developed and modified software.
- Delegate programming and testing responsibilities to one or more teams and monitor their performance.
Requirements
- Must be authorized to work in the US
- Active TS/SCI w/ appropriate level Polygraph required
- Experience using the Linux CLI
- Experience developing scripts using Bash/Python
- Experience developing with Java in a Linux environment
- Experience with software frameworks used for searching, monitoring, and analyzing big data such as Splunk, and Elastic Stack
- Experience with monitoring and alerting tools including Prometheus
- Experience with data visualization and analytics tools including Grafana
- Experience developing with messaging frameworks including Kafka
- Experience with noSQL technologies such as Elasticsearch and MongoDB
- Experience with Key/Value and Time-series databases such as OpenTSDB
- Experience with IaC (Infrastructure as Code) principles and automation tools including Ansible
- Experience with CI/CD concepts, principles, methodologies, and tools such as GitLab CI
- Experience with Git Version Control System
- Masters degree in computer science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
- Bachelors degree in computer science or related discipline from an accredited college or university, plus seven (7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
- Nine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
Benefits
- Health insurance
- Paid time off
- Professional development opportunities
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
CC++PythonRubyPerlJavaScriptJavaBashLinux CLInoSQL
Soft Skills
team leadquality controlcommunicationdelegationcollaboration
Certifications
TS/SCI PolygraphMasters degree in computer scienceBachelors degree in computer science