Junior Software Engineer

TAP EngineeringFort Meade, MD
30d

About The Position

We are seeking a Level 2 Software Engineer to design, develop, enhance, and maintain a wide range of complex software systems, including analytics platforms, real-time processing systems, large-scale data applications, and mission-support tools. This role supports both independent development and collaborative team efforts while following established software engineering standards. You’ll contribute across the full lifecycle, from requirements of analysis and coding to testing, optimization, and integration, while providing technical leadership to software teams as needed.

Requirements

  • Bachelor's degree in computer science, Software Engineering, or related technical field (or equivalent experience)
  • 8+ years of software engineering experience
  • Proficiency in Java, Python, or C++
  • Experience developing software in Linux environments
  • Hands-on experience with Agile methodologies
  • Strong understanding of software design, debugging, testing, and documentation
  • Experience with REST APIs, microservices, or distributed systems
  • Familiarity with version control tools (Git preferred)
  • Ability to perform troubleshooting, fault isolation, and system optimization
  • Experience integrating software with large-scale or multi-component systems
  • Ability to support on-site operations when required
  • Strong communication and teamwork skills
  • This position requires ability to obtain and maintain a Top Secret/SCI security clearance, based on current background investigation (SBI), as well as the favorable completion of full scope polygraph.
  • U.S. Citizenship
  • Favorable Criminal History Check
  • Education Verification
  • Abuse/Illegal Drug Use
  • Credit Check
  • Subject Interview

Responsibilities

  • Analyze user requirements to derive software design and performance specifications
  • Design, code, test, and integrate new software features or enhancements
  • Debug, troubleshoot, and resolve defects in existing software systems
  • Develop or improve documentation and software development process standards
  • Integrate existing software into new or modified systems and environments
  • Build data queries and database interfaces for existing or proposed repositories
  • Write and review software and system design documentation
  • Serve as a team lead in alignment with the development process for assigned projects
  • Design and implement complex algorithms and database interfaces
  • Apply scientific analysis and mathematical models to predict outcomes and inform design decisions
  • Assist in developing and executing software component test procedures
  • Modify existing software to adapt to new hardware or improve system performance
  • Evaluate system performance standards, data flows, and work processes to recommend improvements
  • Provide quality control reviews for team-produced code and documentation
  • Oversee one or more software development teams to ensure compliance with established processes
  • Collaborate with system and hardware engineers to derive and refine software requirements
  • Coordinate installation of software systems and validate operational performance
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service