Save Job
Posted 3y ago

Embedded Linux Software Engineer

@ Deepwave Digital
Philadelphia, Pennsylvania, United States
HybridFull Time
Responsibilities:AirStack development, Driver development, Testing release
Requirements Summary:Bachelor's degree in CS/EE with CS concentration; 3-8 years embedded software; C/C++, Linux, drivers, build systems, multitasking, debugging.
Technical Tools Mentioned:C/C++, Linux, GDB, Git, Build systems, Device drivers, Multithreading, Debugging
Save
Mark Applied
Hide Job
Report & Hide
Job Description

Deepwave Digital is seeking an Embedded Linux Software Engineer who can contribute to various parts of our product line. The initial things you will be working on:

  • 60% AirStack development (AirStack is our internal Linux distribution consisting of drivers and applications for our hardware) including new features, bug fixes, and release testing

  • 30% Working on software (primarily device drivers) to support our next generation products

  • 10% Solving customer support requests (reproducing errors, tracking down root causes, etc.)



Requirements

  • Bachelor's Degree in Computer Science, Electrical Engineering (with CS concentration), Computer Engineering, or equivalent.

  • 3-8 years professional experience developing software for embedded devices to include:

    • C/C++ expertise targeting embedded devices

    • Knowledge of Linux operating system internals

    • Build systems, distribution packaging, and release management

    • Multithreaded applications

    • Device driver development

    • Strong debug skills using gdb and other tools as necessary

  • Knowledge of version control best practices and branching strategies/workflow (we use git)

  • Proven ability to learn new concepts, APIs, languages, etc. quickly. Ability to read/interpret datasheets, user’s guides, man pages, etc. as the primary source of technical information

  • Work independently. Identify impediments. Communicate clearly.

Helpful experience (not required) 

  • Basic ability to operate lab test equipment (signal generators, oscilloscopes, spectrum analyzers, etc.)

  • Exposure (either coursework or professional experience) to digital signal processing or software defined radio

  • Machine learning experience and/or familiarity with a machine learning framework

  • Experience with customer interfacing (requirements gathering, technical demonstrations, customer support, etc.)

  • Real-time operating systems experience

  • GPU programming using CUDA

  • Hardware in the loop test automation

  • GUI design/development

  • Firmware development

  • Open source software contributions (being a GNU Radio contributor is a huge plus)