I recently took the plunge and decided to join a startup (a voice controlled home automation client called Josh.ai). Before I joined, however, I worked for a large company. You may have heard of it. With 118,000 employees, that company was Microsoft. I’m often asked how working at a small (< 10 person) startup compares to working at such a large company. Well, every company is different, and every employee tends to have slightly (or massively) different experiences from one another, so I can really only speak to my experiences. Thus, YMMV.
Overall, I always had a pleasant experience working at Microsoft. With that said…
1. The Bureaucracy is Real
Working for a large corporation means there are a lot of employees you work with on a regular basis. Those employees could be on your team, another team, or another division entirely. Every team has its own tasks and its own goals, and sometimes those goals are in indirect opposition to the goals your team is trying to achieve. Rationalizing those differences can be a very time consuming process. If there is a feature that team “A” needs to implement, but it requires accessing data from team “B” that team “B” doesn’t currently expose, how does team “A” convince them to do so?
Maybe there’s a security reason that data isn’t being exposed, so the team needs to put in more work to secure it. Maybe the team just doesn’t have the resources to expose it right now and would need to reprioritize. This simple example can quickly get out of hand when we involve teams “C” and “D” with their own priorities and more complicated features. Features that seem simple on the surface turn into a couple of weeks worth of design meetings to ensure everyone is happy before anyone has even written a line of code.
2. What Is Design?
At a startup, we don’t seem to experience the bureaucracy mentioned above. The teams are simply too small. In fact, there are so few people and so many things to work on, there’s more a culture of getting it to work, now, with not as much time spent on design. It’s not that design isn’t important to us, and in general we try to ensure that whatever is being built is going to be scalable and functional and easy to extend or add to down the road. But the reality is that we need this feature done yesterday so that we can implement something else today, and that leads to fewer iterations on the design for any particular feature. With only a handful of engineers and a lot of work sitting on the backlog, we need to constantly churn out new features in order to build a product that’s worth shipping. Sometimes that means sacrificing design in lieu of functionality, but it has its perks…
3. We Build Cool Shit on a Daily Basis
Because every day we’re trying to add more functionality, we get to see the product change on a daily basis. Since here at Josh our work entails making devices do things, we get to see tangible evidence of our success on a routine basis. It can be really hard at a place like Microsoft to actively be make something cool or something you’re passionate about. For every person working on the cutting edge and exciting projects like the Hololens, there are a hundred people doing some relatively boring or mundane work such as adding pop up dialogs in an obscure product, or validating that recent code changes haven’t caused the program to slow down by more than 10%, and if it has diagnose exactly what caused the unacceptable performance hit.
These are absolutely necessary jobs, but they get talked about far less because they aren’t nearly as sexy; yet that’s exactly what the average employee is working on. At a startup we do those too but given the necessity to address a wide breadth of functionality, we get to work on cool things pretty often alongside the behind the scenes functionality that is crucial to the product.
4. You Are Not a Cog
Given how small a startup is, we’re constantly building critical functionality into the product. Things that our users will be interacting with on a daily basis. Every day I get to leave work knowing that I’ve made the product a little better, a little more functional, more fun to use, more secure, etc. It’s a gratifying change from the corporate environment. When I first started at Microsoft, I was told that a great way to define individual success was to ask myself at the end of each work day whether or not I added value to the product. Maybe that value was providing insight during a meeting, maybe it was producing actual code. That was great advice, but it’s something that I don’t need to ask myself at a startup. If I didn’t provide value in a given day here at Josh I must’ve been on Reddit all day or something, because that would take some serious slacking to accomplish (don’t worry Alex, that hasn’t happened). So while it’s great that you’re always working on important work…
5. You Are Busy
… you’re ALWAYS working on important work. It’s touched on above, but working at a startup can make it difficult to maintain a work life balance due to the amount of work that needs to get done. For some, like our co-founder and CTO Tim Gill, the two blend together and he’ll often be found checking in code at odd hours of the night. For me, my fiancée just recently moved in and I like to spend as much time with her as I can. Therefore, it can sometimes be difficult to answer emails or write code after I’ve gotten home because it eats into time that we’re otherwise spending together. It’s simply more difficult to divorce work from life when your work is so dependent on you and a small group of others. There’s usually always something running through your mind that’s related to work, even when you’re trying to spend time with friends, family, or your better half.
This differs from Microsoft and other large corporations where maintaining a work life balance is generally up to you. How long do you want to stay in? Stay that long. Sometimes work needs will dictate how late you stay, but for the most part I was able to come and go as I pleased so long as I got my work done in a timely manner and I didn’t miss meetings I was expected to be at. At Josh, with as much as you have to work on and with so few people comprising the staff…
6. Your Coworkers Are Your Second Family
You know everyone you work with. You get lunch together. You chat with the CEO on a regular basis. There’s room for privacy and having a personal life outside of work, but in general there isn’t too much that doesn’t get talked about, be it at lunches or dinners, on a work retreat, or even just throughout the day in between coding binges. It’s a small unit working together to make something cool, and with startups usually working out of group offices and you needing to communicate with every person at the company in order to get information you need, you naturally end up learning a lot about those around you. This isn’t to say you can’t have this environment at a larger corporation, but in my experience it’s just more difficult to achieve, especially on the level that I’ve found here at Josh. Once you’ve come to terms with the amount of work you’re doing and the people you’re doing it with, you come to what I’ve found to be the final and most important difference between working at a startup and working at a company like Microsoft…
7. You’re Taking a Huge Risk
It’s a terrifying prospect to go from a well established company (and a reliable paycheck!) to a company that might simply fail. Indeed, if statistics on startups are anything to go by, you’re highly likely to fail. It’s a lot of responsibility to be 1/10th of a company’s workforce. If you succeed, you’re an integral part of the success! But of course, you’re equally responsible for the failure if your product doesn’t pan out. One of the big reasons I was comfortable making such a large change and taking that big of a risk on Josh was the established success of our co-founders, Tim Gill and Alex Capecelatro in their respective entrepreneurial ventures. The more we’ve been building out Josh, the more I feel that the risk will pay off. The market is ripe for a home automation service that brings your smart devices under one unified app and allows you to control your home with intuitive UI or even just natural voice, all wrapped in a pleasant user experience.
There are good things and bad things that come with working at a startup or working at a large established company. It’s up to you to determine what you value and what’s best for you. For me and where I’m at in my career, working at a startup, specifically Josh, has absolutely been the right move. It’s a challenge. It’s a risk. It’s time consuming. And frankly, it’s exhilarating.
This post was written by Michael at Josh.ai. Previously, Michael was a software engineer at Microsoft before joining the Josh team where he works on interconnected device control. Michael plays hockey, loves Chipotle, rocks out to T-Swift, and has a love-hate relationship with Destiny Potato (the best band you’ve never heard of).