24 Sep
|
J-Squared Technologies Inc.®
|
Ontario
24 Sep
J-Squared Technologies Inc.®
Ontario
EDGE SOFTWARE APPLICATIONS DEVELOPER | FALC AI
Job Type: Permanent, Full-time
Available Locations: Ottawa | Toronto | Remote/Other
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 Edge Software Applications Developer within J-Squared’s FALC-AI division, you will build, test, optimize, and deploy software for edge compute platforms with integrated AI workflows.
You will write software to connect cameras, sensors, AI models, local pipelines, and cloud services into reliable solutions, focusing on performance, resource usage, and maintainability in edge environments.
You will work closely with software developers, AI/ML engineers, data scientists, platform engineers, hardware teams, QA, product, and customer-facing teams to turn product requirements into working edge AI capabilities.
Specifically, your responsibilities will include:
High-performance and resource-aware application development
- Develop and maintain production Python software for resource-constrained edge platforms by writing clean APIs, service interfaces, scripts, and management utilities for edge services.
- Implement application logic for input handling, batching, local caching and edge-to-cloud telemetry handoffs to efficiently process high-throughput data streams.
- Design and optimize applications under hardware constraints, including limited CPU/memory budgets, restricted storage, and intermittent networks.
Data pipeline and modular system integration
- Integrate data processing modules and third-party AI/ML inference runtimes into application workflows.
- Deploy and validate modular application components on edge target devices using containerized environments and SDKs.
- Profile end-to-end performance to resolve bottlenecks in throughput, latency, memory footprint, and thread management.
Edge system architecture and platform development
- Build and maintain containerized deployment environments for edge applications while interfacing with hardware, sensor streams, system APIs, and platform SDKs across the edge stack.
- Implement software to support device setup, runtime configuration, remote diagnostics,
and field-update workflows for development and production deployments
- Troubleshoot software issues across application modules, OS services, drivers, hardware interfaces, and networking layers.
- Establish and maintain scalable packaging, versioning, and deployment procedures for edge applications.
Software quality, testing, and maintainability
- Maintain unit tests, integration tests and validation scripts for software components you own, and support system-level hardware-in-the-loop validation testing.
- Document system components, including setup instructions, architecture context, dependencies, and troubleshooting steps.
- Identify and resolve technical debt, brittle code paths, and recurring defects using object-oriented principles to improve maintainability, testability, and scalability
- Contribute to engineering practices that enhance code quality, reliability, test coverage, release readiness, and long-term maintainability.
Cross-functional collaboration and delivery
- Collaborate with cross-functional teams to clarify requirements, define system interface contracts and performance specifications, and deliver working software.
- Break down work into clear tasks, estimate effort, identify dependencies, and communicate progress early.
- Participate in sprint planning, backlog refinement, design reviews, and release readiness activities.
- Provide technical input on feature feasibility, implementation trade-offs, and deployment risks.
- Support customer demos, pilots, and internal validation by preparing builds, test scenarios, and troubleshooting plans.
- Provide technical guidance to junior developers and help establish reusable software patterns.
About Our Team
J-Squared has over 30 years of experience excelling in operationally demanding performance environments. Our ruggedized products and solutions are creative, 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:
- Bachelor’s degree or diploma in CS, Software Engineering, or related technical field, or equivalent practical experience.
- 4–7+ years of professional software development experience, owning complex features or software components.
- Strong programming skills in Python and OOP design, alongside proficiency in at least one other object-oriented language such as C++, Rust, C#, Go, or Java/TypeScript.
- Experience building application software for Linux-based edge, embedded, IoT, or industrial hardware platforms.
- Experience with data-intensive or real-time applications (e.g., video pipelines, sensor streaming, edge-to-cloud workflows).
- Proven capability in module-level software design, focusing on data abstraction, concurrency, and modularity.
- Strong foundation in modular design, abstraction boundaries, error handling, logging, testing, and maintainability.
- Experience profiling and optimizing performance, including latency, throughput, memory, and CPU/GPU usage.
- Proficiency in writing and maintaining unit tests, integration tests, and automated validation checks.
- Skilled in debugging complex software issues using logs, traces, profilers, and diagnostic tools.
- Clear communication of technical decisions, trade-offs, and blockers to cross-functional team members.
- Adaptable in fast-moving product development environments with evolving requirements.
Additionally, we are looking for someone who has:
- Experience with computer vision and video processing tools (e.g., OpenCV, GStreamer, FFmpeg, RTSP, WebRTC).
- Familiarity with AI inference engines or runtime toolchains (e.g., NVIDIA Jetson, OpenVINO, TensorRT).
- Experience with model deployment or optimization (e.g., quantization, model conversion, hardware acceleration).
- Proficiency with Docker, Linux services, shell scripting, CI/CD, and repeatable deployment workflows.
- Experience with edge-to-cloud communication (e.g., REST APIs, MQTT, telemetry, intermittent connectivity).
📌 Software Application Developer (Ontario)
🏢 J-Squared Technologies Inc.®
📍 Ontario