Senior Software Engineer (Elixir) - SmartRent
Scottsdale, AZ
About the Job
Who We Are
Founded in 2017, SmartRent, Inc. (NYSE: SMRT) is the leading provider of smart home and property operations solutions for the rental housing industry.
We're doing big things in the proptech world! SmartRent has been recognized as a winner of HousingWire's Tech100 Real Estate awards in 2021, 2022, and 2023 for the most innovative tech company serving the mortgage and real estate industries; named on Deloitte's 2023 Technology Fast 500™ list of fastest-growing companies —and we're just getting started.
Job Description
We are actively seeking a dynamic and innovative Senior Software Engineer to play a key role in shaping our IoT solutions. As a valuable member of our remote collaborative team, you will contribute to both front-end and back-end projects, but this particular role will be very back-end heavy in Elixir. In addition to technical expertise, we highly appreciate adaptability and a continuous passion for learning. Effective communication is fundamental in this role, whether you're reaching out for support or offering assistance to teammates.
We recognize the significance of diverse perspectives and encourage individuals from all backgrounds, including those who may have been underrepresented in the tech industry, to apply. Your unique experiences and skills are essential in contributing to our success. Strong time management skills are crucial, encompassing the ability to navigate distractions and cultivate a productive work environment without direct supervision.
Responsibilities
- Strategize and execute medium to large-scale projects, demonstrating autonomy while fostering a collaborative environment.
- Develop accurate project timelines and consistently meet or exceed those estimations.
- Create robust and inclusive software solutions, integrating automated testing to prevent potential regressions.
- Practice empathy in user interactions, contributing to informed decision-making processes prioritizing customer satisfaction.
- Make thoughtful architectural trade-off decisions, considering diverse perspectives and needs.
- Contribute to projects with a medium-to-high business impact, recognizing the importance of diverse voices in decision-making.
- Invest in continuous learning and improvement for yourself and your colleagues through pairing, code review, and mentorship.
- Demonstrate resilience in overcoming challenges, efficiently resolving issues, and actively seeking input from others as needed.
- Proactively identify potential challenges in your work requirements, communicating them early to facilitate collaborative problem-solving and course correction.
Required Qualifications
- 5+ years of professional experience in software development, with at least 2-3 years working with Elixir. We value different career paths and recognize a variety of experiences.
- Strong understanding of or interest in learning functional programming concepts such as immutability, first-class functions, recursion, and higher-order functions.
- Familiarity with relational databases (PostgreSQL, MySQL) or a desire to grow your database expertise.
- Proficiency or enthusiasm for learning Ecto for database querying and migration in Elixir applications.
- Experience with or openness to learning automated testing frameworks like ExUnit for Elixir, as well as continuous integration/deployment (CI/CD) pipelines.
- Passion for continuous improvement and learning demonstrated through a willingness to adopt new tools, languages, and workflows. We encourage curiosity and provide space for growth and development in a collaborative, inclusive environment.
Preferred Qualifications
- Hold a Bachelor's Degree in Computer Science or a related field, or have gained equivalent experience through non-traditional or self-directed learning paths. We welcome diverse routes to technical expertise.
- Experience with or interest in message queues (e.g., RabbitMQ, Kafka) and event-driven architectures.
- Familiarity with Git and Git-based workflows (GitHub, GitLab), or a willingness to learn.
- Familiarity with access control systems, IoT devices, or a desire to expand knowledge in these areas.
- Strong verbal and written communication skills, especially in team collaboration and explaining technical concepts to non-technical stakeholders. We value clear, compassionate communication.
- Knowledge of the MQTT protocol or a demonstrated ability to learn and apply new communication protocols.
- An interest in mentoring junior developers, conducting code reviews, and helping to set best practices for the team. We provide guidance and opportunities to build these skills if you are new to mentoring.
- Experience leading development projects or a desire to grow your leadership skills in managing and delivering projects.
#LI-Remote
#LI-AV1
For our US employees, we offer 100% employer-paid medical coverage, flexible PTO (because we know how important work-life balance is), and competitive 401k and employee stock purchase plans to invest in your future. You'll fit right in if you:
- Do the hard work and go out of your way to deliver excellence
- Own outcomes and learn from your mistakes
- Are a collaborative and supportive team player; win or lose you lift others up
- Value authenticity, other's perspectives, and diversity in the workplace
- Have a passion for smart tech and the real estate industry