Embedded AI Software Engineer

J-Squared 

📍 Ontario, Canada 🇨🇦

full-time
mid-level
Posted —

Key Skills

AIPythonDockerOpenCVMQTT

Industry

Consumer ElectronicsRobotics

Job Description

EMBEDDED AI SOFTWARE DEVELOPER | FALC AI


Leading the charge of developing cutting edge hardware systems .

Collaborative and highly skilled cross-functional team .

Shaping the future of computing in key industries, turning ideas into reality.

That is what we do at J-Squared.


What will your typical day look like?

As an Embedded AI Software Engineer within J-Squared’s FALC-AI division, you will be responsible for building, testing, optimizing, and deploying application software that runs on edge compute platforms where AI is a core part of the product workflow.


You will work on software that connects cameras, sensors, AI models, local processing pipelines, edge compute hardware, and cloud-connected services into reliable customer-facing solutions. This role is hands-on and code-focused, with an emphasis on building production-quality software for edge environments where performance, reliability, resource usage, and maintainability matter.


Specifically, your responsibilities will include:

Edge AI application software development

  1. Design, develop, test, and maintain production-quality application software for edge compute device; including preprocessing and post-processing pipelines for AI model inputs and outputs, including image/video transformations, detection parsing, classification outputs, tracking data, event rules, and structured metadata..
  2. Build software modules that ingest video, image, sensor, and device data and transform that data into usable inputs for AI inference pipelines.
  3. Develop application logic for input handling, frame sampling, batching, event detection, alert generation, metadata creation, local buffering, and edge-to-cloud data handoff.
  4. Develop software that is resource-aware and performs reliably under edge constraints such as limited compute, memory, storage, power, network bandwidth, and intermittent connectivity.
  5. Implement APIs, services, scripts, tools, and supporting utilities required to configure, operate, monitor, and troubleshoot edge AI applications.
  6. Refactor and improve existing application code to increase maintainability, testability, performance, and long-term product scalability.


AI inference and data pipeline integration

  1. Integrate trained AI, machine learning, or computer vision models into edge application software.
  2. Work with AI/ML team members to understand model behaviour, input/output requirements, accuracy considerations, performance trade-offs, and deployment constraints.
  3. Deploy and validate AI models on edge devices using appropriate runtime environments, inference engines, accelerators, and vendor SDKs.
  4. Measure and identify paths to improve model pipeline performance, including latency, throughput, frame rate, memory usage, CPU/GPU/NPU utilization, and end-to-end response time.
  5. Support model conversion, packaging, versioning, and deployment workflows for edge environments.


Edge platform development and deployment

  1. Work with cameras, video streams, sensors, accelerators, device APIs, and platform SDKs as part of the edge application stack.
  2. Build and maintain containerized or repeatable deployment environments for edge applications.
  3. Support device setup, runtime configuration, service management, remote diagnostics, and field-update workflows.
  4. Implement logging, health checks, telemetry, monitoring hooks, and diagnostic tools to support both development and production deployments.
  5. Troubleshoot issues across application software, operating system behaviour, drivers, hardware interfaces, networking, AI runtime environments, and cloud-connected services.


Software quality, testing, and maintainability

  1. Create and maintain unit tests, integration tests, validation scripts, and automated checks for the software components you own.
  2. Support hardware-in-the-loop, system-level, and real-world validation testing where software performance depends on cameras, sensors, accelerators, or edge device behaviour.
  3. Participate in code reviews and contribute constructive feedback to improve quality, reliability, readability, and maintainability.
  4. Document the components you build, including setup instructions, configuration notes, architecture context, dependencies, known limitations, and troubleshooting guidance.
  5. Identify and address technical debt, brittle code paths, unclear interfaces, and recurring defects.
  6. Contribute to engineering practices that improve repeatability, test coverage, release readiness, and long-term product supportability.


Cross-functional collaboration and delivery

  1. Work closely with product, AI/ML, QA, hardware, platform, and customer-facing teams to clarify requirements and deliver working software.
  2. Break down technical work into clear tasks, estimate effort, identify dependencies, and communicate progress or blockers early.
  3. Participate in sprint planning, backlog refinement, design discussions, technical reviews, demos, retrospectives, and release-readiness activities.
  4. Provide technical input on feature feasibility, implementation trade-offs, performance risks, and deployment considerations.
  5. Support customer demos, pilots, and internal validation efforts by helping prepare software builds, test scenarios, and troubleshooting plans.
  6. For more senior candidates, provide technical guidance to junior developers, lead small feature streams, review designs, and help establish reusable software patterns for the edge AI platform.


About Our Team

J-Squared has over 30 years of experience excelling in operationally demanding performance environments . Our ruggedized products and solutions are innovative, needs driven, and focused on quality and reliability. Our Octagon Systems line of products is a global leader in rugged computer systems built for use in extreme environments such as mining, defence & military, transportation, and marine. We architect and manufacture systems that work no matter what.


Enough About Us, Let’s Talk About You

For a candidate to be successful in this role, the key qualifications include:

  • A bachelor’s degree or college diploma in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, or a related technical field; or equivalent practical software development experience.
  • Approximately 4–7+ years of professional software development experience, with demonstrated ownership of complex software components or feature streams.
  • Strong hands-on programming experience in Python and at least one additional production language such as C++, C#, Go, JavaScript/TypeScript, or similar.
  • Demonstrated experience building application software that runs on Linux-based edge, embedded, IoT, industrial, robotics, camera, or hardware-enabled computing platforms.
  • Experience developing software for data-intensive or real-time applications, such as video pipelines, sensor processing, event processing, streaming data, device telemetry, or edge-to-cloud workflows.
  • Hands-on experience integrating AI, machine learning, or computer vision models into application software, including preprocessing, inference execution, post-processing, and structured output handling.
  • Strong understanding of software design fundamentals, including modular code structure, abstraction boundaries, error handling, logging, configuration, testing, and maintainability.
  • Experience diagnosing and improving application performance, including latency, throughput, memory usage, CPU/GPU utilization, storage usage, and network behaviour.
  • Experience writing or maintaining unit tests, integration tests, validation scripts, or automated checks for production software.
  • Comfortable debugging complex software issues using logs, traces, profilers, diagnostic tools, test scripts, and structured troubleshooting methods.
  • Ability to communicate technical decisions, risks, blockers, and trade-offs clearly to both technical and non-technical team members.
  • Comfortable working in a fast-moving product development environment where requirements may evolve as prototypes, pilots, and customer deployments mature.

Additionally, we are looking for someone who is:

  • Experience with computer vision, video processing, or camera-based applications, including tools such as OpenCV, GStreamer, FFmpeg, RTSP, ONVIF, WebRTC, or similar.
  • Experience deploying AI applications on edge accelerators, GPUs, NPUs, VPUs, or SoCs, including platforms from NVIDIA, Intel, Hailo, Blaize, Qualcomm, AMD, or similar vendors.
  • Experience with model deployment or optimization techniques such as ONNX, TensorRT, quantization, model conversion, batching, or hardware-accelerated inference.
  • Experience with Docker, Linux services, shell scripting, CI/CD, build automation, remote updates, or repeatable edge deployment workflows.
  • Experience with edge-to-cloud communication, including REST APIs, MQTT, message queues, telemetry, device management, or intermittent connectivity patterns.