Staff Engineer, Linux Application Developer

closed
Pivot + Edge Logo

Pivot + Edge

πŸ’΅ $84k-$112k
πŸ“Remote - Worldwide

Summary

Join our dynamic team as a highly skilled Staff Embedded Engineer to design, develop, and maintain advanced embedded systems while collaborating with cross-functional teams.

Requirements

  • Ability to travel up to 10%
  • Design and develop embedded software solutions for various platforms, ensuring high performance and reliability
  • Architect, code, and optimize embedded applications and systems using C, C++, STL, Python, and shell scripting
  • Excellent in Linux programming, IPC, multi-threaded programming & Socket programming
  • Utilize object-oriented design principles (UML, design patterns) to build scalable and maintainable software
  • Debug and troubleshoot issues using tools such as GDB, Valgrind, Clang, TCP dump, and Wireshark
  • Proficiency or familiarity with one of the build systems such as CMake, Make or Ninja
  • Work with embedded systems build environments (Buildroot, Yocto)
  • Awareness of Linux driver models, including board bring-up processes, Bootloaders and Device tree concepts
  • Knowledge of communication protocols, including UART, I2C, SPI, TCP, UDP
  • Understanding of real-time operating systems (RTOS), such as FreeRTOS or Zephyr, and their integration within embedded systems
  • Multimedia frameworks (GStreamer, FFmpeg) to handle audio and video functionalities in embedded environments using protocols RTSP and RTP is preferred
  • Ability to collaborate and write integration code on cloud technologies including REST APIs, MQTT, AWS, and SaaS for connected device solutions
  • Familiarity with version control systems like Git, SVN, or Mercurial for code management and version tracking
  • Experience setting up unit tests, integration tests, and system tests in the CI/CD pipeline
  • Domain knowledge in Pro-AV/Broadcast or Imaging solutions is a plus

Responsibilities

  • Develop, implement, and maintain complex Linux applications
  • Integrate Linux applications with various subsystems
  • Analyze and optimize application performance at both software and system levels
  • Provide solutions to complex issues in collaboration with other team members
  • Work closely with hardware, firmware, and product teams
  • Develop thorough documentation for applications, APIs, and system integration points
  • Conduct and participate in code reviews to ensure code quality and maintainability across the team
  • Engage with stakeholders as needed to gather requirements, provide updates, and manage expectations regarding project timelines, deliverables, and potential challenges
  • Drive continuous improvement by identifying and addressing inefficiencies in software and hardware interfaces

Benefits

  • 15 days of vacation, plus 12 days of national holidays
  • 40 hrs. of paid sick time off
  • Health, dental, and vision insurance
  • 401 (k) with company matching
  • HSA/ FSA
This job is filled or no longer available