Software Engineer
V2X Inc · Herndon, VA · 3 days ago
Information TechnologyFull-time
Responsibilities
- Provides development engineering and programming support to projects and infrastructure support activities.
- Develops, creates, and modifies general computer applications software or specialized utility programs.
- Analyzes user needs and develops software solutions.
- Designs software or customizes software for client use with the aim of optimizing operational efficiency.
- Determines feasibility of design within time and cost restraints.
- Works individually or coordinates development as part of a team.
- Design and develop tools for the Linux, MS Windows, or other relevant operating system platforms.
- Design and develop tools that integrate with commercial applications.
- Develops 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.
- 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.
- 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.
- Collaborate with internal teams to identify technical requirements and implement solutions that meet business needs.
- Implement best practices for automation, backup, disaster recovery, and system redundancy.
- Stay up-to-date with industry trends and advancements in cloud computing and IT systems administration.
Qualifications
- Bachelor’s or Master’s degrees are preferred with a minimum of eleven (11) year’s relevant experience with the following skillsets:
- Serve as part of a software development team to deliver automated solutions for standard network services support of a large IT infrastructure project.
- Must have hands-on programming and scripting experience in Python with 5 to 7 years of experience with a minimum of 2 years on network automation.
- Experience operating in a CI/CD/DevOps/Agile fast paced environment.
- Experience in network automation tools Ansible and Cisco Network Services Orchestrator (NSO).
- Experience with IP Address Management tools such as NetBox.
- Experience in Development of automated testing scripts with integration to a CI/CD pipeline with Python PyATS or similar testing framework and Jenkins.
- Experience in developing data models and understanding of Yang.
- Exposure to Cisco IOS, IOS XR. NX –OS and Junos operating systems desired.
Preferred Experience & Skills
- The ideal candidate would also have IT project management experience, and be familiar with Scrum, Lean, Agile and DevOps.
- Familiar with network concepts (VLAN, Interfaces, Virtual Chassis, etc).
- Familiar with configuring docker/podman containers on Linux.
- Familiar with AWS (EC2 and RDS).
- Familiar with Python to make REST API or Postgres Db calls (desired / nice to have).
- Familiar with NetBox and/or Forward Networks.