JOBSEARCHER

Entry Level Software Engineer

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

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 RoleAvicenaTech 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.ResponsibilitiesDevelop and maintain Python-based automation scripts, test harnesses, and internal deployment toolsBuild and support desktop GUI applications (PyQt6 or similar) used in manufacturing, test, and field environmentsWrite multithreaded application code with attention to thread safety, resource management, and long-running stabilityPerform hardware bring-up tasks including SWD/JTAG programming, SPI/I2C/UART debug, and PCB-level troubleshootingReview and validate driver code and register-level configurations against hardware datasheets and specsMaintain version-controlled codebases and participate in code reviews via Git/GitHubDocument systems, processes, and findings clearly for internal and external audiencesQualificationsSoftware DevelopmentProficient in Python for automation, data collection, and software testingExperience with GUI development using PyQt6 or a comparable framework (Tkinter, Kivy, etc.)Experience writing multithreaded applications with awareness of concurrency and thread safetySolid understanding of object-oriented programming principles and design patternsVersion Control Comfortable with Git including branching, merging, rebasing, and pull request workflowsGeneralStrong problem-solving skills with the ability to troubleshoot across hardware and softwareAbility to read and interpret hardware documentation, datasheets, and interface specificationsStrong written and verbal communication skills, able to explain technical systems concisely to peers and stakeholdersHighly organized, detail-oriented, and able to manage parallel tasks in a fast-paced environmentAble to work both independently and collaboratively as part of a small, cross-functional teamPreferred QualificationsThese 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 contextFamiliarity with firmware development for microcontrollers (STM32, RP2040, or similar)Familiarity with Python data and scientific libraries: NumPy, Pandas, MatplotlibExperience with SPI, I2C, UART, and SWD/JTAG interfaces at the hardware levelUnderstanding of PCB bring-up processes and basic bench debugging (oscilloscope, logic analyzer)