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