Lead Software Engineer at Dwelo

api
aws
python
scala
rust
About Dwelo:
Dwelo is changing the way people live and work in apartments. We are building a reliable, secure, and ever-growing smart device platform that enables apartment residents to live in a smart home and owners and managers to improve the operational efficiency of their properties. Residents in Dwelo communities can control their locks, lights, thermostats and more from their Dwelo mobile and voice apps, while managers use the web portal to reduce property-wide energy use, streamline access for maintenance workers, and limit the risk of floods and extreme temperature events. Our commitment to customer experience has helped us grow more than 20x the last three years, and we have raised more than $20M to achieve our vision. Dwelo is being installed in over 200 communities across the country from Miami to Seattle, and major companies are trying to emulate our success. What we do is new, what we do is hard, and what we do is fun - and we want you to join us!

Dwelo Engineering is a small team comprised of diverse people from all backgrounds with a passion for distributed systems, hardware, programming language design, and other technology disciplines. Our team is growing rapidly, and we are planning for some big outcomes. Two features will guide our growth and success: our breadth of origins and experiences, and our true passion for technology and its ability to build products that improve people's everyday lives.  

What We're Building:
We are building a new state synchronization architecture to scale to manage billions of data points and orchestrate millions of devices.  Additionally, we are making modifications to the design of our IoT platform so we can rapidly integrate with any device as it comes to market, including Nest, Amazon, Z-Wave and other products. Security is important for us, so we are investing in our permissions, authorization, and access control features. And we are building new non-device specific features to make apartment living and working better for managers and workers.

Job Description:


  • Build and own Dwelo's cloud APIs and services. These are highly performant systems orchestrating many thousands of devices across the nation.

  • Work with gateway and mobile engineers to design APIs to deliver new products and features for residents, managers, and our field services staff.

  • Ship clean, reliable, extensible code! Inform and advance Dwelo Engineering's code best practices. Own your code from localhost to deployment to living a fault-tolerant, highly available life in production.

  • Integrate with the APIs of cloud hosted devices and service vendors with our platform. We communicate with some devices via our gateway hardware, and other devices by connecting to the vendors cloud. Dwelo is much more than a device platform, and we incorporate other services into our product. 



Outcomes:

  • Cloud Platform - Deliver enhanced new features for our existing Apartment Cloud Platform that will position us as the apartment operating system.  New features for managers include vacant unit scheduling (set lights/temperature is on autopilot), unique technical challenge, include scheduling for apartment renters

  • New IoT Platform - Design and develop a new IoT platform and includes features such as device registration and permissions; platform will be multi-tenant and consumed by third parties. Examples: access controls parking garage apps (manage parking remotely w/out having attendants there), storage detection, hospital access

  • Event Infrastructure - Enhance the event infrastructure back-end. 




About You
 :

  • You have formal experience as a technical leader or manager with direct reports, and you have a passion for developing software and developing people

  • You have experience building and scaling applications, systems and organizations

  • You have designed and built systems that rely on queueing systems like Kafka or Kinesis, relational databases, and databases of the non-relational persuasion

  • You are fluent in at least two programming languages (preferably at least one that is strongly typed).

  • You are genuinely passionate about technology. Maybe that comes in the form of keeping up to date with programming language and framework developers. Or maybe you have a passion project of your own, whether that comes in the form of an open source project, community involvement and mentorship, participating in meetups, or something else entirely.