Overview
Senior Software Engineer — Herndon, VA — TS/SCI with Poly
At Bcore, our strength comes from how we deliver impact to the mission. Whether it’s architecting critical IT solutions, producing actionable intelligence, or developing cutting edge technology, we succeed because of the expertise, collaboration, and agility of our teams. Our Mission Services division combines enterprise IT, cloud solutions, DevSecOps, systems engineering, software development, and operational support. Bcore accelerates decisive advantage for warfighters and intelligence professionals by fusing human insight, rapid fire engineering, precision measured outcomes, and relentless grit into mission ready solutions.
Do you want to join a team that is building tailored technical solutions to modernize our government’s mission and our client’s business? Do you have a desire to change how people work? Are you interested in helping to protect our nation’s cyber interests? Join our growing team supporting customer missions as a Senior Software Engineer in Herndon, Virginia.
Responsibilities
We are seeking a skilled Software Developer with expertise in DevOps to join our technology based program supporting a key Government customer. The ideal candidate will be responsible for developing and automating our customer’s systems in support of this customer’s mission, ensuring the smooth operation of all systems within the virtual environment (Nutanix, VMs) to optimize performance, scalability, and automation. The candidate provides development engineering and programming support to projects and infrastructure support activities. They develop, create, and modify general computer applications software or specialized utility programs, analyze user needs, develop software solutions, design software or customize software for client use, and work collaboratively within a team.
Design and develop tools for Linux, MS Windows, or other relevant operating system platforms
Design and develop tools that integrate with commercial applications
Develop unit and functional test plans
Provide operations and maintenance of operational systems
Modify existing software to correct errors, adapt to new hardware, or improve 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
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 rechecking the program to ensure that the desired results are produced
Conduct trial runs of program and software applications to ensure they produce the desired information and that 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
Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes
Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements
Write or contribute to instructions or manuals
Assign, coordinate, and review work and activities of programming personnel
Collaborate with internal teams to identify technical requirements and implement solutions that meet business needs
Provide technical support and guidance to end-users, resolving issues in a timely manner
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
Required Qualifications:
A Bachelor’s or Master’s degree is preferred with a minimum of eleven (11) years of relevant experience in networking, software development, and automation
Serve as part of a software development team to deliver automated solutions for standard network services support of a large IT infrastructure project
Hands on programming and scripting experience in Python with 5 to 7 years of experience, including a minimum of 2 years on network automation
Self starter able to lead complex automation projects and guide junior developers
Experience operating in a CI/CD/DevOps/Agile fast paced environment
Experience with network automation tools Ansible and Cisco Network Services Orchestrator (NSO)
Experience with IP Address Management tools such as NetBox
Experience in developing 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
Desired Qualifications:
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 PostgreSQL DB calls
Familiar with NetBox and/or Forward Networks
What you can expect from us
BCore is proud to be an equal opportunity workplace. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status, sexual orientation or any other characteristic protected by law. #J-18808-Ljbffr