Description
- Bring up new devices, perform debugging and performance tuning exercises that span multiple hardware / firmware / software teams.
- Understand software components from multiple partner teams, lead the integration of those components into the unified product codebase, and drive their continued development.
- Integrate third-party applications / libraries / frameworks on our target platforms, e.g. remote desktop service, web ssh service, web browser, .. etc.
- Collaborate with other developers to design and implement a highly usable and scalable software systems.
- Test and debug to improve the quality and performance of the software systems
- Analyze and evaluate technical tradeoffs for every decision.
- Ensure reliability, availability, and maintainability of the software.
- Architect efficient data structures and interfaces to interact with other modules.
- Conduct and/or participate in technical reviews, API design, and documentation.
- Follow engineering best practices and cooperate with overseas teams.
Qualifications
- At least 5 years of working experience in related fields, Bachelor or advanced degree in CS, CE, ECE or EE
- Solid object-oriented programming and software architectural design skills
- Strong debugging and troubleshooting skills for embedded systems
- Hands on experience in developing scalable software systems
- Solid OSI (Open System Interconnection) mode knowledge
- Expertise in C, C++, Python, Shell (Bonus: Qt experience)
- Experience with version control, such as Git
Good to Have (One or more of the following)
- Good understanding of Linux internals with experience of building kernels, compiling drivers, providing performance tuning guidance and crash analysis
- Experience in developing and maintaining Yocto Linux and Bitbake system with CI/CD.
- Experience with BSP development, including but not limited to u-boot, Linux kernel / DTS customization, and driver integration.
- Experience with Linux graphics technologies, graphics middleware stack, and/or display drivers, e.g. X, Wayland / Weston, mesa3d, dri / drm drivers, etc.
- Experience with multimedia software and frameworks, e.g. FFmpeg, GStreamer, etc.
- Experience with socket programming, such as raw socket, TCP, UDP
- Experience with Makefile, CMake, qmake, and cross-compiling toolchain
技能標籤: c/c++, i.mx, MCU, NXP, QT