Embedded Engineer

Permanent employee, Full-time · Salto CloudWorks Amsterdam

What you'll do
Are you looking for an opportunity to contribute to a large-scale, complex product and see the real-time impact of your work on hundreds of thousands of users worldwide? This is your chance to greatly impact the design, architecture, and implementation of our cutting-edge access control solution. Support the team by creating a high-quality product, enabling communication between the locks and the backend, and adding new features to the product. Help us win the battle against mechanical keys by building the future of access control!
Your profile

6+ years of experience in Embedded Engineering.
Embedded Linux Expertise: Design and develop embedded software applications in modern C++ on Embedded Linux platforms, ensuring scalability and maintainability.
Device Lifecycle Management: Lead the setup and maintenance of Ubuntu Core images for hardware projects, overseeing version tracking, update logic, and secure device management.
CI/CD & Automation: Implement robust CI/CD pipelines with Gitlab CI, ensuring automated testing, deployment, and device updates.
System & Network Programming: Apply expertise in Linux system architecture, network programming, and security to optimize embedded applications.
IoT & Communication Protocols: Develop and integrate IoT communication protocols (ZigBee, BLE, Ethernet, 802.11, UART, TLV, Protocol Buffers).
Testing & Quality Assurance: Drive unit, functional, and integration testing strategies, ensuring software reliability through automated testing in hardware images and device management applications.
Build & Development Tools: Utilize Buildroot, Yocto, kconfig, Make, CMake for embedded Linux build systems, optimizing software development workflows.
Python for Tooling: Establish and maintain high-quality Python development standards (type hinting, linting, integration testing) for internal tools and automation.
Continuous Improvement: Proactively analyze and enhance existing codebases, championing best practices in architecture, design patterns, and TDD.

Why us?

It's nice to meet you. We are the Embedded Linux team at CloudWorks. We are a tightly knit, very open, supportive, and cooperative six-person team responsible for maintaining and developing our secure embedded access gateway and the associated build, CI, validation, monitoring, and deployment infrastructure.

Often, we will be working with a subsystem or new hardware that we do not have much experience with, so we are good at reading documentation, quickly understanding complex chunks of source code, googling for answers, prototyping, evaluating, and testing ideas. Other times, we will be working on systems that our colleagues know well, so we will rely on their documentation and mentorship.

We work on a secure resource-constrained embedded Linux system, so every one of us understands at least a bit about bare metal, boot loaders, Buildroot, Linux programming, kernel configuration and patching, kernel drivers, user space, Linux networking, as well as handling of network hardware, protocols, IPC, multithreading. On top of this, we are responsible for our access control and cloud connectivity business logic, and last but not least, CI/CD, unit and integration testing practices, and at least a bit about APIs and how to use them. We design, build, and maintain our automated physical regression rigs.

No one is required to know all of this, but everyone is expected to be driven to learn and improve.

We work primarily in C++ and Python 3, with a bit of bash for good measure. We understand crypto and security well enough not to decide to roll our own. We value TDD, clean, modular, readable code, DI, and the power and freedom that verification and monitoring give us.

When dealing with elevated support requests, we have to know our systems very well and understand the subtleties of the interactions involved, not only for the codebase and platform we develop but also with all the external components it connects to—our backend services and locks, and sometimes the Ethernet, WiFi, or cellular network we are using.

Last but not least, we understand our product and its strengths and limitations and work to improve it, help other teams and clients, and make the SALTO KS experience even better.

Working at Salto CloudWorks

About Salto CloudWorks

At Salto CloudWorks, we are a dynamic, international team of innovators from over 35 nationalities. We take pride in our work, support each other, and embrace collaboration, transparency, and growth.

Our Core Values

Passionate and Proud: We strive for excellence and continuous improvement.

Stronger, Together: We value collaboration and diversity, fostering a sense of belonging.

Inspired and Inspiring: Driven by technology, we challenge ourselves to innovate and grow.

Honest and Outspoken: Transparency and open communication are at the heart of everything we do.

About us
Salto CloudWorks is a wireless, cloud-based smart lock technology company founded in 2012 and based in Amsterdam. We are a close team made up of developers, technology lovers, and innovative thinkers and locking technology is our business. We offer the only wireless smart lock platform, called SALTO KS, that allows other companies to create and offer their own smart lock solutions.
We are looking forward to hearing from you!
Thank you for your interest in Salto CloudWorks - A SALTO Group company. Please fill out the following short form.   
(Using ChatGPT will backfire on you, so think twice before you turn to your AI buddy)
Uploading document. Please wait.
Please add all mandatory information with a * to send your application.