Overview
Design, develop, and optimize software for Qualcomm AI accelerator platforms supporting large-scale inference and fine-tuning workloads. Contribute to host software, scalability infrastructure, and high-performance data movement solutions that improve platform performance, scalability, reliability, and programmability.
What you'll do
- Design and develop high-performance software components for host software platforms.
- Build scalable infrastructure for distributed AI workloads, communication libraries, and data movement frameworks.
- Drive feature development, debugging, profiling, and performance optimization across the software stack.
- Collaborate with runtime, compiler, kernel, firmware, and hardware engineers.
- Participate in software architecture, design reviews, requirements definition, and implementation planning.
What you'll need
- 2+ years of experience in Linux user-space software development, including API design, IOCTL interfaces, and multi-threaded programming.
- 2+ years of hands-on experience with modern C++ (C++11/14/17), including design, implementation, debugging, testing, and performance optimization.
- Strong proficiency in C, C++, and Python.
- Strong understanding of PCIe endpoint devices, device memory architecture, host-device interactions, and Linux driver fundamental.
- Experience with unit testing frameworks and methodologies, including GoogleTest.
- Solid understanding of Linux systems programming, distributed systems, and large-scale software platforms.
- Experience with requirements management, traceability, and software lifecycle processes.
- Understanding of system architecture, including CPU cores, cache hierarchies, memory subsystems, interconnects, buses, and I/O components.
- Experience using source code management and configuration management tools; strong Git knowledge is required.
- Experience with inter-process communication technologies such as gRPC and Protocol Buffers.
- Familiarity with software development and debugging tools.
- Ability to thrive in a structured software development environment while remaining hands-on with design, coding, testing, and debugging activities.
- Strong written and verbal communication skills, along with excellent collaboration and interpersonal abilities.
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
Nice to have
- Experience with communication frameworks such as gRPC, Protocol Buffers, and low-level system software development.
- Familiarity with peripheral driver development, RDMA, and high-performance communication technologies.
Details
- Location: Bangalore, India.
Read the full description and apply on the company’s own careers page.