Software Engineer positions focus on delivering results in their domain. This page aggregates open Software Engineer roles and what employers typically expect.
What is the opportunity? We're looking for an engineer to teach our Flutter app how to talk — securely, reliably, and in real time — to two brand-new pieces of hardware, in an environment where a dropped BLE packet isn't an inconvenience, it's a failure. This role sits at the intersection of mobile software and embedded systems. You'll need to be equally comfortable extending Flutter architecture and reasoning about what happens when a BLE packet drops mid-transmission, or how to securely pair and authenticate with a new device. You'll work inside a large, cross-functional team with dedicated QA, requirements, engineering, project management, and product functions, so clear communication and documentation are as much a part of the job as the code. What will you achieve? - The Big Project: You will own the end-to-end integration of two new hardware devices into our existing Flutter application — defining the message protocols, extending our BLE communication library, and implementing each device's pre-designed security layer (pairing, authentication, encrypted data exchange) from spec to shipped feature. - The Reliability Bar: You will own automated test coverage on every new communication and security code path, driving it to 95%+ and giving you the autonomy to decide how you prove out the hard-to-test cases: dropped packets, race conditions, and hardware-in-the-loop failure modes. - The Cross-Layer Debug: You will audit and resolve performance and reliability issues that span the stack — application code, mobile OS BLE stacks, and firmware — root-causing intermittent bugs that don't respect layer boundaries. - The Knowledge Base: You will produce the documentation that becomes the reference for how our devices talk to our app: protocols, security implementation, library APIs, and t What do you need for this role? To succeed in these challenges, you must be proficient with: - Bluetooth Low Energy (BLE): GATT, characteristics/services, and connection lifecycle management - Production Flutter/Dart development - Designing or maintaining a communication library or custom protocol (message framing, serialization, error handling) - Implementing security for BLE or other embedded communications (pairing/bonding, authentication, encryption) - Software design patterns that keep systems modular, testable, and extensible - Performance profiling and optimization on mobile and/or embedded systems - Debugging across multiple layers of a stack (application, OS-level BLE, hardware/firmware) - Writing automated tests (unit, integration, hardware-in-the-loop where applicable) to a 95%+ coverage standard. *Also required: 5+ years of professional software engineering experience. iOS development experience is* *preferred, as the application's primary platform focus is iOS.* Bonus Points: - Embedded firmware development experience, or direct collaboration with firmware engineers - Familiarity with mobile platform BLE stacks beneath Flutter's plugin layer — particularly iOS Core Bluetooth (Android Bluetooth APIs a plus) - Background in medical devices, industrial equipment, or other regulated/safety-critical hardware domains Who are you? - Rigor: You treat “it works on my machine” as an unfinished sentence. When failure isn't an option, you don't ship until it's proven — with tests, not hope. - Systems Thinking: You move fluidly between app code, OS-level BLE stacks, and firmware. “Not my layer” isn't in your vocabulary when you're chasing a bug. - Clear Communication: You document as you build, because you know the next engineer to touch this code won't have you in the room to explain it. - Tenacity: Intermittent bugs three layers deep don't scare you off. You don't need your hand held — you find the way through. What does the hiring process look like? 1. Screening Interview. This initial discussion with HR covers your background and salary expectations, while specifically assessing your communication style and self-discipline for an environment l…