Bachelor's degree in software engineering, computer science, or computer engineering, or equivalent experience.
5+ years of software development experience.
3+ years of embedded software development experience.
Proficiency in C and Bash programming languages.
Experience in a Linux development environment.
Familiarity with source control systems.
Must have unrestricted right to work in Canada without sponsorship.
Responsibilities
Lead the development of embedded software solutions from analysis to deployment.
Mentor and train junior developers on the team.
Identify and implement improvements in reliability and functionality.
Conduct in-depth root cause analysis for issues.
Develop and maintain performance and functional documentation.
Write and maintain embedded firmware in C.
Benefits
Ongoing skill development opportunities.
Engaging work with a talented development team.
Involvement in cutting-edge telecom audio and video IP products.
Full Job Description
The successful candidate must be located already in the Greater Vancouver area of BC.
Remote applications and candidates requiring relocation assistance or work sponsorship will NOT be accepted.
Position Overview
Algo is looking for a highly motivated Embedded Firmware Developer to work with our growing development team in Burnaby, B.C. Working with other talented developers, you will help develop telecom audio and video IP products with industry leading performance and capability. Your role as an embedded firmware developer will intersect with other team members working on hardware development, software development, acoustical engineering, optical engineering, voice/music/video codecs, application development, and design verification. The position offers ongoing skill development as well as rewarding and interesting work.
Core Responsibilities
Be the lead developer and work closely with other team members to develop embedded software solutions: from requirement analysis, design, implementation, documentation, deployment, validation, and ongoing feature support
Mentor and train junior team members
Continuously look for areas of improvement in reliability, functionality, and testing
Perform in depth root cause analysis
Help develop performance and functional documentation
Write and maintain embedded firmware in C
Requirements
Bachelor's degree in software engineering, computer science, computer engineering, or relevant qualified experience.
5+ years' experience in software development
3+ years' experience in embedded software development
Experience with C and Bash
Development experience in a Linux environment
Experience in using source control systems
Must have the unrestricted right to work in Canada without requiring sponsorship
Other Valuable Skills and Experience:
Knowledge of TCP/UDP
Experience reading and implementing protocols defined in RFCs
Experience analyzing network traffic using Wireshark
Experience with Lua, Python, JavaScript
Strong problem-solving skills and a desire to learn
Excellent written and verbal communication skills
Development experience with TI ARM processors - AM335x, AM625, DM81xx, DM64xx, and AM57xx
Previous experience with VoIP, SIP, Skype, TLS, SRTP
Previous experience with audio and video codecs G.711, G.722, G.729, H.264
Applicant Notes (Please read thoroughly before applying)
Fully remote work is not available for this position.
This role requires a minimum in-office presence of 4 days per week due to nature of work with physical products
Only candidates already local to Metro Vancouver will be considered.
The company will not be offering relocation assistance for any candidates.
Please do not apply if you cannot meet our legal work authorization requirements.
Candidates must be authorized to work in Canada legally on a full-time basis (37.5 hours per week).