Smartly.City
Senior Embedded Software Engineer
Smartly.CityPoland18 hours ago
Full-timeRemote FriendlyEngineering, Information Technology

About Smartly.City

We build secure, reliable IoT solutions that help cities run cleaner, safer, and more efficiently. We’re a small team that values logical thinking, ownership, and clear communication.


Role overview

As a Senior Embedded Software Engineer, you’ll design and ship firmware for our next-gen edge devices (ARM Cortex-M). You’ll work end-to-end - from board bring-up to Over-The-Air (OTA) updates in production - owning decisions and collaborating with hardware, cloud, and product.


What you’ll do

  • Develop and maintain embedded software for resource-constrained devices (bare-metal/RTOS).
  • Integrate wireless stacks (BLE, LoRaWAN, LTE) and IoT protocols (MQTT, CoAP).
  • Build secure bootloaders and OTA update flows.
  • Diagnose and resolve performance, stability, and connectivity issues using solid debugging practices.
  • Write clear documentation and contribute to architectural decisions.


What we’re looking for

  • 5+ years of experience in embedded software development.
  • Strong low-level skills in ARM Cortex-M development in C.
  • Exceptional problem solving skills.
  • Hands-on experience with using laboratory equipment.
  • Comfortable across bare-metal and RTOS.
  • Communicative, decisive, and organized - able to frame trade-offs and move forward.
  • Good command of English (written and spoken) for international collaboration.


Nice to have

  • Practical experience with BLE / LoRaWan / LTE and MQTT or CoAP.
  • Secure boot and OTA best practices.
  • Python for tooling/tests; Rust-in-embedded exposure.
  • Experience troubleshooting field issues.


What we offer

  • Competitive salary in the range of 18,000–30,000 PLN (net + VAT).
  • Annual bonus tied to sales of the devices we ship.
  • Contract type: UoP or B2B — your choice.
  • Remote-first work within EU time zones.
  • Flexible PTO and working hours.
  • Supportive, senior peers.
  • Long-term cooperation and long-term projects.
  • High autonomy with real influence on architecture and product direction.
  • Lightweight process: docs over meetings, fast reviews.
  • Opportunity to build meaningful products at city scale.


Hiring process

  1. Intro chat (15-30 min) — mutual fit, role expectations, contract preference (UoP/B2B).
  2. Technical deep dive (60–90 min) — systems, debugging, architecture/security, live coding task.
  3. Offer — final decision.

Key Skills

Ranked by relevance