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
-
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..
-
Build software modules that ingest video, image, sensor, and device data and transform that data into usable inputs for AI inference pipelines.
-
Develop application logic for input handling, frame sampling, batching, event detection, alert generation, metadata creation, local buffering, and edge-to-cloud data handoff.
-
Develop software that is resource-aware and performs reliably under edge constraints such as limited compute, memory, storage, power, network bandwidth, and intermittent connectivity.
-
Implement APIs, services, scripts, tools, and supporting utilities required to configure, operate, monitor, and troubleshoot edge AI applications.
-
Refactor and improve existing application code to increase maintainability, testability, performance, and long-term product scalability.
AI inference and data pipeline integration
-
Integrate trained AI, machine learning, or computer vision models into edge application software.
-
Work with AI/ML team members to understand model behaviour, input/output requirements, accuracy considerations, performance trade-offs, and deployment constraints.
-
Deploy and validate AI models on edge devices using appropriate runtime environments, inference engines, accelerators, and vendor SDKs.
-
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.
-
Support model conversion, packaging, versioning, and deployment workflows for edge environments.
Edge platform development and deployment
-
Work with cameras, video streams, sensors, accelerators, device APIs, and platform SDKs as part of the edge application stack.
-
Build and maintain containerized or repeatable deployment environments for edge applications.
-
Support device setup, runtime configuration, service management, remote diagnostics, and field-update workflows.
-
Implement logging, health checks, telemetry, monitoring hooks, and diagnostic tools to support both development and production deployments.
-
Troubleshoot issues across application software, operating system behaviour, drivers, hardware interfaces, networking, AI runtime environments, and cloud-connected services.
Software quality, testing, and maintainability
-
Create and maintain unit tests, integration tests, validation scripts, and automated checks for the software components you own.
-
Support hardware-in-the-loop, system-level, and real-world validation testing where software performance depends on cameras, sensors, accelerators, or edge device behaviour.
-
Participate in code reviews and contribute constructive feedback to improve quality, reliability, readability, and maintainability.
-
Document the components you build, including setup instructions, configuration notes, architecture context, dependencies, known limitations, and troubleshooting guidance.
-
Identify and address technical debt, brittle code paths, unclear interfaces, and recurring defects.
-
Contribute to engineering practices that improve repeatability, test coverage, release readiness, and long-term product supportability.
Cross-functional collaboration and delivery
-
Work closely with product, AI/ML, QA, hardware, platform, and customer-facing teams to clarify requirements and deliver working software.
-
Break down technical work into clear tasks, estimate effort, identify dependencies, and communicate progress or blockers early.
-
Participate in sprint planning, backlog refinement, design discussions, technical reviews, demos, retrospectives, and release-readiness activities.
-
Provide technical input on feature feasibility, implementation trade-offs, performance risks, and deployment considerations.
-
Support customer demos, pilots, and internal validation efforts by helping prepare software builds, test scenarios, and troubleshooting plans.
-
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.