Embedded Software Engineer

PersimmonsAustin, TX
86d

About The Position

As an Embedded Software Engineer on our team, you will be responsible for building the embedded software running inside our SoC. You will design and implement highly parallel software running on multicore systems, as well as low level software to use systolic arrays, DMAs, interrupts, atomics, and other hardware capabilities. Your role will also involve optimizing embedded software for high performance leveraging multicore parallelism and memory hierarchies. Collaboration with cross-functional teams to design, test, and optimize our hardware and software solutions is essential. You will stay abreast of industry trends and advancements to ensure our solutions remain competitive and innovative. Additionally, you will provide technical leadership across the runtime team, mentoring engineers, and helping to scale the team as the company grows.

Requirements

  • 4+ years of experience in developing software for multi-core systems.
  • Knowledge of multi-core architectures, including resource locking techniques and workload partitioning.
  • Familiarity with hardware architectures and optimization implications, including memory hierarchies, systolic arrays, DMA engines, and GPU-style parallelism.
  • Experience in early board bring-up, low-level debugging, and utilizing JTAG for debugging, alongside working with simulators.
  • Strong C/C++ skills.
  • BS/MS/PhD degree in Computer Science, Computer Engineering, or related field (or equivalent experience).
  • Strong interpersonal, verbal and written communications skills.
  • Capability to achieve objectives under tight deadlines.
  • Experience executing tasks while managing competing priorities.
  • Deep understanding of technology and passion for what you do.
  • Strong teamwork, specifically a proven ability to effectively guide and influence within a dynamic matrix environment.
  • Excellent problem-solving skills and the ability to work in a dynamic, fast-paced environment.

Responsibilities

  • Build the embedded software running inside our SoC.
  • Design and implement highly parallel software running on multicore systems.
  • Design and implement low level software to use systolic arrays, DMAs, interrupts, atomics, and other hardware capabilities.
  • Optimize embedded software for high performance leveraging multicore parallelism and memory hierarchies.
  • Collaborate with cross-functional teams to design, test, and optimize our hardware and software solutions.
  • Stay abreast of industry trends and advancements to ensure our solutions remain competitive and innovative.
  • Provide technical leadership across the runtime team, mentoring engineers, and help scale the team as the company grows.

Benefits

  • Competitive salary and benefits package.
  • Flexible PTO.
  • 401k.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service