Software Architect

Ambiq Micro, Inc
Austin, United States of America
20 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Austin, United States of America

Tech stack

Keil
Microsoft Windows
ARM
Assembly Language
C++
Computer Programming
Computer Engineering
ETL
Software Debugging
Memory Management
Eclipse
Embedded Software
Firmware
Field-Programmable Gate Array (FPGA)
Messaging Application Programming Interface
Software Architecture
Software Prototyping
Real-Time Operating Systems
Requirements Traceability
Software Engineering
Product Software Implementation Methods
Software Requirements Analysis
System Testing
Test Case Design
Video Editing
Virtual Memory
PIC Microcontroller
Peripherals
Information Technology
Bare Metal
Free and Open-Source Software
Software Coding

Job description

As the Software Architect at Ambiq, you will drive the software architecture and requirements for our latest family of low-power Edge AI MCUs. As a Software Architect, you will be working closely with our SoC hardware architects, product marketing, and our IP vendors to develop solid functional allocations and requirements for our software development and system test teams. The role will cover the areas of multi-processor communications, data movement acceleration, virtual memory management, dynamic resource allocation, power optimization, and debug tools. You will be embedded into Ambiq's software development teams as the subject matter expert for the duration of the product development., * Requirements analysis based on disparate and preliminary information from SoC hardware architecture team, product marketing, other software architects, and software development teams resulting in contributions to a software requirements specification for the device. This should include any software prototyping required to refine the architectural understanding and requirements.

  • Working closely with our field, product marketing, and system test teams to understand our Alpha customer use cases and their impact on requirements and testability.
  • Engaging during the software implementation and test phases to review designs, test plans, code, and test case results as a SME for certain aspects of the SoC software architecture.
  • Support performance and power optimization of the areas for which you are responsible.
  • Define and enforce architectural standards, guidelines, and best practices.
  • Collaborate with cross-functional teams to align architectural decisions with overall business objectives.
  • Diagnose and resolve complex technical issues and recommend trade-offs between software and hardware implementations.
  • Collaborate effectively with cross-functional teams to achieve project goals.
  • Mentor and guide junior team members.

Requirements

We're looking for self-motivated, creative problem-solvers who are eager to push technological limits and make a real impact in energy efficiency., The successful candidate will have extensive experience in the early-stage software development process. The candidate must have strong experience in embedded software programming on ARM Cortex-M processors using RTOS. They must be familiar with methods for functional allocation, requirements traceability, Software Requirement Specification content, and make vs. buy analysis for commercial and open-source software., * A Bachelor's of Science or Master's in Electrical Engineering, Computer Engineering, or Computer Science.

  • 12+ years of experience developing embedded software for real-time environments (bare metal and RTOS).
  • Experienced in code development in C/C++ and assembly language for embedded targets using ARM Cortex-M processors.
  • Experience in writing software requirements specifications with an eye towards customer use cases, derived software requirements, and testability on FPGA-based emulation platforms, as well as full system reference designs.
  • Experience with asymmetric multicore systems and control/data plane interaction, including inter-processor communication via remote processor messaging frameworks (e.g., OpenAMP or RPMsg).
  • Experience with general-purpose data movement engines, memory management units, memory protection, L1/L2 caches, shared memories, and dual-port memories.
  • Experience in power optimization for embedded systems is desirable. Familiarity with voltage and frequency scaling, clock gating, sleep/wake cycles, and low-power modes of processors and peripherals.
  • Familiarity with at least one MCU IDE on Windows from ARM/Keil, IAR, Eclipse, or others.
  • Familiarity with Trust Zone for M-Class microcontrollers and/or Trusted Firmware for microcontrollers is preferred.
  • Experience with Graphics, Display and Audio/Video processing in embedded systems preferred.
  • The candidate must be able to independently manage assigned tasks, prioritize workload, and meet deadlines with minimal supervision. Proactive problem-solving skills and the ability to seek clarification when needed are essential.

About the company

Ambiq is on a mission to enable intelligence everywhere - powering the AI edge revolution with the world's lowest-power semiconductor solutions. Built on our proprietary sub- and near-threshold technology, our chips deliver multi-fold improvements in energy efficiency without costly process scaling. Since 2010, we've shipped over 300 million units to customers building smarter wearables, medical devices, IoT products, and AI-powered edge applications. Our cross-functional teams span design, research, development, production, marketing, sales, and operations across Austin, Hsinchu, Shanghai, Shenzhen, and Singapore. We move fast, tackle hard problems, and create space for people to grow through complex, meaningful work that shapes the future of technology.

Apply for this position