CharlesM

CharlesM

Senior Embedded Software Engineer - SmartRent, Remote, USA

SmartRent is made up of passionate, diverse, and innovative professionals who enjoy working together. We are on a mission to make smart home technology accessible for everyone by embracing our shared guiding principles. We don’t take shortcuts; we do the hard work. We own our outcomes. We win as a team. We value authenticity and others’ perspectives. We believe solving problems starts before we write any code.

We are leading the way for smart technology for housing, primarily multifamily apartment complexes. It’s a really fun intersection of physical hardware, such as locks and thermostats, and software that can control the devices; we provide applications for both the property staff and also the residents of the properties. We started in 2017 and have had explosive growth ever since — going public in 2021. We have deployed over 900,000 units that contain over one million IoT devices and ingest billions of events from those devices in a given month.

About us

My name: Charles Martinez
My position: Talent Acquisition Partner
Company name: SmartRent
Company website: https://smartrent.com/
Company headquarters (country): USA
Company info and history (how you’re using Elixir etc): Elixir is our primary backend language of our techstack. Our extensive product line consists of web and mobile software for property owners and managers, residents and system installers as well as connected hardware that remotely monitors and controls smart locks, readers, gates, lights, thermostats, outlets, cameras and sensors. SmartRent streamlines operations for community staff, enhances the resident experience and provides property owners with a digital layer of asset protection.

The Embedded Software Engineer joins a small group of Elixir developers who use Nerves to create firmware for SmartRent devices such as Z-Wave central controllers (hubs) and access control systems. In short, we bridge the gap between hardware and software to facilitate communication between smart devices and SmartRent Web services. Don’t let the “embedded” in Embedded Software Engineer scare you. Thanks to Nerves, we are first and foremost Elixir developers!

About the job

Job title: Senior Embedded Software Engineer
Job description: Job Application for Senior Embedded Software Engineer at SmartRent
Salary range: $130,000 - $175,000n plus 10% performance based bonus every year and RSUs (restricted stock units). We offer a comprehensive and competitive benefits package designed to support your well-being and future. For our US employees, this includes medical, dental, vision, and life insurance with low deductibles and 75-100% employer contributions.

Qualifications or experience required:

  • Minimum of 4 years of hands-on software development experience.
  • Proficiency in Elixir or Erlang/OTP, with working knowledge of the BEAM runtime, or demonstrated ability to learn and apply functional programming concepts.
  • Experience with, or demonstrated interest in, embedded Linux systems development.
  • Working knowledge of Linux internals, including device trees, kernel configuration, system boot processes, and shell tooling.
  • Demonstrated ability to deliver projects from design through deployment with minimal supervision.
  • Strong written and verbal communication skills, with the ability to collaborate effectively across teams.
  • Demonstrated ability to learn and apply new tools, languages, and technologies as required.
  • Must be authorized to work in the United States without the need for employer sponsorship now or in the future.

What the successful job applicant will be working on: Day-to-day work involves significant team collaboration. The role spans from firmware development all the way up to backend systems that the firmware must interact with. Lower-level work occurs weekly rather than daily, though not necessarily on a predictable schedule. The person floats between small groups of 2 to 3 engineers working on targeted projects or initiatives for a few months at a time. Primary focus areas include firmware delivery, fleet observability, firmware development, and installation flows for hardware devices into new units.

Remote job: Yes, USA only

About the interview process

Step 1: Recruiter Screen (30-45 mins)

Step 2: Technical Interview w/ Hiring Manager (45 mins)

Step 3: Interview w/ teammates (60 mins)

Step 4: Interview w/ Cross-Functional Engineering Director (30 mins)

First Post!

keaganluttrell

keaganluttrell

@CharlesM – this looks exciting! I went ahead and applied, thanks for posting!

Where Next?

Popular in Jobs Top

QuinnWilton
Hey Elixir Forum! I’m an engineer at Tinfoil Security. We’re a small team of < 15 people who write automated security analysis tools....
New
jeffdeville
Project This project has 2 main things going for it: It’s a phoenix app that requires common, but non-trivial features. eg: White lab...
New
olivermt
Introductory paragraph OMT Tech is an international development company founded on the single principle of developing interesting projec...
New
troy76
System76 engineers and manufactures open source hardware, software, and firmware at our factory in Denver, Colorado. At System76 you’ll p...
New
lafka
Introduction We’re looking for curious, self-driven team members interested in solving interesting problems with a focus long term stabi...
New
Rachc
Hey there! Remote is solving global remote organisations’ biggest challenge: employing anyone anywhere compliantly. We make it possible ...
New
dsb84
Introductory paragraph 7Sage is a fast-growing education technology company. Our small, remote team moves at the pace of a startup, but ...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 44265 214
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New

We're in Beta

About us Mission Statement