Summary
TetraMem is a company focused on accelerating the world through innovative technology. They are seeking a Software Engineer I to develop and optimize software components for their compiler and runtime, working closely with senior engineers on machine learning models for AI accelerator architecture.
Responsibilities
- Develop, maintain, and optimize software components within TetraMem’s compiler, runtime, and SDK toolchain for analog compute-in-memory (CIM) hardware
- Work closely with senior engineers to translate machine learning models into efficient executable workloads for TetraMem’s AI accelerator architecture
- Implement software features, debugging tools, and low-level optimizations to improve inference latency, throughput, memory utilization, and power efficiency
- Support the integration of machine learning frameworks, model conversion pipelines, and deployment workflows for customer applications
- Collaborate with compiler, machine learning, hardware, and validation teams to resolve software issues and improve overall system performance
- Assist in benchmarking, profiling, and analyzing AI workloads to identify performance bottlenecks and recommend optimization opportunities
- Support hardware bring-up, software validation, and demonstration of AI applications on TetraMem compute-in-memory platforms
- Write clean, maintainable, and well-documented production-quality code while following software engineering best practices
- Participate in design reviews, code reviews, testing, and continuous improvement of the compiler and runtime software stack
- Stay current with advances in compiler technologies, AI frameworks, machine learning deployment, and computer architecture to continuously improve TetraMem’s software platform
Skills
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field
- Experience developing embedded software for microcontroller-based or embedded computing platforms
- Strong programming skills in C/C++ for embedded systems and/or Python for machine learning application development
- Solid understanding of software engineering principles, data structures, algorithms, and debugging techniques
- Strong analytical and problem-solving skills with the ability to learn new technologies quickly
- Excellent communication and collaboration skills, with the ability to work effectively in a fast-paced, cross-functional startup environment
- Self-motivated with the ability to work independently while contributing to team objectives
- Experience training, optimizing, quantizing, or deploying machine learning models on resource-constrained or edge AI hardware platforms
- Experience developing compiler technologies, code generation, or machine learning model compilation
- Experience with CI/CD pipelines, automated testing, and software release processes
- Programming experience in Rust
- Experience developing firmware for RTOS-based embedded systems, including integration with platforms such as Zephyr or FreeRTOS
- Hands-on experience with edge AI platforms, embedded AI accelerators, or custom AI hardware
- Experience using software profiling, debugging, and performance analysis tools to optimize low-level systems
- Familiarity with Linux development environments, Git version control, and modern software development workflows
Qualifications
Must Haves
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field
- Experience developing embedded software for microcontroller-based or embedded computing platforms
- Strong programming skills in C/C++ for embedded systems and/or Python for machine learning application development
- Solid understanding of software engineering principles, data structures, algorithms, and debugging techniques
- Strong analytical and problem-solving skills with the ability to learn new technologies quickly
- Excellent communication and collaboration skills, with the ability to work effectively in a fast-paced, cross-functional startup environment
- Self-motivated with the ability to work independently while contributing to team objectives
Nice to Haves
- Experience training, optimizing, quantizing, or deploying machine learning models on resource-constrained or edge AI hardware platforms
- Experience developing compiler technologies, code generation, or machine learning model compilation
- Experience with CI/CD pipelines, automated testing, and software release processes
- Programming experience in Rust
- Experience developing firmware for RTOS-based embedded systems, including integration with platforms such as Zephyr or FreeRTOS
- Hands-on experience with edge AI platforms, embedded AI accelerators, or custom AI hardware
- Experience using software profiling, debugging, and performance analysis tools to optimize low-level systems
- Familiarity with Linux development environments, Git version control, and modern software development workflows
Benefits
- Full-time employee benefits
- Equity eligibility