Software Systems Hardware Integration Intern

Sunnyvale, CA, US

Job Description / Skills Required

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:

As a Software Engineering Intern with hardware experience at Avicena, you will gain hands-on experience in both hardware validation and software development. You will work closely with engineers on a variety of tasks including testing hardware components, developing software tools, and creating intuitive graphical user interfaces (GUIs) for embedded systems. This internship will provide valuable exposure to industry best practices in both hardware and software, and give you the chance to develop solutions that improve the functionality of our products.

Responsibilities:

  • Hardware Validation:
    • Assist in validating and troubleshooting hardware components such as PCBs and microcontrollers.
  • Software Development:
    • Develop software tools and scripts in Python for automating hardware validation, data collection, and analysis.
    • Write clean, maintainable, and efficient Python code to interact with embedded systems and devices.

Qualifications:

  • Education:
    • Currently pursuing a degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
  • Technical Skills:
    • Hardware Experience:
      • Hands-on experience with standard electronics tools like multimeters, oscilloscopes, and power supplies.
      • Solid understanding of basic electronics concepts, including circuit design and signal analysis.
    • Software Development:
      • Proficient in Python programming for automation, data collection, and software testing.
      • Experience with GUI development using PyQt6 or similar frameworks (Tkinter, Kivy).
    • Communication Protocols:
      • Familiarity with communication protocols such as SPI, I2C, UART, and related interfaces.
    • Version Control:
      • Comfortable using Git for version control, including branching, merging, and pull requests.
  • Other Skills:
    • Strong problem-solving skills and ability to troubleshoot both hardware and software issues.
    • Ability to work independently and as part of a team in a fast-paced environment.
    • Strong communication skills, both written and verbal.
    • Attention to detail and strong organizational skills.
  • Preferred Qualifications (Not Required):
    • Experience with embedded systems or microcontroller programming (e.g., Arduino, Raspberry Pi).
    • Knowledge of Linux-based operating systems and command-line tools.
    • Familiarity with other programming languages such as C/C++.

What You’ll Gain:

  • Hands-on experience in both software development and hardware validation.
  • Exposure to a wide range of technologies and real-world engineering challenges.
  • Mentorship from experienced engineers and opportunities for professional growth.
  • The chance to contribute to projects that impact the company’s products and customers.