Overview
Job Information
Department Name
Job Type
Industry
Date Opened
Minimum Experience In Years
Maximum Experience In Years
City
Province
Country
Postal Code
About Us
MulticoreWare is a global software solutions & products company with its HQ in San Jose, CA, USA. With worldwide offices, it serves its clients and partners in North America, EMEA and APAC regions. Started by a group of researchers, MulticoreWare has grown to serve its clients and partners on HPC & Cloud computing, GPUs, Multicore & Multithread CPUS, DSPs, FPGAs and a variety of AI hardware accelerators.
MulticoreWare was founded by a team of researchers that wanted a better way to program for heterogeneous architectures. With the advent of GPUs and the increasing prevalence of multi-core, multi-architecture platforms, our clients were struggling with the difficulties of using these platforms efficiently.
We started as a boot-strapped services company and have since expanded our portfolio to span products and services related to compilers, machine learning, video codecs, image processing and augmented/virtual reality. Our hardware expertise has also expanded with our team; we now employ experts on HPC and Cloud Computing, GPUs, DSPs, FPGAs, and mobile and embedded platforms. We specialize in accelerating software and algorithms, so if your code targets a multi-core, heterogeneous platform, we can help.
Job Description
About the Role
We are looking for a skilled Embedded Software Engineer to develop high-quality embedded software, lead projects efficiently, and collaborate closely with customers to ensure timely and effective delivery.
Key Responsibilities
- Develop and deliver quality embedded software in line with project requirements and timelines.
- Understand and translate customer requirements into robust software solutions.
- Lead and manage projects efficiently from initiation to delivery.
- Communicate with customers and facilitate smooth project execution.
Required Skills
- Proficient in C and C++.
- Hands-on experience in embedded firmware development.
- Experience in embedded device driver development.
- Strong understanding of Real-Time OS concepts — Schedulers, Threads, Queues, Semaphores, Mutexes, Software Timers, and Thread Priorities.
- Good knowledge of embedded systems — Register Read/Write, Interrupts, and Communication Interfaces (UART, I2C, SPI, PCIe, MIPI CSI, USB, Ethernet).
Good to Have
- Advanced expertise in C and C++.
- Deep understanding of RTOS concepts and multithreading.
- Device driver development experience on Linux operating system.
- Device driver development experience on Windows operating system.