26 Oct
|
Marecomms
|
Halifax Regional Municipality
26 Oct
Marecomms
Halifax Regional Municipality
About Marecomms
Marecomms is a deep-tech ocean technology pioneer breaking long-standing signal processing and acoustic communication paradigms in subsea wireless environments. Built upon fundamental breakthroughs in underwater signal processing and high-efficiency sensor management, we develop world-leading acoustic modems and subsea networking solutions for commercial and defense applications globally.
Driven by scientific rigor and technological superiority, Marecomms is in a key strategic expansion phase—scaling our core capabilities to deploy our next-generation platform and accelerate operations.
Role Summary
We are seeking an Embedded Software & Firmware Engineer to develop, optimize, and validate low-level C/C++ firmware, real-time concurrency routines, hardware-in-the-loop (HIL) automation, and embedded Linux infrastructure. In this role, you will be the owner of the firmware runtime that bridges core algorithms and real-time execution on custom hardware platforms.
Your primary focus will be writing high-reliability C code, implementing deterministic data pipes/buffers, developing Python automation test suites, and maintaining firmware reference architectures for turnkey deployments.
Key Responsibilities
- Real-Time C/C++ Firmware: Write, maintain, and optimize C/C++ firmware featuring concurrent multi-threaded/multi-core execution, deterministic timing, state machines, and hardware-assisted concurrency.
- Data Streams & Peripheral Drivers: Implement and harden low-level drivers for SPI, I2C, UART, I2S/SAI, DMA channels, and circular ring buffers for continuous high-rate AD/DA data acquisition.
- HIL & Test Automation: Develop Python and Bash scripts for automated hardware-in-the-loop (HIL) testing, bench validation, log extraction, continuous integration, and system verification in Linux environments.
- Operator Tools & Telemetry: Build lightweight operator interfaces and diagnostics tools (command-line or Python/web-based dashboards served over IP)
for telemetry monitoring and system configuration.
- Reference Firmware Architecture: Document and package modular C code structures and reference software frameworks to support technology licensing for external integrators.
- Integration & Field Support: Work with hardware engineers to validate firmware on physical boards during lab bring-up and assist with field trial software setups in the Halifax area.
- Technical Documentation: Maintain clear, structured documentation for C firmware routines, driver handle APIs, state machine diagrams, and Python test suites.
Position Requirements
Mandatory Criteria:
- Education: Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or Mechatronics Engineering.
- Work Authorization & Location: Valid Canadian work authorization and ability to work full-time from our Halifax office/lab starting on day one.
- Physical Capability: Ability to handle lab gear and field equipment (up to 20 kg) during bench testing and local field deployments.
Core Technical Skills (Firmware/Software Focus):
- Embedded C/C++ Mastery: Deep understanding of C/C++ for bare-metal or RTOS environments, register-level hardware interaction, memory management, and pointers.
- Concurrent Execution & Architecture: Practical experience with multi-threading, inter-task communication (queues, semaphores, pipes), event loops, or deterministic state machine architecture.
- Peripheral Streams: Hands-on experience configuring high-speed serial protocols (SPI, UART, I2C, I2S), interrupt service routines (ISRs), and DMA buffers.
- Linux & Python Tooling: Strong familiarity with Git,
Linux command-line environments, and Python for test automation and data processing.
Desirable Secondary Assets (Nice-to-Have):
- Ability to read schematics and use basic lab gear (oscilloscopes, multimeters) during initial board bring-up.
- Exposure to embedded Linux build tools (Yocto, Buildroot) or BSP customization.
- Working knowledge of signal processing concepts or MATLAB code analysis.
Position Structure & Applicant Eligibility
We welcome applications from qualified candidates across all experience levels—from recent graduates to mid-level and senior technical professionals:
- Entry-Level & Recent Graduates: Full-time developmental roles and structured internship positions are available exclusively to recent post-secondary graduates. (Note: Currently enrolled students seeking short-term co-op terms are not eligible).
- Mid-Level & Senior Engineers: Roles are structured as either full-time permanent positions or fixed-term milestone contracts based on project scope and technical experience.
- Location Requirement: This position requires mandatory, daily physical presence at our Halifax lab and office for hardware integration, bench testing, and field trial execution.
Compensation & Perks
- Compensation: Salary is $70,000 – $100,000 CAD per year, commensurate with experience, technical depth, and practical capability.
- Perks: On-site parking and hands-on lab and field testing experience in subsea technologies.
Pay: $70,000.00-$100,000.00 per year
Perks:
- On-site parking
Application question(s):
- 1. Are you presently located in the Halifax Regional Municipality (HRM) or actively living here? (Yes/No)
2. Are you legally authorized to work full-time in Canada on day one without employer sponsorship? (Yes/No)
3. Do you have hands-on experience developing low-level real-time C/C++ code and peripheral drivers (SPI, DMA, UART, I2C) for microcontroller/DSP hardware? (Yes/No)
Work Location: In person
📌 Embedded Software & Firmware Engineer (Halifax Regional Municipality)
🏢 Marecomms
📍 Halifax Regional Municipality