Embedded Software Engineer
Summary
We are looking for an experienced Embedded Software Engineer who will join the client team that builds the devices and Sensors using ThreadX and other embedded Linux software
This is a full-time remote position. Modern real-time OS experience is a must, it can be ThreadX, FreeRTOS/RTOS, Zephyr or similar. The actual job focuses on sensors and ThreadX embedded development.
The client company is one of the leading players in ultra-accurate sensor technologies and applies innovative artificial intelligence (deep learning) technology to create an Intelligent workspace.
With over 7 years of deployed Sensors Data System, Client Company's technology empowers tier 1 enterprises with accurate and real-time insights on their facilities' behavior, globally. Join the mission to make the modern workplace effective, sustainable, and attractive.
Smart sensors are a crucial element of today’s workplace technologies as they provide the data required for optimizing workspace utilization, reducing energy costs, and effective booking experience.
Responsibilities:
1. Design, develop, and debug embedded software for real-time embedded Linux systems.
2. Collaborate with cross-functional teams including hardware engineers, firmware developers, backend developers, and QA engineers to deliver high-quality connected embedded solutions.
3. Implement and integrate middleware components, libraries, and third-party software.
4. Perform board bring-up, system integration, and testing of embedded systems.
5. Analyze and optimize system performance, memory usage, and power consumption.
6. Conduct code reviews, write technical documentation, and provide support to other team members.
7. Stay updated on emerging technologies and industry trends in embedded systems and Linux development.
Requirements:
5+ years of professional experience in embedded software development.
Proficiency in C/C++ programming languages in embedded & real-time context
Strong understanding of Linux kernel internals, device drivers, and system architecture.
Strong understanding of real-time embedded Operating Systems (FreeRTOS, ThreadX, or similar), including the communication and embedded security stacks
Experience with board bring-up, bootloader development, and system-level debugging.
Familiarity with embedded hardware platforms such as ARM Cortex M55/A53/A72.
Knowledge of networking protocols, file systems, and security concepts in embedded systems.
Excellent problem-solving skills and ability to work independently as well as in a team environment.
Effective communication skills and ability to articulate technical concepts to non-technical stakeholders.
Experience with version control systems (e.g., Git) and issue tracking tools (e.g., JIRA).
Bachelor’s degree in Computer Science, Electrical Engineering, or related field
Spoken and written English
Preferred Qualifications:
1. Experience with real-time operating systems (RTOS) and embedded Linux distributions (e.g., Yocto Project).
2. Familiarity with software development tools such as GCC, GDB, and build systems like Make or CMake.
3. Knowledge of scripting languages such as Python or Bash.
4. Experience with continuous integration (CI) and automated testing frameworks.
5. Experience with agile software development methodologies.
Would be a plus:
1. Experience with AI\ML (TensorFlow, PyTorch, ARM Ethos-U)
2. Experience with wireless communications protocols (Wi-Fi, BLE, LoRaWAN, WirePas, Thread, ZigBee, EnOcean)
3. Experience with computer vision applications (OpenCV).