Software Engineer (C, C++, and Python)
About the Role:
We are seeking a Software Engineer to design, develop, integrate, test, and document embedded software solutions for advanced communications and sensing products. The role focuses on embedded systems, wireless and networking technologies, real-time operating systems, Linux, and software development in collaboration with hardware and engineering teams. The ideal candidate is a self-motivated, curious, creative, and flexible team player who can solve complex technical problems, communicate design decisions clearly, and contribute to product development in a dynamic engineering environment.
Key Responsibilities:
- Analyze software requirements and design embedded software solutions within defined resource constraints.* Consult with hardware engineers and other engineering teams to determine functional requirements and software interfaces.* Support hardware verification through software design and development activities.* Design, code, integrate, test, configure, and document complete system and software solutions.* Develop embedded software using C, C++, and Python.* Work with real-time embedded operating systems such as FreeRTOS or VxWorks.* Develop and support software running on Linux.* Stay current with wireless, networking, and processing technologies.* Consult with customers regarding software system maintenance.* Present software designs, technical decisions, and tradeoffs to development teams, customers, and prospective customers.* Mentor junior engineers and contribute to team development.* Provide technical input for budgetary quotes.* Perform other duties as assigned.
Required Qualifications:
- Technical bachelor’s degree in Electrical Engineering, Computer Science, or a related field from a four-year college or university.* At least 10 years of relevant experience.* Proficiency in C, C++, and Python.* Experience with real-time embedded operating systems such as FreeRTOS or VxWorks.* Experience working with Linux.* Ability to use laboratory equipment including:* Oscilloscopes* Logic analyzers* Spectrum analyzers* Protocol analyzers* Emulators* Strong problem-solving skills and ability to work through complex variables in loosely standardized situations.* Ability to interpret written, verbal, diagrammatic, and schedule-based instructions.* Strong communication skills and ability to clearly present technical designs and tradeoffs.* U.S. citizenship with no dual citizenship.* Ability to successfully complete a background check and drug screening.
Preferred Qualifications:
- Experience developing drivers, protocol stacks, and smaller applications.* Experience developing products involving APCO Project 25, cellular standards, Bluetooth, 802.11, WiMedia, 802.15.4, or TCP/IP.* Experience with Ultra Wideband (UWB) and other positioning technologies.* Experience with DSPs, FPGAs, and SoCs.* Experience with sensor networks.* Advanced degree in engineering, computer science, or a related field.* Experience with wireless, networking, embedded, communications, or sensing product development.* Creativity, resourcefulness, and original thinking when addressing technical challenges.
Work Arrangement* Location: Lynchburg, VA, United States* Work Arrangement: Remote as listed in the posting* Employment Type: Full-time
Compensation & Benefits:
- Salary: $85,000–$130,000 per year* 401(k)* Health insurance* Dental insurance* Vision insurance* Health Savings Account (HSA)* Paid time off* Referral program* Tuition reimbursement* Employee assistance support
Apply NowApply now to be considered for this Software Engineer opportunity and contribute to embedded software, real-time systems, wireless communications, networking, and advanced sensing technologies.