- Work model
- Office
- Experience
- 2-5 years
- Employment
- Contract
- Compensation
- Not disclosed
- Technology signal
- 9 tags
Technology context
9Parsed from the vacancy text; ordered by relevance to this role.
Full listing
Role description
- We are looking for an Embedded Firmware Engineer with solid technical fundamentals and strong engineering discipline to join our R&D team. In this role, you will contribute to the development of core software for industrial-grade embedded products, working across Embedded Linux and RTOS platforms. You will be involved in the design, implementation, integration, and optimization of low-level drivers, system modules, and communication-related software, collaborating with cross-functional teams to deliver reliable and high-quality products.
Key Responsibilities
- Design, develop, debug, and maintain embedded firmware for products, including low-level drivers, system modules, and application-level functionalities.
- Work on software development across Embedded Linux and RTOS platforms, covering requirements analysis, technical design, implementation, debugging, validation, and issue investigation.
- Develop and integrate communication-related software modules, and support system configuration, feature integration, system testing, and release delivery.
- Participate in the full product lifecycle, including requirement review, architecture design, development, defect fixing, test support, and production ramp-up.
- Continuously improve system stability, real-time performance, reliability, and maintainability to enhance overall software quality and delivery efficiency.
- Collaborate closely with hardware, test, product, and other cross-functional teams to analyze and resolve technical issues and support product evolution.
- Follow structured software development practices and contribute to code quality, unit testing, static analysis, and version control processes.
Qualifications
- Bachelor's degree or above in Computer Science, Electronic Engineering, Automation, Communication Engineering, or a related field.
- Strong programming skills in C/C++, with good coding practices, debugging skills, and problem-solving ability.
- Hands-on experience in embedded software development, with familiarity in software development on mainstream embedded platforms such as ARM.
- Experience with at least one embedded operating environment, either Embedded Linux or RTOS; experience with both is a plus.
- Good understanding of core embedded system concepts, including task scheduling, memory management, interrupt handling, thread synchronization, and real-time optimization.
- Experience in driver development, board support software, or hardware-software bring-up and debugging.
- Familiarity with common communication protocols and networking fundamentals, such as TCP/IP, UDP, SSL/TLS, or serial communication.
- Familiarity with GNU toolchains, cross-compilation, debugging tools, and common development tools such as Git.
- Good software engineering mindset, with understanding of practices such as clean code, unit testing, and static code analysis.
- Strong learning ability, communication skills, teamwork, and a results-oriented approach.
- Preferred Qualifications
- Experience with both Embedded Linux and RTOS platforms.
- Experience in communication protocols, networking modules, or real-time application development.
- Experience in driver development for common hardware interfaces such as PHY, UART, SPI, I2C, and Ethernet MAC.
- Understanding Layer 2 or Layer 3 networking fundamentals and protocols such as ARP, ICMP, TCP, and UDP.
- Experience in industrial communication, industrial control, or other highly reliable embedded systems.
- Experience in firmware development for managed switches, routers, PLC controllers, or similar industrial devices.
- Familiarity with industrial protocols such as Modbus, PROFINET, EtherCAT, or S7.
- Ability to read English technical documentation and work in an international collaboration environment.