Software Engineer

CACI InternationalDulles, VA
21h

About The Position

The Wireless Protocol Analysis Lab is looking for a new team member passionate about building the next generation of software-defined protocol processing frameworks and applications. Our team of approximately 20 engineers comprises a mix of digital signal processing experts, large-scale application developers, and wireless protocol experts who work together to create some of the most highly optimized, software-based, platform-independent protocol processing engines in the world. Our solutions, refined and advanced over two decades of development, allow for a mix of deployment options, ranging from low-power embedded SBCs to multi-core computing clusters with FPGA and GPU capabilities. More About the Role: Define, design, implement, and test components of wireless protocol stacks, ranging from physical layer algorithms to layer 2/layer 3 procedures Contribute to systems-level engineering discussions that reconcile the various use cases for our software in pursuit of best-in-class solutions Work with customers (both internal and external to CACI) to help integrate our solutions into a wide variety of applications and use cases Debug, test, and validate our capabilities using both unit tests as well as scenarios reported by our end users Travel to other CACI locations and/or customer sites in the US as necessary (travel requirement is typically 0 - 15%) What You Can Expect: A culture of integrity. At CACI, we place character and innovation at the center of everything we do. As a valued team member, you’ll be part of a high-performing group dedicated to our customer’s missions and driven by a higher purpose – to ensure the safety of our nation. An environment of trust. CACI values the unique contributions that every employee brings to our company and our customers - every day. You’ll have the autonomy to take the time you need through a unique flexible time off benefit and have access to robust learning resources to make your ambitions a reality. A focus on continuous growth. Together, we will advance our nation's most critical missions, build on our lengthy track record of business success, and find opportunities to break new ground — in your career and in our legacy.

Requirements

  • A bachelor’s degree (or higher) in Computer Science or Electrical Engineering or equivalent technical degree or an additional 4+ years of experience in lieu of degree.
  • 5+ years of related experience
  • Experience writing software for Linux-based operating systems
  • C/C++ programming experience, shown through project work or code examples
  • Demonstrated ability to read and understand technical specifications, and create software-based implementations of the procedures and methods described therein
  • Excellent communication and interpersonal skills
  • The ability to obtain and maintain and US Government Clearance at the TS/SCI level.
  • Previous experience with wireless protocols (e.g., 3GPP cellular protocols, IEEE wireless standards, and/or ITU/ETSI-defined mobile radio standards).
  • A drive to continuously improve and refine existing capabilities alongside new development opportunities.
  • Ability to work with a distributed team and manage your time effectively across multiple, simultaneous projects.
  • A strong understanding of modern C++ programming. We consider C++11 to be the minimum but love to use C++17/20 features where appropriate.
  • Knowledge of wireless physical layer algorithms and their implementations, or an ability to learn and understand existing implementations.
  • Code profiling experience, ability to identify critical code paths, and offer performance optimizations based on analysis over multiple scenarios.
  • Experience using wireless test equipment in lab environments, including test setup design.

Nice To Haves

  • Master’s degree in related field
  • Familiarity with virtualization technologies and containerization (e.g., Docker, KVM)

Responsibilities

  • Define, design, implement, and test components of wireless protocol stacks, ranging from physical layer algorithms to layer 2/layer 3 procedures
  • Contribute to systems-level engineering discussions that reconcile the various use cases for our software in pursuit of best-in-class solutions
  • Work with customers (both internal and external to CACI) to help integrate our solutions into a wide variety of applications and use cases
  • Debug, test, and validate our capabilities using both unit tests as well as scenarios reported by our end users
  • Travel to other CACI locations and/or customer sites in the US as necessary (travel requirement is typically 0 - 15%)

Benefits

  • healthcare
  • wellness
  • financial
  • retirement
  • family support
  • continuing education
  • time off benefits
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service