Entry Level Software Engineer

Avicena is a privately held company developing microLED based ultra-low power high bandwidth interconnects for chip-to-chip communications.  This technology will revolutionize High-Performance (HPC) and Cloud computing, as well as other industries where low power interconnects are critical like camera sensors, autonomous vehicles, and aerospace. Avicena is headquartered in Sunnyvale, California with a development center in Edinburgh, Scotland. The company was founded in 2019 by leading technologists from the optical networking industry with a track record of delivering breakthrough products.  (www.avicena.tech)   

About the role:

AvicenaTech is looking for a motivated Software Engineer to join our growing team. In this role you will work across the full product stack from desktop software and internal tooling to low level firmware. Helping to design, test, and ship reliable systems for our customers. You will collaborate closely with hardware and software engineers, contribute to real products from day one, and grow quickly in an environment where hands-on depth is valued.

This is a fully on-site position. You will work directly alongside hardware and software engineers in a lab and office environment. Some bench work with electronic equipment should be expected. The role is hands-on by nature, and you will regularly move between writing code and working with physical hardware.

Responsibilities:

  • Develop and maintain Python-based automation scripts, test harnesses, and internal deployment tools
  • Build and support desktop GUI applications (PyQt6 or similar) used in manufacturing, test, and field environments
  • Write multithreaded application code with attention to thread safety, resource management, and long-running stability
  • Perform hardware bring-up tasks including SWD/JTAG programming, SPI/I2C/UART debug, and PCB-level troubleshooting
  • Review and validate driver code and register-level configurations against hardware datasheets and specs
  • Maintain version-controlled codebases and participate in code reviews via Git/GitHub
  • Document systems, processes, and findings clearly for internal and external audiences

Qualifications:

Software Development

  • Proficient in Python for automation, data collection, and software testing
  • Experience with GUI development using PyQt6 or a comparable framework (Tkinter, Kivy, etc.)
  • Experience writing multithreaded applications with awareness of concurrency and thread safety
  • Solid understanding of object-oriented programming principles and design patterns

Version Control

  • Comfortable with Git including branching, merging, rebasing, and pull request workflows

General

  • Strong problem-solving skills with the ability to troubleshoot across hardware and software
  • Ability to read and interpret hardware documentation, datasheets, and interface specifications
  • Strong written and verbal communication skills, able to explain technical systems concisely to peers and stakeholders
  • Highly organized, detail-oriented, and able to manage parallel tasks in a fast-paced environment
  • Able to work both independently and collaboratively as part of a small, cross-functional team

Preferred Qualifications:

These are nice-to-haves, not requirements. Strong candidates missing some of these are still encouraged to apply.

 

  • Experience with C or C++ in an embedded or systems context
  • Familiarity with firmware development for microcontrollers (STM32, RP2040, or similar)
  • Familiarity with Python data and scientific libraries: NumPy, Pandas, Matplotlib
  • Experience with SPI, I2C, UART, and SWD/JTAG interfaces at the hardware level
  • Understanding of PCB bring-up processes and basic bench debugging (oscilloscope, logic analyzer)


Product Engineering

Sunnyvale, CA

Partilhar em:

Termos de serviço.PrivacidadeCookiesDesenvolvido pela Rippling