software engineer

MicromartToronto, Canada
Full TimeOn-siteMidCA$64,480 - CA$170,560 / YearLimited info disclosed
9 views0 applications

Description

Location: Toronto (Hybrid. In office most of the time, with flexibility when work does not require hardware access.)About MicromartMicromart is building the platform for unattended retail. We empower entrepreneurs to turn any location into a retail opportunity, from offices and condos to gyms, hotels, and other shared spaces. Our focus is on giving entrepreneurs powerful tools that are simple to use, while delivering a fast, intuitive shopping experience for shoppers.Often described as Shopify for physical commerce, Micromart provides the infrastructure that powers unattended retail in the real world.Our TeamMicromart launched just over a year ago and is now used in thousands of locations across North America. We?re a small and growing team working closely across product, platform, and smart store systems, from design through production.Work here is end to end. That means thinking through problems, making pragmatic tradeoffs, shipping code, and improving systems over time. As we scale, there?s real ownership, real impact, and room to grow.How you can helpAs a Software Engineer, Backend ? Edge & IoT Systems, you will help build and operate the software systems that run inside Micromart smart stores.You will design and maintain software that runs close to the hardware, integrating with cameras, payment terminals, locks, routers, sensors, and other components. Your focus will be on building systems that are reliable, observable, and resilient while operating continuously.Most development and testing happens in a virtual smart store environment that simulates devices and system behavior, allowing you to build, test, and debug workflows without being blocked by physical hardware. Physical devices are used when validation, investigation, or performance testing requires it.The system is built primarily in Node.js and TypeScript, with Express-based services running in Docker on Linux-based edge devices and managed through IoT device management platforms. Engineers deploy code remotely, access devices, inspect logs, proxy requests, and debug systems running in production. Strong software fundamentals and sound architectural judgment are essential.This role is open to experienced intermediate and senior engineers, with scope and ownership scaled based on experience.At Micromart, you willDesign, build, and maintain Node.js and TypeScript services running on edge devicesBuild and operate Express-based services deployed in Docker on LinuxWork on real-time systems using sockets and event-driven architecturesIntegrate with cameras, payment devices, locks, routers, sensors, and other hardwareWork with USB and other device protocols, networking, IP addressing, and connectivity constraintsBuild systems that handle real-time events, intermittent connectivity, and offline scenariosInvestigate and resolve issues across application code, operating systems, networking, and hardwareDebug camera recording pipelines and other performance-sensitive workloadsImprove observability, logging, and monitoring for systems running in productionCollaborate closely with platform, frontend, and hardware teamsMake pragmatic tradeoffs that prioritize stability, simplicity, and long-term maintainabilityTake ownership beyond writing code, including code reviews, release follow-through, and raising the quality bar across the teamWhat you bring to the teamStrong experience building and owning production software systemsSolid fundamentals in systems design, debugging, and software architectureExperience with Node.js, TypeScript, and service-based architecturesExperience building real-time systems using sockets or event-driven patternsComfort working with Linux-based systems, containers, and device-level softwareExperience integrating with hardware or external devices using USB, network protocols, or similar interfacesStrong understanding of networking fundamentals, including IP addressing and local networksAbility to reason about performance, reliability, and obs