What are the responsibilities and job description for the Staff Engineer- Linux Application Developer position at Macnica Americas?
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 holiday
- s40 hrs. of paid sick time of
- fHealth, dental, and vision insuranc
- e401 (k) with company matchin
- gHSA/ FS
A
Job Summar
y: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 milestone
s.
Responsibiliti
- es: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 environmen
- ts.Integrate Linux applications with various subsystems, including multimedia, network protocols, and device drivers, ensuring seamless communication and interoperabili
- ty.Analyze and optimize application performance at both software and system levels, using profiling tools and techniques to enhance responsiveness, stability, and resource usa
- ge.Provide solutions to complex issues in collaboration with other team membe
- rs.Work closely with hardware, firmware, and product teams to understand hardware dependencies, application requirements, and overall product goa
- ls.Develop thorough documentation for applications, APIs, and system integration poin
- ts.Conduct and participate in code reviews to ensure code quality and maintainability across the te
- am.Engage with stakeholders as needed to gather requirements, provide updates, and manage expectations regarding project timelines, deliverables, and potential challeng
- es.Drive continuous improvement by identifying and addressing inefficiencies in software and hardware interfac
es.
Requireme
- nts:Ability to travel up to
- 10�sign and develop embedded software solutions for various platforms, ensuring high performance and reliabil
- ity.Architect, code, and optimize embedded applications and systems using C, C , STL, Python, and shell script
- ing.Excellent in Linux programming, IPC, multi-threaded programming & Socket programm
- ing.Utilize object-oriented design principles (UML, design patterns) to build scalable and maintainable softw
- are.Debug and troubleshoot issues using tools such as GDB, Valgrind, Clang, TCP dump, and Wiresh
- ark.Proficiency or familiarity with one of the build systems such as CMake, Make or Ni
- nja.Work with embedded systems build environments (Buildroot, Yoc
- to).Awareness of Linux driver models, including board bring-up processes, Bootloaders and Device tree conce
- pts.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 syst
- ems.Ability to collaborate and write integration code on cloud technologies including REST APIs, MQTT, AWS, and SaaS for connected device soluti
- ons.Familiarity with version control systems like Git, SVN, or Mercurial for code management and version track
- ing.Experience setting up unit tests, integration tests, and system tests in the CI/CD pipel
- ine.Domain knowledge in Pro-AV/Broadcast or Imaging solutions is a p
lus.
Preferred experi
- ence:Multimedia frameworks (GStreamer, FFmpeg) to handle audio and video functionalities in embedded environments using protocols RTSP and RTP is prefe
- rred.Experience with NVIDIA GPU programming, including CUDA fundamentals, GPU memory management, and parallel computing optimizat
- ions.Familiarity with related technologies such as CUDA libraries (cuDNN), GPU-accelerated frameworks, and performance tuning tools like NVIDIA N
sight
Educa
- tion: Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related
- field.Minimum 8 years of hands-on experience in embedded systems develo