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.
Software Engineer
About the Role
We are looking for a Software Engineer to join our team and contribute to the design, development, and maintenance of our software products. You will work across the full development lifecycle — writing production-quality code, debugging complex issues, building robust CI/CD pipelines, and collaborating with cross-functional teams to deliver reliable software.
This is a hands-on engineering role. You'll own features end to end, improve the quality and performance of existing systems, and contribute to engineering best practices across the organization.
What You'll Do
Design, develop, and maintain software in C, C++, and Python across embedded, systems, or application-level projects
Debug and troubleshoot complex issues across the stack — from low-level memory and concurrency bugs to integration and system-level failures.
Build, maintain, and improve CI/CD pipelines to enable fast, reliable, and repeatable builds, tests, and deployments.
Write and maintain unit tests, integration tests, and automated test suites to ensure code quality and prevent regressions.
Participate in code reviews, providing constructive feedback on correctness, readability, performance, and adherence to coding standards.
Profile and optimize software for performance, memory usage, and reliability.
Collaborate with systems engineers, QA, and product teams to translate requirements into well-structured, maintainable code
Contribute to build systems, toolchains, and developer infrastructure improvements.
Investigate tool outputs, triage defects, and drive issues to resolution.
What We're Looking For
Required
Strong proficiency in C and C++ (including modern C++ standards), with the ability to read and reason about complex, large-scale codebases.
Solid experience with Python for scripting, automation, tooling, or application development.
Demonstrated debugging skills — comfort with GDB, sanitizers (AddressSanitizer, ThreadSanitizer), Valgrind, or equivalent tools for
diagnosing memory, concurrency, and runtime issues.
Hands-on experience with CI/CD systems (e.g., Jenkins, GitLab CI, GitHub Actions, or similar) — building pipelines, automating testing, and integrating static/dynamic analysis into workflows.
Familiarity with version control (Git) and collaborative development workflows (branching strategies, pull requests, merge policies).
Experience with build systems such as CMake, Make, Bazel, or similar.
Understanding of software testing practices — unit testing (Google Test, pytest, or similar), code coverage measurement, and test-driven development.
Preferred
Experience with static analysis tools (e.g., Coverity, Polyspace, cppcheck, PC-lint, Klocwork) and integrating them into CI pipelines.
Working knowledge of a functional safety standard (ISO 26262, IEC 61508, DO-178C, IEC 62304, or equivalent) and experience supporting safety compliance activities such as verification planning, requirements traceability, coverage reporting, or safety case documentation.
Familiarity with coding standards such as MISRA C/C++, CERT C, orAUTOSAR C++14.
Experience with embedded systems, cross-compilation toolchains, or linker scripts.
Exposure to custom instrumentation, coverage tooling, or compiler internals.
Experience preparing documentation or evidence packages for safety audits or certification activities.
What You'll Bring
A problem-solving mindset — you dig into root causes rather than patching symptoms.
The ability to communicate technical ideas clearly to both engineering peers and non-technical stakeholders.
Ownership and initiative — you see issues through to resolution and look for ways to improve processes and tooling.
Comfort working in a collaborative environment, balancing independent deep work with team coordination.
Curiosity about how systems work (and how they break) and a drive to continuously improve code quality and engineering practices