Software Architect
Ambiq · Austin, TX · 1 wk ago
On-siteEngineeringFull-time
Responsibilities
- 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.
- 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.
Qualifications
Pay
Competitive salary commensurate with experience.
Schedule
On-site 5 days a week in NW Austin.
Benefits
Health insurance, retirement plan, paid time off, and more.