Embedded Software Designer - AI Knowledge and Data

Fidus SystemsKitchener, Ottawa, OntarioHybridFull-timeMid level, 2–5 yearsListed 2 hours ago

Apply now

About this role

Fidus is a global high-tech design firm headquartered in Ottawa, with additional design centres in Kitchener-Waterloo and San Jose. We specialize in leading-edge electronic product development, with hardware, embedded software, FPGA/ASIC, and signal integrity teams working together to design and deliver next-generation products for clients in emerging technology markets.

Position Overview/Mandate:

Fidus has a deep record of solved problems: code, design documents, issue threads and project write-ups spread across many systems. We are building a knowledge base that lets any engineer ask "have we built this before?" or "have we seen this break?" and get a sourced answer.

You will help build it. Your focus is the data: pulling content out of repositories and documents, shaping it into clean, reviewable entries, and making search return the right result. You will work day to day with our AI build lead, with the embedded software lead as domain owner. After the build, you move onto billable client projects with the embedded software team, so we are hiring for curiosity and range, not a narrow specialty.

The tools you build will become part of our designers' daily work. We are looking for someone who is excited about AI, uses it every day, and wants to understand how software works all the way down to the hardware. Our tools serve embedded designers, and you will spend time at the bench with them during the build. You do not need to know embedded yet. If you have built something with a microcontroller or a Raspberry Pi just to see if you could, we want to hear about it.

Make an Impact with US:

At Fidus, you'll work on high-speed, high-complexity electronic systems, often using emerging technologies before they reach the broader market. You'll collaborate across FPGA/DSP, hardware, embedded software, verification, SI/PI, PCB layout, and mechanical/thermal design as part of cross-functional teams delivering real products for our clients.

In practice, that means contributing to projects in areas such as space and satellite systems, next-generation communications and networking, high-performance compute and storage platforms, advanced video, imaging, VR/AR applications, and industrial, medical, and automotive systems. You won't be limited to a single product or industry—your work will follow the technology, not just one roadmap.

Requirements

What You’ll Be Doing:

Year one: build the platform

- Build and maintain extraction pipelines that crawl code repositories, Confluence, Jira and project documents and turn them into structured knowledge entries.

- Clean, de-duplicate and tag content by discipline. Make sure nothing restricted gets in.

- Work on retrieval: keyword and vector search over Postgres with pgvector, ranking, and relevance tuning.

- Build and run evaluation sets that measure whether search finds the right answer, and report the results.

- Support the review workflow, where every new entry is approved by an engineer before it goes live.

- Help connect the knowledge base to estimating and project tools that need past-project data.

- Learn enough about our embedded work (drivers, board support, FPGA handoffs) to tell whether a knowledge entry is right, not just well formatted.

After the build: client engineering

- Join the Embedded Software Team on billable client projects: embedded Linux, drivers, applications and test tooling across a wide range of products.

- Bring what you built back to the bench. You will be one of the people who knows how our AI tools work and can help other designers use them.

- Keep contributing to the platform as client work allows.

Who You Are:

- A degree or diploma in software engineering, computer engineering, computer science or a related field, or equivalent hands-on experience. New grads and co-op graduates welcome.

- 0 to 2 years of professional experience. Personal projects count as much as job experience. We want to hear about the ones you built because you wanted to. Internships and co-ops count too.

- Hands-on projects of your own, ideally embedded or hardware: Arduino, STM32, ESP32, Raspberry Pi or similar. You can walk us through how it works and what went wrong.

- Working Python. You can read unfamiliar code, write tests and ship a pull request.

- Comfort with git, the Linux command line and code review.

- Daily use of AI coding tools (Claude Code, Copilot, Cursor or similar), plus the judgment to check what they produce.

- Evidence that you teach yourself things. Show us something you learned because you wanted to, not because a course required it.

- Clear written communication. Much of this work is explaining decisions in a pull request or a short doc.

- SQL and a basic understanding of relational databases.

- Interest in data quality. You notice when numbers do not add up and want to know why.

Nice to have

- Postgres, pgvector or another vector database.

- Experience with embeddings, retrieval-augmented generation (RAG) or search ranking (BM25).

- Parsing messy inputs: HTML exports, PDFs, Office documents.

- Data pipelines, ETL or a data engineering course or project.

- Embedded experience for the client work that follows: C or C++ on a microcontroller or embedded Linux board, an RTOS (FreeRTOS, Zephyr), flashing boards and reading serial consoles, or using a scope or logic analyzer.

What success looks like

- 3 months: You have shipped an extractor that runs on a real project and produces entries an engineer approves with minor edits, and you have worked alongside a designer on real hardware.

- 6 months: You own part of the retrieval or evaluation pipeline and can show search quality improving with numbers.

- 12 months: The knowledge base is in daily use, you can explain how every part of it works, and you are ready for client work.

How to apply

Send your résumé and a link to a personal project you are proud of a repository, photos, a video or a short write-up. Any kind of software project is welcome; one with a microcontroller or other hardware is a bonus. Tell us what you built, what went wrong, and what you would change. If you used AI to build it, tell us how: which tools, what they did, and what you checked or changed yourself.

Eligibility

- Legally eligible to work in Canada. Some client projects require registration under the Controlled Goods Program; you must be able to qualify.

- Based within commuting distance of Ottawa for a hybrid schedule.

Benefits

This role is being posted to fill an existing vacancy

Our competitive compensation package also includes a comprehensive benefits package, including medical, dental, and vision plans, matching GRSP contributions, annual profit-sharing bonus, along with other supplementary benefits.

We also recognize that candidates show interest throughout different career stages and welcome all applications. When there is a great fit, the level of the role may be shifted as applicable.

About Fidus & Why Work Here

Since 2001, Fidus has completed over 4,000 projects for more than 400 customers across industries including Telecom/Datacom, Aerospace & Defence, Consumer, Semiconductors, Industrial/Automotive Controls, and Medical. As a Premier Adaptive Computing Partner for AMD North America, we combine deep technical expertise with industry-leading tools to solve complex design challenges.

Fidus designs high-speed, high-complexity electronic systems using emerging technologies, often well before they reach the broader market. Our teams work across FPGA/DSP, hardware, embedded software, verification, SI/PI, PCB layout, and mechanical/thermal design to deliver real products for our customers.

Our work spans space and satellite systems, next-generation communications and networking, high-performance compute and storage platforms, advanced video and imaging, and industrial, medical, and automotive systems. We are not tied to a single product or industry—our work follows the technology, not just one roadmap.

At Fidus, collaboration is at the core of how we work. We value openness, trust, and shared ownership, and we create an environment where people are encouraged to contribute ideas, learn from one another, and have a meaningful impact through the work they do.

If all of this excites you, has your attention, and you can’t wait to join our amazing team and work environment, then we want to hear from you!

Fidus has a commitment to ensure a fair and transparent recruitment process. Automated tools (including AI) support our initial screening of applicants against our job posting to identify candidates whose qualifications, experience, and skills align most closely with the position requirements. All further candidate assessments and final selection are conducted by our human recruitment team. AI does not make any final hiring decisions.

Thank you for your interest in Fidus. We welcome and encourage diverse candidates to apply. Accommodations are available upon request for candidates taking part in all aspects of the selection process. Fidus is committed to creating a diverse environment and is proud to be an equal opportunity employer.