Firmware Development Undergraduate Engineering Co-op

New
J
JobgetherSemiconductors and Embedded Systems
CanadaFull-TimeEntry
Salary not disclosed
Apply NowOpens the employer's application page

Job Details

Required Skills
Embedded Systems

Requirements

  • Currently enrolled as an undergraduate student in Computer Engineering, Software Engineering, Computer Science, or a related field.
  • Knowledge of C programming and system software.
  • Strong problem-solving skills and enthusiasm for learning new technical concepts.
  • Excellent written and verbal communication skills.
  • General knowledge of embedded systems, digital ASIC design, and software/firmware development and testing methodologies.
  • Additional software development experience with C++, Rust, SystemC, Python, or domain-specific language modeling.
  • Understanding of processors, servers, and system software architecture.
  • Knowledge of SoC architecture, SoC subsystem architecture, IP architecture, and/or microarchitecture.
  • Strong interpersonal skills and the ability to collaborate and influence effectively across disciplines.
  • Self-directed approach with a strong sense of ownership, accountability, and follow-through.
  • Relevant knowledge demonstrated through coursework, academic projects, research, internships, or industry experience.

Responsibilities

  • Develop software with direct interfaces to hardware, including microcode, IP-specific firmware, FPGA, and DSP solutions.
  • Design and implement interfaces that abstract low-level hardware functionality for higher levels of software and firmware.
  • Contribute to the development and testing of embedded and firmware solutions within integrated circuit and custom silicon projects.
  • Participate in design reviews and code reviews, contributing technical feedback and applying engineering best practices.
  • Test and validate product implementations to ensure functionality and quality.
  • Work alongside experienced engineers to investigate and solve complex technical problems.
  • Collaborate across engineering disciplines on projects involving hardware, firmware, software, and system-level development.
  • Take ownership of assigned technical issues and drive them toward resolution.
  • Continuously develop technical knowledge in areas such as embedded systems, digital ASIC design, and SoC architecture.
View Full Description & ApplyYou'll be redirected to the employer's site
View details
Apply Now