Principal Software Engineer

VTG

  • Hanover, Maryland
  • 30+ days ago
  • Full-time
Want to know if you’re a fit?
Upload your resume and let our AI show you.

Skills

  • Bug Tracking Softwareunmatched
  • C++ Programming Languageunmatched
  • Code Reviewsunmatched
  • Computer Engineeringunmatched
  • Computer Scienceunmatched
  • Customer/Client Researchunmatched
  • Debugging Skillsunmatched
  • Device Driversunmatched
  • Dockerunmatched
  • Documentation Standardsunmatched
  • Embedded Systemsunmatched
  • Enterprise Applicationsunmatched
  • High Availabilityunmatched
  • High Availability Softwareunmatched
  • Identify Issuesunmatched
  • Javaunmatched
  • JavaScriptunmatched
  • Operational Strategyunmatched
  • Operations Processesunmatched
  • Problem Solving Skillsunmatched
  • Programming Languagesunmatched
  • Python Programming/Scripting Languageunmatched
  • RPC (Remote Procedure Call)unmatched
  • Relational Databases (RDBMS)unmatched
  • Requirements Derivationunmatched
  • Scripting (Scripting Languages)unmatched
  • Sensitive Compartmented Information (SCI)unmatched
  • Software Administrationunmatched
  • Software Architecture Designunmatched
  • Software Designunmatched
  • Software Developmentunmatched
  • Software Development Lifecycle (SDLC)unmatched
  • Software Engineeringunmatched
  • System Integration (SI)unmatched
  • Systems Analysisunmatched
  • Systems Engineeringunmatched
  • Technical Writingunmatched
  • Test Plan/Scheduleunmatched
  • Testingunmatched
  • Top Secret Clearanceunmatched
  • Vue.jsunmatched

Description

Overview:

VTG is seeking a highly experienced Principal Software Engineer to join our team in support of a mission-focused customer responsible for developing, deploying, and maintaining user-facing Command and Control (C2) systems for embedded devices.

 

The Principal Software Engineer will design, develop, integrate, test, and maintain enterprise software solutions that interface with embedded devices and vendor-provided Software Development Kits (SDKs).

 

 

Responsibilities:
  • Analyze user and mission requirements to derive software design, interface, and performance requirements.
  • Design, develop, integrate, test, deploy, and maintain mission-critical Command and Control software systems.
  • Develop enterprise backend applications and services, preferably using Java and/or C++.
  • Interface with embedded devices, vendor-provided SDKs, and device drivers to implement custom business logic.
  • Develop software components that communicate with databases and other enterprise systems.
  • Implement data and object communication between programming layers using Google Protocol Buffers (Protobuf), RPC, or similar technologies.
  • Debug, troubleshoot, and correct defects in existing software applications using programming languages such as Java, JavaScript, Vue.js, Python, and C++.
  • Design and maintain scalable, highly available mission systems using modern software architecture and system design principles.
  • Develop, build, and manage Docker containers and Kubernetes pods and clusters.
  • Collaborate with systems engineers and hardware engineers to derive software requirements and understand system limitations, capabilities, performance requirements, and interfaces.
  • Design, develop, and modify software systems using engineering analysis and modeling techniques to evaluate system performance and design outcomes.
  • Develop and execute test procedures for software components.
  • Create automation scripts to improve development workflows, deployment processes, and operational efficiency.
  • Identify and recommend improvements to software development processes, technical documentation, and engineering standards.
  • Support code reviews, troubleshooting activities, system integration, and technical problem resolution.
Qualifications:
  • TS/SCI with Poly required
  • Bachelor of Science in Computer Science, or related discipline. May substitute four years' experience in lieu of a Bachelor's Degree.
  • Twenty (20) years of experience as a Software Engineer supporting programs and contracts of similar scope, type, and complexity.
  • Extensive experience designing, developing, integrating, testing, and maintaining enterprise software applications.
  • Strong backend software development experience.
  • Professional experience developing software using Java and/or C++ in an enterprise environment.
  • Experience working with multiple programming languages and technology stacks.
  • Experience interfacing software applications with relational or non-relational databases.
  • Experience designing and supporting scalable, highly available software systems.
  • Experience analyzing user requirements and translating them into software design and performance requirements.
  • Experience debugging, troubleshooting, and resolving complex software defects.
  • Experience collaborating with systems engineers, hardware engineers, and other technical teams to define software interfaces and system requirements.
  • Strong understanding of the software development lifecycle and modern software engineering practices
 
 
 
 

Numbers & Facts

LocationHanover, Maryland
Job TypeFull-time

Similar Jobs