
FPGA/Embedded Software Developer
- Port Coquitlam, BC
- Temporary
- Full-time
- Collaborate in performing trade-off analysis and design decisions for performance, power, and cost optimization.
- Define and document system-level architecture for sonar platforms, including hardware, firmware, and software components.
- Design and implement FPGA-based signal processing pipelines for sonar systems.
- Design and implement embedded C/C++ software to interface with hardware systems.
- Develop VHDL/Verilog modules for high-performance, low-latency data acquisition and processing.
- Collaborate with system architects and software engineers to integrate FPGA designs into larger sonar platforms.
- Collaborate with cross-functional teams to ensure seamless integration of FPGA, embedded software, and acoustic subsystems.
- Optimize resource usage and timing performance for real-time operation.
- Conduct simulations, verification, and validation of FPGA designs.
- Interface with ADCs, DACs, and other peripherals commonly used in sonar systems.
- Support hardware bring-up, debugging, and testing in lab and field environments.
- Document design specifications, test procedures, and results.
- University degree in Electrical Engineering, or other relevant discipline, or a combination of equivalent education and experience.
- 2+ years of technical leadership experience
- 10+ years of experience of FPGA and embedded software experience
- Ability to read and interpret schematics and datasheets
- Proficiency in VHDL and/or Verilog
- Demonstrated experience with signal processing, such FFT, filter design, and beamforming.
- Proficient in C/C++ development in an embedded context, both bare metal and RTOS.
- Experience with high speed interfaces such as PCIe and ethernet
- Experience with Xilinx FPGA's and tooling.
- Familiarity with tools for algorithm development and analysis (e.g. Python, MATLAB, Julia).
- Experience with hardware debugging concepts and tooling.
- Familiar with the usual tools employed by agile software teams (git, Jira, Azure DevOps, etc...)
- Focused team player.
- Strong analytical and problem solving skills.
- Good communicator.
- Experience acting as a liaison between departments internally, externally, and with management.
- Experience working with remote and local software development teams.
- High level of energy, enthusiasm, and optimism, as well as a sense of urgency.