SmartRent

SmartRent

Forum Sponsor

Senior Software Engineer I - SmartRent, Scottsdale, Remote US

About Us

At SmartRent, we are on a mission to make smart home technology accessible for everyone, working alongside passionate, diverse, and innovative professionals. We believe in authenticity, collaboration, and taking ownership of our outcomes. By merging hardware and software, we provide solutions that streamline operations and enhance the resident experience across properties. As we continue to grow, we’re excited to bring new talent on board to help shape the future of smart home tech.

My name: Danielle Shaw
My position: Talent Acquisition Partner
Company name: SmartRent
Company website: https://smartrent.com
Country (USA)

SmartRent’s core tech stack includes Elixir as our primary backend language. We develop a range of products, including web and mobile applications for property owners, managers, and residents, integrated with connected hardware such as smart locks, thermostats, cameras, and other IoT devices. We aim to streamline operations, enhance resident experiences, and offer digital asset protection to property owners. Since our founding in 2017, we’ve grown exponentially, going public in 2021 with a valuation of $2.2 billion. Over 600,000 units have been deployed, handling over one million devices and billions of events every month.


About the Job
Job title: Senior Software Engineer I
Job description: Jobs at SmartRent

Salary range: $135,000 - $155,000, plus 10% bonus and RSUs (Restricted Stock Units). We provide 100% employer-paid medical coverage.

Qualifications or experience required:

  • 6+ years of software development experience in common web technologies and languages: JavaScript, TypeScript, HTML, and CSS.
  • Strong full stack experience in React and its core principles (such as Virtual DOM, JSX, component lifecycle, React Context API/Hooks).
  • Experience with RESTful APIs and asynchronous requests.
  • Familiarity with code versioning tools (e.g., Git).
  • Excellent written and verbal communication skills.
  • Strong attention to detail and understanding of the software development life cycle (SDLC).
  • Regularly demonstrates ownership and passion for their work and team.
  • Experience with backend programming languages (e.g., Elixir, Ruby).
  • Experience with PostgreSQL (Postgres) or other relational databases.

What the successful job applicant will be working on:
Senior Software Engineer I (Full Stack) to join our innovative and dynamic Core IoT team. This role focuses on developing and enhancing our unified SmartRent platform, integrating cutting-edge smart community solutions with secure, user-friendly software.

You will work at the intersection of physical hardware (like smart locks, thermostats, and intercom systems) and software applications designed for property staff and residents of both single-family and multifamily properties. By combining powerful backend systems with intuitive frontend experiences, you will contribute to creating a safer, more connected, and modern community. This position will primarily involve working on the CMW backend using Elixir while also supporting a React Native app called Alloy Install, which has a similar Elixir backend.

Responsibilities:

  • Design, develop, and implement new features and functionality for our products using React, React Native, and Elixir.
  • Enhance SmartRent’s Access Control platform, enabling seamless access to common areas through mobile apps, PIN codes, cards, and fobs.
  • Improve and transform the Self-Guided Tours solution for residents and property staff, ensuring an efficient and enjoyable experience.
  • Identify areas of the codebase that can be optimized, refactored, or improved to enhance quality, performance, maintainability, and scalability.
  • Lead efforts to rework existing code, update libraries and dependencies, and adopt new technologies and patterns.
  • Work closely with QA engineers to ensure that software solutions are thoroughly tested and meet quality standards before release.
  • Conduct regular code reviews, knowledge-sharing sessions, and pair programming to troubleshoot issues and facilitate professional development.
  • Provide guidance, support, and mentorship to less experienced team members.
  • Continuously evaluate and improve our development processes, tools, and workflows to drive efficiency and innovation across the organization.
  • Backend: Elixir (for systems like CMW and Alloy Install)
  • Integration with hardware devices like BLE locks, thermostats, and intercom systems.
  • Modern front-end build pipelines and tools (e.g., Webpack, Babel, Yarn).

Position on Remote Work

  • Remote job: Yes
  • Remote restrictions: Candidates must reside in the US and be legally authorized to work in the US. SmartRent is unable to provide sponsorships or transfers (H1B, etc.).
  • Remote leeway: None
  • Other notes: This role is open to remote work for qualified candidates located in the US.

About the Interview Process

  1. Recruiter Screen (30 minutes)
  2. Technical Interview with Engineering Manager (60 minutes)
  3. Mini coding challenge (60 minutes)
  4. Live Group Coding Assessment with Engineering Manager and Team (60 minutes)

Further Info
If you are passionate about building innovative solutions and want to be part of a team making a significant impact in the smart home tech industry, apply today! Feel free to reach out via LinkedIn or email to learn more.

Where Next?

Popular in Jobs Top

Orlovv
We are looking for extraordinary talent to join WGAMES. Working at WGAMES means working in a young, dynamic and rapidly changing the envi...
New
maiwand.nessar
Introductory paragraph theScore , a wholly-owned subsidiary of PENN Entertainment , empowers millions of sports fans through its digital...
New
james-whitehat
Introductory paragraph We're looking for a mid/senior engineer to help create the first version of our platform - an Elixir/Phoenix pro...
New
axelson
Hi there! :wave: Are you interested in maps? If so then come help us build the best online, collaborative, and real-time online mapping s...
New
AstonJ
If you have a freelance or short term contract job, or one where you are looking for interns or equity-only jobs (i.e any job which is no...
New
olivermt
Introductory paragraph OMT Tech is an international development company founded on the single principle of developing interesting projec...
New
derivcosweden
Introduction Do you want to change the way tens of thousands of players globally experience our Sportsbook product and develop our backe...
New
jeffdeville
UPDATE1 - See end of post The Project I need to scrape the content from several sites all into a common format, so that I can create a ...
New
gabrielpoca
We are looking for talented individuals to join our team at Subvisual. If you are passionate about Elixir and eager to work on cutting-e...
New
sschuth
Introductory paragraph We offer something rare: a job with a purpose, a great team, a growing company, all in a choose-to-be-remote-if-i...
New

Other popular topics Top

chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

We're in Beta

About us Mission Statement