Embedded Software Engineer

Embedded Software (5.0 yr.)

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).

Submit a Talent for Embedded Software Engineer
AttachmentFile attachment Arrow

Upload File. Drag and Drop or Browse

At Upstaff we respect confidentiality, privacy and value your information.

Confidential (C) UPSTAFF LTD, England and Wales, #12727246 17 Montgomery Drive, Tavistock, United Kingdom PL19 8KX

Terms, conditions and legal information.

Application Submitted Successfully! 🎉 Next step is to create account on Upstaff platform!

You've successfully submitted your application! The next step is to create Upstaff that allow you to complete the application process, track your applications, submit for another relevant jobs, get updates about new positions and be visible for our client network.

Create Upstaff account