Drinking from the firehose
What it’s like to join the software team at a fast-growing startup
It’s hard to believe eero launched its first product a mere 5 months ago, yet the company’s already on an explosive growth trajectory. It’s amazing to feel frenetic energy around the office — the sense that there’s more to do than there are people to do it and that the height of our ambition is only limited by hours in the day. This excitement, something that’s immediately palpable when you walk in the door, is one of the main reasons I decided to join the eero team a few months ago.
Before diving into my experience ramping-up as a Software Engineer on the Cloud team, I should probably tell you a little more about me. After finishing up my degree at MIT (known primarily as the school where Will Hunting was a janitor), I spent a few years doing full stack web development at a handful of small startups. Ready for a new challenge, I connected with the eero team and was impressed with the technical talent and the team’s approach to problems. Needless to say, I knew pretty quickly that I’d found a fit.
Since day one at eero, there’s never been a dull moment. My first priority was getting to work understanding the system architecture and programming language. My team, the Cloud team, builds the services that power and connect all other eero software. The Cloud controls user management, handles all communication with eero devices, and provides the APIs that power the mobile apps, customer support, and new eero features. Thanks to Cloud-controlled software, eeros continually improve from the moment they’re plugged in, and are always up-to-date with the latest security and features. This is a huge departure from traditional routers, which are last-updated when they leave the factory, and then sit in a cupboard collecting dust until replaced.
eero is very different from traditional routers, from its hardware to its software. On the software side, there are three areas of huge differentiation. First, embedded software on eero devices makes sure you wake up every morning with stable WiFi. It starts running as soon as you plug in an eero, and establishes the mesh that blankets your home and controls all aspects of networking. Second, the mobile app allows users to interact with their eero devices. It enables setup and configuration and unlocks advanced features provided by eero networks. Finally, we use data from the systems, collected in the Cloud, to learn how we can improve eero performance and overall customer experience.
As a computer scientist, I was fascinated to start learning the development environment. Our Cloud team builds using functional Scala, the Play Framework, and Akka — languages we’ve selected to help us scale the company. Having had no prior experience with Scala (not counting dabbling in Java many years ago), I spent some quality time with what we affectionately refer to as “The Red Book,” as well as many hours perusing eero’s code base. My first task as a full-fledged software engineer was to dive into our then-impending feature launch: Family Profiles. Entering the team in the middle of feature development allowed me to learn by doing — like trial by fire. This was both daunting and energizing: the pace was fast, the quality standard was high, and the work was demanding.
So, if you’re reading this and you are where I was a few months back — searching for that white whale SWE position that’s challenging, fun, and at an exciting company — I thought it might be useful to outline the four criteria that I used to evaluate this role (and tell you why I think eero knocks it out of the park):
- An important problem. Connectivity is important, and WiFi powers so much of what we do in our daily lives. After water and electricity, it’s the home utility that makes it possible to communicate with friends and family, shop online, or binge watch reruns of The Office on Netflix. But the only time most people think about their WiFi is when things mysteriously stop working and you have to unplug and replug your router. At eero we get to solve this problem. We make setting up your system so easy a kindergartener could do it and so reliable that you may get lost in the awesomeness of your internet.
- An excellent product. Having experience at smaller startups that struggled to find product-market fit, I’ve seen the importance of making a product people actually want and need. It’s always a good sign that a company’s employees use their product. Each eero employee gets a shiny new eero system on their first day (log slice optional), and everyone uses eero for their home networks. When I replaced my previous setup — three access points with a gateway on OpenWRT — with eero, I immediately noticed improved coverage and speed. I’m clearly biased, but you don’t have to take my word for it.
- A technical challenge. Wireless networking is difficult. Really, really, really ridiculously difficult. Luckily we have people on the team who promote learning and development. One of our resident networking experts recently gave a lunchtime talk on the history of WiFi, spanning roughly from the invention of radio to present day, which reminded me of the true capacity of the technology we’re building. Another interesting challenge is scaling. Small companies don’t often have enough customers to run into true scale issues. And large, established companies already have processes in place to deal with these problems. In the coming months at eero, I’m excited to be a part of building (and rebuilding) for scale as more and more eeros come online and as the company continues to expand.
- Great team collaboration. There’s no better way to improve work life than to surround yourself with people you truly enjoy spending time with, who communicate well, and who are invested in each other’s personal development. At eero, tenured engineers and more junior level people alike are extremely generous with their time. Whether it’s the daily standup, weekly company all hands, or simply a quick hallway chat, it’s apparent people are excited about helping each other and the company.
Every morning when I wake up I look forward to going to work (well, maybe not on Mondays, but that’s no fault of eero’s). I’m incredibly optimistic about this company and the opportunities for growth, so while you might argue this is still my ‘honeymoon,’ I truly believe that it’s a great time to join eero. We’re always looking for smart, ambitious people to help us build the future of the connected home. As one final, shameless plug, check out our job openings here.