Logo
MulticoreWare, Inc.

Senior Software Engineer

MulticoreWare, Inc., California, Missouri, United States, 65018

Save Job

Job Type Full time Date Opened 17/11/2025 Industry Software Development Minimum Experience In Years 4 Maximum Experience In Years 8 City Ramapuram Province Tamil Nadu Country India Postal Code 600089 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

Position Overview

We are seeking a highly skilled and experienced Senior Software Engineer to join our dynamic team. The ideal candidate will have a strong background in software development, with expertise in C/C++, Python, and other relevant programming languages. This role requires a deep understanding of CPU and GPU architectures, as well as experience with Linux system programming, GPU programming with CUDA/HIP, and performance optimization using AVX and SIMD. The successful candidate will also have experience with Docker and container orchestration tools.

Key Responsibilities

Software Development: Design, develop, and maintain high-performance software solutions using C/C++, Python, and other relevant languages.

Linux System Programming: Develop and optimize software for Linux environments, ensuring robust and efficient system performance.

GPU Programming: Utilize CUDA/HIP for GPU programming to enhance computational performance.

Performance Optimization: Implement AVX and SIMD programming techniques to optimize software performance.

Architecture Understanding: Apply in-depth knowledge of CPU and GPU architectures to develop efficient software solutions.

Containerization: Use Docker and container orchestration tools to manage and deploy applications.

Profiling and Tuning: Employ profiling tools and performance tuning techniques to identify and resolve performance bottlenecks.

Vision Algorithms: Develop and optimize vision algorithms to meet project requirements.

Codebase Management: Work with large codebases, ensuring code quality and maintainability.

Open-Source Contributions: Contribute to open-source projects and maintain a portfolio on GitHub.

Collaboration: Work closely with cross-functional teams to deliver high-quality software solutions.

Problem-Solving: Utilize excellent problem-solving skills to address complex technical challenges.

Communication: Communicate effectively with team members and stakeholders to ensure project success.

Optional AI/ ML: Experience applying AI/ML techniques in production systems is a strong plus and can accelerate your growth into a senior AI-focused role, but only for candidates with exceptional SDLC and core software engineering skills.

Qualifications: Must have Education: Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.

Experience: 4+ years of professional experience in software development.

Programming Skills: Strong proficiency in C/C++, Python, and other relevant programming languages.

Linux System Programming: Proven experience with Linux system programming.

Architectural Knowledge: Solid understanding of CPU and GPU architectures.

Containerization: Experience with Docker and container orchestration tools.

GPU Programming: In-depth knowledge of GPU programming with CUDA/HIP.

Advanced C++ Skills: Advanced C++ skills and experience working with large codebases.

Engineering Practices: Follow strong SDLC practices including design reviews, code reviews, automated testing, CI/CD, and documentation

Problem-Solving: Excellent problem-solving skills and attention to detail.

Communication: Strong communication and teamwork abilities.

Good to have Performance Optimization: Expertise in AVX and SIMD programming for performance optimization.

Experience with Parallel Programming/HPC - OpenMP, MPI

Profiling and Tuning: Familiarity with profiling tools and performance tuning techniques.

Vision Algorithms: Experience with vision algorithms and optimizations.

Open-Source Contributions: Contributions to open-source projects and a portfolio on GitHub.

Machine Learning: Exposure to machine learning concepts and applications is a plus.

#J-18808-Ljbffr