Senior Linux developer


  • Design, develop, implement, debug and test embedded Linux software and internal tools
  • System integration
  • Drilling through several layers of existing code to find and resolve intricate problems
  • Work with QA to complete qualified work
  • Participate in software design reviews.
  • Experience with the full Software Development Life Cycle
    • Code, simulate, integrate and validate software. 
  • Operate in an Agile development environment while collaborating with key stakeholders
  • Op – System & bootchain bring-up and debugging; maintain and write device drivers and BSP

Qualifications Required Skills

  • Bachelor or Master of Science degree in Electrical / Computer Science or a related field
  • 5+ years’ experience in real-time embedded Linux architecture development (Yocto build experience is a plus) 
  • Experience in software lifecycle development including defining and documenting requirements, object oriented software architecture and design, programming and testing
  • Proficiency in Python, shell scripts, C and C++, object-oriented design, multi-threaded software
  • Experience developing video or audio processing products
    • Experience with video frameworks GStreamer and Video4Linux 
    • Experience with video codecs, containers and streaming protocols
  • Technical knowledge and experience with the following are desired:
    UART, I2C, SPI, network programming such as sockets and TCP/IP
  • Basic electronics knowledge and use of lab equipment (such as digital scope and logic analyzer)
  • In-depth understanding of Linux, OS internals, tools, libraries and open source development
  • Technical document writing experience using Visio, Word, Excel and PowerPoint
  • Fluent English, excellent written and verbal communication skills
  • Strong analytical and problem solving skills
  • Op – Experience developing and debugging kernel drivers for embedded Linux
    • Strong ability to diagnose hardware and software issues; Hands-on hardware bring-up, system debugging and code optimization
    • Experience writing/modifying linux device drivers and Boot loader
    • Experience writing real-time/low-level software

Desired Skills (as a plus)

  • Familiarity with iMX6 and Yocto
  • Experience with Lab integration
  • Experience with data-parallel and/or accelerated computing (CUDA, OpenCL)
  • Working knowledge of machine learning algorithms and software packages
  • Embedded µARM (M0-M7) I2C, SPI, ADC, DAC, timers, IRQ, DMA
  • Experience working in an Agile/Scrum development process
  • GIT configuration and JIRA management tool