Entry Level Software Engineer at Avicena Tech
Sunnyvale, California, United States -
Full Time


Start Date

Immediate

Expiry Date

14 Jul, 26

Salary

0.0

Posted On

15 Apr, 26

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Python, PyQt6, Multithreading, Git, Hardware Debugging, SWD, JTAG, SPI, I2C, UART, PCB Troubleshooting, Firmware Development, Object-oriented Programming, Automation Scripting, Desktop GUI Development, Systems Engineering

Industry

Semiconductor Manufacturing

Description
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)
Responsibilities
Develop and maintain Python-based automation scripts, test harnesses, and internal deployment tools while building desktop GUI applications. Perform hardware bring-up tasks, debug interfaces, and validate driver code against hardware specifications.
Loading...