Skip to content

Staff Engineer- Linux Application Developer

  • Remote, Hybrid
    • Dallas, Texas, United States
  • Macnica

Job description

About Macnica:

Macnica Americas, Inc. is the North American division of Macnica Fuji Electronics Holdings, Inc. a $10 billion technology solutions provider with a stronghold in semiconductor distribution. Macnica excels in customizing solutions to client requirements and leveraging skilled engineers to expedite product development without compromising outcomes for our clients.



Company perks:

  • 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


Job Summary:

We are seeking a highly skilled and experienced Staff Embedded Engineer to join our dynamic team. This role requires a proactive and hands-on professional with expertise in embedded systems, software development, multimedia frameworks, and protocol management. As a Staff Engineer, you will be involved in designing, developing, and maintaining advanced embedded systems while collaborating with cross-functional teams to achieve product milestones.


Responsibilities:

  • Develop, implement, and maintain complex Linux applications, writing efficient code primarily in C/C++ or other relevant languages. Optimize applications for performance and reliability in resource-constrained environments.
  • Integrate Linux applications with various subsystems, including multimedia, network protocols, and device drivers, ensuring seamless communication and interoperability.
  • Analyze and optimize application performance at both software and system levels, using profiling tools and techniques to enhance responsiveness, stability, and resource usage.
  • Provide solutions to complex issues in collaboration with other team members.
  • Work closely with hardware, firmware, and product teams to understand hardware dependencies, application requirements, and overall product goals.
  • 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.

Job requirements

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.


Education: 

  • Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field.
  • Minimum 8 years of hands-on experience in embedded systems development.
Remote, Hybrid
  • Dallas, Texas, United States
Macnica

or

Powered by Pivot + Edge