Experienced BSP Emmbedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+8 more
Job description
We are seeking a talented and experienced embedded software engineer - BSP Developer to join our team. As a BSP Developer, you will be responsible for developing, customizing, and maintaining the Board Support Packages (BSPs) for hardware platforms on embedded systems. You will work closely with our software engineers and customers to ensure seamless integration of the operating system with the target hardware. If you have a strong background in low-level software development, and system architecture, along with a passion for mission critical embedded systems, we want to hear from you!
Responsibilities:
Develop and customize BSPs for hardware platforms, including system-on-chips (SoCs), microcontrollers, and embedded systems.
Collaborate with our customers and board manufacturers to understand the system architecture, peripheral interfaces, memory mapping, etc.
Design, develop, and maintain device drivers for various hardware components, such as network interfaces, storage devices, and peripherals
Develop requirements and design for BSPs.
Review the requirements, code, and/or tests of other engineers. Receive review feedback from others and integrate feedback into work product.
Implement and optimize boot loaders and boot-time initialization routines to ensure reliable system startup.
Perform hardware bring-up activities, including debugging and troubleshooting of hardware and software integration issues.
Conduct testing and verification of the BSP components, ensuring compatibility, stability, and performance.
Stay updated with the latest technologies, industry standards, and best practices related to BSP development.
Requirements
Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
Proven experience in BSP development, embedded systems, and/or low-level software development.
Knowledge of boot loaders, firmware, and real-time operating systems (RTOS).
Strong programming skills in C/C++ is required and familiarity with assembly languages (x86_64, ARM, AArch64, and PPC) is desired.
Solid understanding of system architecture, memory management, and peripheral interfaces.
Proficient in debugging and troubleshooting hardware and software integration issues.
Excellent problem-solving skills and ability to work independently as well as part of a distributed team.
Effective communication skills and the ability to collaborate with cross-functional teams.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Where To Find Software Engineering Jobs
Best Countries for Software Engineers
Résumé-Driven Development: How IT trends affect the job market for software developers