Top 5 lessons learned working at startups

Recently I had lunch with a friend of mine who’s considering joining an early stage startup for the first time in their career. They asked me what were the top five lessons I’d learned working at startups for the last five years. I hadn’t given this much thought until then, but I was surprised by how easy I found it to prioritize the top five among over a couple dozen or so “lessons” I’ve learned. I believe some of these are also applicable outside the context of early stage startups.

1. Momentum Rules Everything

Easily the most important lesson I learned is that momentum can prove to be the remedy that cures nearly all ills.

Or as a friend put it “winning feels good”.

There are several yardsticks to measure momentum, some of which are:

  • Shipping regularly and learning quickly: as an engineer, there’s nothing more gratifying than being able to build and ship at a rapid clip.
  • Growing very quickly: in terms of number of users, paying customers, traffic, scale, employees, adoption etc.
  • Raising money or having regular quarter-on-quarter solid revenue growth: the most successful startups raise at a regular cadence on good terms.
  • Hiring good people, especially people in positions of leadership.
  • Having a roadmap in place and the execution to pull it off.
  • Working with people one really enjoys collaborating with: this might seem less obvious, but coworkers can have a disproportionately sized impact on one’s happiness quotient. Some of my happiest days — which also coincided with me being at my most productive — was when I was both challenged technically and when I was working closely with folks I really loved working with.

Not only can a lot of small blips be papered over by momentum, but especially when the going gets tough, momentum can be the factor that propels a team forward. Good leaders have an uncanny knack of being able to identify and prioritize the sort of work that, in addition to being important, has the potential to generate a lot of momentum during the course of its execution and revitalize a team or an individual.

2. Avoid gratuitous and incessant negativity

Negativity is a killjoy. As are incessantly negative people, especially those in positions of power. A single team member has the ability to kill morale by dint of being constantly pessimistic or couching pessimism or defeatism in sarcasm. In my experience, especially when the chips are down, it’s much easier for a negative attitude to blanket the entire team (and possibly even the company) pretty quickly and suck all the motivation out of the team.

The antidote to this, however, isn’t a scenario where there’s always kool aid on tap and everyone believes everything is awesome. To a certain extent, everything is almost always broken to varying degrees at early stage companies. Critique is important as is raising awareness of what needs to be fixed or reconsidered, as long as they are in the interest of moving things forward. Even better is when folks actually take the initiative and fix what’s broken instead of simply complaining about it, and the hallmark of a healthy early-stage startup is when employees are empowered and incentivized to do so of their own volition. Rapid feedback cycles are important in order to address pain points duly. Senior leadership being out-of-touch with the reality on the ground can be very dispiriting, and the only way folks can be assured that this isn’t the case is through timely communication and action.

3. Management isn’t so much a designated person with a job title than being able to take ownership and execute effectively

A lot (almost all?) of early stage startups are infamously management averse. The role of a people manager is assumed to be entirely unnecessary until the company reaches a certain size (usually anywhere between ~25–50 people). Often early-stage startups prioritize hiring people who can “get things done” often with very little oversight or mentorship.

The lack of an employee with a designated job title of “manager” doesn’t obviate the need for the management responsibility, which in its most basic sense boils down to ensuring a team can execute effectively. Early stage startups live or die by the speed at which they can execute and iterate when it comes to engineering, sales, support and marketing.

The decisions still need to be made (whether or not there’s a “tech lead”), the priorities still need to be set (whether or not there’s a “project manager”), the product still needs to be shipped (whether or not there’s a “product manager”), the user/customer still needs to be listened to and sold to (whether or not there’s an “account manager”), the technical conflicts and disputes still need to be resolved (whether or not there’s an “engineering manager”).

Often, lacking individuals hired specifically to work on one or more of these areas means that someone on the existing team (usually it’s one of the founders) is shouldering this responsibility. Thus an “explicit” (and much disliked) management function is turned into an implicit one, but someone is still doing it, often without being credited for this extra responsibility that employee has taken ownership of.

Which brings me to my final point about the “no management” philosophy, which is that dealing with human emotions and what a friend of mine calls the “squiggly human feelings” requires someone with a deep sense of empathy, compassion and patience, even if this person isn’t officially called a “manager”. Sometimes this role is played by the “non-technical founder”, at other times it’s played by one of the better-liked and better-respected employees. But the overarching fact is that in most “healthy” environments, there’s always someone playing this role, being the fabric that keeps the company together.

4. Hire/join a company for interest alignment

There’s a lot of talk around why “hiring for passion” is problematic. For one thing, it’s hard to gauge “passion” in an interview (and can oftentimes be faked). Not everyone wears their “passion” on their sleeve. And a lot of jobs simply require solid, dedicated workers, not necessarily those visibly burning with passion to solve a specific problem.

That said, I do believe that hiring for “interest alignment” is, in general, a good approach. “Interest alignment” can manifest itself in many ways, such as:

  • Interest in working in a specific technical problem domain such as making services more reliable, improving the UX of a beloved product etc.
  • Interest in working at a specific company, since the company seems “cool” or is known to do interesting open source work and so forth.
  • Interest in working with or for specific individuals. I, for instance, would love the opportunity to work again with some of my favorite ex-coworkers.
  • Interest in working with specific technologies such as Kubernetes or Golang or React.
  • Interest in working at a diverse and inclusive workplace. This might especially rank highly on the list of underrepresented folks in tech.
  • Interest in moving away from hands-on technical responsibilities such as transitioning from an IC to a people manager.
  • Interest in making a lot of money.
  • Interest in being a generalist and “doing a bit of everything”.
  • Interest in growing as an engineer in a one or more areas such as deep learning, networking, mobile development very quickly.
  • Interest in being given a first break for folks who’re trying to gain a toehold in the tech industry.
  • Interest in working on a team with manageable technical debt. This might be important for folks who’ve been burned out in the past being the “janitor” and spending almost all their time cleaning up the mess left behind due to the non-prioritization of pay down of technical debt.

The more experienced an engineer is, the more they can afford to optimize along one or more of the aforementioned axes. It becomes really, really important for startups to hire based on interest alignment. Not doing so (or doing so on false premises) can prove to be disappointing all around.

For instance, at a previous company I worked at, an engineer joined the company believing that they’d be working on Kubernetes, but realized soon enough that there was simply not much interest among the senior engineers in the rollout of Kubernetes. The engineer spent the most of their (relatively short) tenure there being rather grumpy and disillusioned. Now it was never clear to me whether the engineer was categorically promised that they’d be working on Kubernetes at the time of their hiring or if the engineer had read a little too much into what was merely floated as a possibility, but not making expectations very clear led to an interest misalignment, which ended in disappointment.

I have myself at the beginning of my career accepted jobs without a clear idea of what I wanted out of it or without knowing if my interests were aligned with what I might be working on. I can only say that I was met with chequeured success at these places. I’d argue that it’s not unusual for early career engineers to start working in the tech industry only to later, as it were, find their niche. But I also know of several engineers who’re yet to graduate school who have a very clear idea of what it is they want to spend their careers working on, who I’d imagine might have an easier time than others optimizing for “interest alignment”.

Hiring for interest alignment also means acknowledging that “interest” isn’t something that’s always set in stone and is often subject to change. Certain companies actively encourage this by requiring their engineers change teams every 18–24 months, but these tend to be either late stage startups or very large companies. At an early stage startup, accommodating such “change in interest” becomes feasible when the company grows very quickly, paving the way for employees to dabble in something outside their area of experience. Thus when screening for “interest alignment”, it helps to make sure that the “interest” you’re screening for is something that will keep the candidate occupied for at least a period of 12–18 months.

5. Always, always, ALWAYS choose to work with good people

By far the most valuable benefit of working at startups was the various friendships I formed with some amazing people. At the end of the day, a startup is an awfully stressful and uncertain journey, moreso than working at a larger company. Or as Charity Majors puts it:

Not only will you be working long hours, you’ll be doing it for not much pay and in exchange for an incommensurate amount of risk. It becomes far more important to work with folks you actively enjoy and look forward to working with, not just work with folks you can merely get along with.

At the end of the journey, in the worst case scenario, you’ll be left with not much money (compared to what you might’ve made working at a larger company) and your stock options aren’t going to be worth the paper they’re printed on, but you still might be able to leave with some very fond memories working with people you’d sign up to work with a million times over.