Embedded Software Engineer II, Ring, Ring Firmware
Gdansk, Pomeranian Voivodeship, POL · On site · Posted 6dLeaves the board in 2 days
See how you compareUpload your resume and see how it scores against this posting. Free.Posting says: Fast paced
Ring is growing in Poland and we are looking for experienced Embedded Software Engineers to join our team in Gdansk. You will work on firmware for IoT devices used by millions of customers worldwide, developing new features and shipping products from concept to production.
As an Embedded Software Engineer, you will own the design and implementation of firmware subsystems running on resource-constrained hardware. You will work across the full development cycle: architecture, implementation, code review, testing on real devices, and production release. Our team operates with high autonomy and a strong feedback culture.
The ideal candidate:
Has shipped embedded products to production and understands what it takes to go from prototype to millions of devices in the field. Writes clean, maintainable C/C++ for constrained environments and cares deeply about code quality. Communicates proactively, raises technical risks early, and drives solutions across teams. Thrives in a fast-paced environment where priorities shift as customer needs evolve. Is curious about the full stack, from hardware registers to cloud connectivity, and enjoys learning new domains.
Key job responsibilities Design, implement, and maintain embedded firmware in C/C++ for Ring devices. Specify and implement functionality for embedded subsystems (connectivity, streaming, power management, sensors, or security). Collaborate with hardware, QA, cloud, and app teams to deliver integrated product experiences. Participate in code reviews, technical design discussions, and cross-team architecture decisions. Debug complex issues across hardware and software boundaries using JTAG, UART, and protocol analyzers.
A day in the life You start the morning reviewing a code change from a colleague working on a new sensor driver. After your team standup, you spend focused time implementing a feature for an upcoming product launch, testing it on real hardware at your desk. In the afternoon, you dig into a tricky issue that only reproduces on one board variant, tracing it from application code down to a register misconfiguration. You push your fix, verify it on the device, and close the day knowing it will ship to customers in the next release. Internal job description