Software Engineer developing and maintaining software kernels for next-generation AI hardware. Collaborating with a team of experts to enhance AI compute capabilities in a hybrid work environment.
Responsibilities
The role requires you to be part of the team that helps productize the SW stack for our AI compute engine.
As part of the software team, you will be responsible for the development, enhancement, and maintenance of software kernels for next-generation AI hardware.
You possess experience building software kernels for HW architectures.
You possess a very strong understanding of various hardware architectures and how to map algorithms to the architecture.
You understand how to map computational graphs generated by AI frameworks to the underlying architecture.
You have had past experience working across all aspects of the full-stack toolchain and understand the nuances of what it takes to optimize and trade off various aspects of hardware-software co-design.
You can build and scale software deliverables in a tight development window.
You will work with a team of compiler experts to build out the compiler infrastructure, working closely with other software (ML, systems) and hardware (mixed signal, DSP, CPU) experts in the company.
Requirements
MS in computer engineering, math, physics, or a related degree with 10+ years of industry experience or PhD in computer engineering, math, physics, or a related degree with 1+ years of industry experience.
Strong grasp of computer architecture, data structures, system software, and machine learning fundamentals.
Proficient in C/C++ and Python development in Linux environments and using standard development tools.
Experience implementing algorithms in high-level languages such as C/C++ and Python.
Experience implementing algorithms for specialized hardware such as FPGAs, DSPs, GPUs, and AI accelerators using libraries such as CUDA, etc.
Experience in implementing operators commonly used in ML workloads—GEMMs, Convolutions, BLAS, SIMD operators for operations like softmax, layer normalization, pooling, etc.
Experience with development for embedded SIMD vector processors such as Tensilica.
Self-motivated team player with a strong sense of ownership and leadership.
Tech Lead Fullstack Developer leading modernization of a legacy system to modern architecture using Angular and AWS. Focused on IoT metrics processing and scalability for Fligoo.
Senior Software Engineer leading complex initiatives in technology domain environments at Wells Fargo. Collaborating on project deliverables and resolving technical challenges for client needs.
Senior Software Engineer developing Generative AI applications for Wells Fargo's Consumer Technology team. Leading design, development, and deployment of enterprise - grade AI solutions.
Lead Quality Software Engineer at Transamerica focused on defining and improving software quality practices. Responsibilities include test automation, CI/CD integration, and mentoring engineers.
Senior Quality Software Engineer responsible for designing and executing test automation solutions. Collaborating closely with engineering and DevOps teams to enhance software quality and reliability.
Director of Software Engineering developing next - generation technology impacting philanthropic goals at Fidelity Charitable. Involves hands - on development and leading a high - functioning Agile team.
Software Engineering Intern developing innovative solutions for new equipment and machine upgrades. Collaborating with engineers and focusing on hands - on engineering work in a team - based environment.
Full - Stack Developer building scalable web applications using React.js and Python frameworks at Expleo. Collaborating with designers and developers to deliver high - quality software solutions.
Software Engineer delivering features and fixing issues in an engineering team for eCommerce automation leader. Engaging in quality collaboration and proactively contributing to team improvement.
UI Senior Software Engineer developing modern web applications for S&P Global Mobility. Collaborating with cross - functional teams to enhance user experience and maintain high - quality delivery.