Happiness Starts Small: Software Engineering at a Startup
After 10 years in engineering, I’ve boiled down my experiences into one, simple equation:
Happiness = Impact + People + Learning
Five years ago, I sat in my own cubicle, worked an easy-peasy 40-hour week, collected a dependable paycheck, attended the annual holiday parties with no hard liquor (outside of what was inside my flask), and thought that I was happy as could be.
In reality, each day my fire burned just a little less brightly. My days were filled with the same, monotonous tasks. My area of responsibility grew narrower, and narrower, completely eliminating any need to improve my technical capabilities. Simply put, I was lulled into a sense of complacency.
I decided that a smaller company would get me out of this funk. I joined a 400-person “startup.” It wasn’t exactly what I was looking for. Next was a 60-person company. After some time there, I was recruited to join a 4-person company. Tremendous growth followed when suddenly, a 3-person company working out of an apartment in Midtown, New York caught my attention…
Next thing I know, I’m team member #4 at RocketVisor.
Here’s what I would have asked myself 10 years ago
1. Am I making an impact?
No matter the size of your company or your level of experience, constantly evaluate your impact.
Over my 10 years, I’ve discovered that early-stage startups offer the most opportunity to have an impact. Although your title may be “Engineer,” being part of a small team means you must wear multiple hats. You may have to contribute ideas to product direction, develop a strategy for the technology architecture, and build up processes to help the team and technology scale.
My first three months at RocketVisor proves this yet again: the best way for me to be happy is to have an impact at an early-stage company with big ambition. On our office refrigerator, there’s a mission that reads:
“RocketVisor is changing the way the world works.”
It is exciting to be part of such a big mission, and I’ve found myself making impactful decisions right off the bat. For example, in my second month, I rebuilt RocketVisor’s main rendering isolation module. I was able to use cutting-edge Shadow Dom technology instead of iframes. This reduced heap size on each page by 75%! This will have a noticeable impact on our customers, and I was able to learn about a new web technology.
At RocketVisor, it’s great to know that the team trusts me to take on such big projects. It’s also exciting that I get to learn about new technologies and improve myself, rather than get siloed into working on a narrow project.
Examples like these show the trusting culture RocketVisor is building. Because of this trust, I’m making an enormous impact on the future of the company while building my personal expertise.
Continue to evaluate the impact you’re making in your role.
2. Am I working with the best people?
“You are the average of the five people you spend the most time with.”
Spend time with the founder and the early team to be sure they are smart people with strong character. Can you see yourself spending time with them? Will they push you to grow? Most importantly, can they execute? Afterall, a good idea is meaningless without the people behind it. Also, don’t judge a book by its cover.
I’ll admit that I was suspicious of the founder, Mike Yaroshefsky’s (Yaro), background at first. From his resume, it appeared that he was a savvy MBA without a technical background. Why would he have started a company that is solving such technically-demanding problems? Would engineering be valued? This struck me at first as a red flag. I wanted to work alongside someone who not only could execute on business strategy, but also could help improve my technical knowledge.
When I visited the RocketVisor apart-fice (apartment + office…haha), this all changed. It turns out he is just as skilled at engineering as he is in business. I was really impressed by the work that Yaro and Pat had done so far. We ended up spending hours nerding out over software architecture, browser technology, and the future of computing. I’ve also found him to be a great person (and I’m not just saying that because he’s my boss).
RocketVisor’s handbook explains that a team member’s first priority is health, both mental and physical. This shows with RocketVisor’s extremely generous health benefits and team emphasis on staying active.
Beyond the founder, evaluate the rest of the team. My first conversations with Pat and Chris made it clear they were people I could spend a lot of time with. Since then, we’ve already become great friends. Pat’s expertise in backend architecture and Chris’s background in sales and marketing have already broadened my personal knowledge.
Constantly evaluate the people who you are working alongside. Make sure the founder, or founders, and the team are smart, high-quality people who you can grow with.
3. Am I constantly learning?
Over my 10+ year software engineering career, I’ve realized that learning is critical to my happiness. Always evaluate your learning opportunities.
There is no better place to learn than at a startup. Without having a large team behind you to step in when there is something you don’t know, it’s your job to learn it. From my experience at various startups, my technical knowledge has increased exponentially. For example, I taught myself to use a job queue as a sustainable way to keep data up to date, created a complex web application using GraphQL and React/Redux, and built a NodeJS API that scaled up to millions of users. I never had the opportunity to learn things like this at a large company.
At RocketVisor, there are a whole new set of technical challenges. In a world where open source frameworks have solved how best to create traditional web single page applications, browser extensions are a surprisingly new frontier. The concept of using them to create a scalable application framework is really exciting. I’m tackling these challenges head-on and learning something new each day.
Our product’s main UI is what we call the Visor, a simple overlay inside the browser tab. Because it runs on every tab, it becomes very inefficient to request server-side data since the same data would be served from every tab a user has open. Our solution is to build an application layer in the background of the browser to synchronize data between the server and the Visor on various tabs.
This experience at RocketVisor has reinforced that there is no better place to learn than a startup. RocketVisor’s technology and smart team challenge me to learn each and every day. I’m learning more about cutting-edge technology than I ever could have imagined, and I’m growing in my career.
The past 10 years have helped me understand the importance of impact, people, and learning at your job. No matter what role you’re in, I’d encourage you to constantly evaluate these three aspects. If you feel satisfied with all three like I now do at RocketVisor, happiness and a strong sense of fulfillment will follow.
If you’re missing one of these areas in your job today and you’re looking to change the world, we’re hiring. =)