Network Software Engineer
Role details
Job location
Tech stack
Job description
Description: Full lifecycle application development. Designing, coding, and debugging applications in various software languages. Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis. Object-oriented Design and Analysis (OOA and OOD). Software modeling and simulation. Front end graphical user interface design. Software testing and quality assurance. Performance tuning, improvement, balancing, usability, automation. Supports, maintains, and documents software functionality. Integrates software with existing systems. Evaluates and identifies new technologies for implementation. Maintains standards compliance. Implements localization or globalization of software., * Designs, develops, documents, tests, maintains, and debugs applications software and systems that contain logical and mathematical solutions.
- Conducts multidisciplinary research and collaborates with equipment designers and/or hardware engineers in the planning, design, development, and utilization of electronic data processing systems for product and commercial software.
- Determines computer user needs; analyzes system capabilities to resolve problems on program intent, output requirements, input data acquisition, programming techniques and controls; prepares operating instructions; designs and develops compilers and assemblers, utility programs, and operating systems. Ensures software standards are met.
- This position will be responsible for setting up a software testbed for space network emulation capabilities. This testbed consists of containers, custom programs, and graphical elements. To excel, one should have a strong background in software development using containers and CI/CD toolsets.
- Experience in space-based networks and software-defined networking concepts is a plus.
Requirements
- Java and python development skills
- Software containers (docker, podman, etc.)
- Software visualization development (dashboards, Grafana, databases, webpages, etc.)
- Experience working in a network testbed environment previously
- Proficiency with the Linux operating system
Preferred Skills:
- Other programming languages such as C/C++, Bash, AWK, etc
- Software-defined networking or traditional networking experience, especially open-source versions
- Software/firmware development for embedded boards
-
- Networking protocols (TCP/IP, OSPF, etc.)
- Experience in space-based networks.
Others:
- Clearance: Interim clearance is sufficient for start. A candidate that has an active secret (or higher) would be highly preferred.
- Work Location: Candidate should expect to work onsite at least 4 days/wk. There may be some program work that requires more onsite work.
- Interview Process: initial zoom interview and then a second round IN PERSON INTERVIEW with the wider team is required. The team is considering local candidates only initially.