0

Don’t Write Code for a Startup

 3 years ago
source link: https://betterprogramming.pub/dont-write-code-for-a-startup-1eead038c372
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Don’t Write Code for a Startup

Confessions of a serial startup software developer

People gathered around a laptop
Photo by cottonbro from Pexels.

You’re talented, hard-working, and want to make it big.

Don’t do it at a startup.

I’ve worked for many startups and experienced everything from three people in a coworking space to scaling with $100M in funding.

The return-on-time-invested for competent engineers doesn’t make sense. There are faster ways to learn, make money, and live well.

Five years ago, I would have jumped at the opportunity to work for another startup, but no longer.

You’re Giving Up Mentorship

You won’t get the mentorship you need from senior engineers.

Over a long enough time frame, mentorship is win-win. But not when turnover is high, there’s too much work, and the company is burning cash by the day.

Poor mentorship has been my experience on both sides of the relationship — as a junior having to figure things out alone and as a senior not having the time to mentor.

In contrast, working for an established company or later-stage startup with growing MRR will give you more opportunities to learn from senior talent.

Mentorship is the most underrated input to a successful career. Even Warren Buffett apprenticed under Benjamin Graham. Don’t sell yourself short here.

High Breadth but Little Depth

There’s too much to do and nobody knows what works yet.

A startup is as valuable as the problem it solves. So until product-market-fit exists, resources are deployed “ready, fire, aim” style, jumping from one project to the next.

Learning something new every week is fun. For a while. But it won’t make you an expert or give you skills to sell yourself on.

It can be helpful if you don’t know what to specialize in yet. It allowed me to transition from software engineer to data scientist. But it also made me realize how little I knew about both when starting future jobs.

The ability to write CRUD apps in four different languages is cool but will not earn you big bucks.

It wasn’t until I started working at an established company that I had the opportunity to optimize code, understand how it truly worked, and build for scale. I couldn’t recommend this experience more.

You’ll Work Hard Instead of Smart

We joked at my previous startup that leaving the office at 9 p.m. was “half-days.” But that doesn’t mean we were effective for 12+ hours a day.

I’m going to make a huge assumption here.

Technical talent believes there is an optimal number of hours to work, while business talent believes more hours is better.

Elon Musk is famous for saying, “Nobody ever changed the world on 40 hours a week,” but I prefer to side with Cal Newport, author of Deep Work.

“For a novice, somewhere around an hour a day of intense concentration seems to be a limit, while for experts this number can expand to as many as four hours — but rarely more.” — Cal Newport

It’s not the number of hours in the day but the number of focused hours that move the ball.

Older founders are more likely to understand this.

Given the option, work for the 40-year-old instead of the 25-year-old. The former has responsibilities outside work (family, friends, health, etc.). For this reason, they’ll be an order of magnitude more effective than the 20-year-old without responsibilities.

Hire Fast, Fire Faster

I don’t know who coined this phrase, but it always felt irresponsible.

If you’ve previously convinced someone to leave their existing job and join your “rocketship,” you owe them the benefit of the doubt and enough time to pick up speed.

Maybe I’m too much of an engineer and not enough of a manager, but this culture always made me sad.

Established companies understand that domain knowledge is king and that it takes several months to become truly productive.

Note: I’ve always hated firing people, so take this with a grain of salt.

Your Equity Is Worth Nothing

You’re giving up your salary now in hopes of cashing out equity later.

I’ve never made a dollar from equity. Most early startup engineers have the same experience. That’s the reality when nine out of every ten startups fail.

From an expected value standpoint, you’re further ahead working at a publicly traded company. Friends at Amazon have consistently made bank on equity, even though it hasn’t been a startup in years.

Your shares are worth nothing until the company goes public or is bought. And that can take longer than you’ll be led to believe.

So given a sliding compensation scale of equity vs. salary (common in startups), take as much salary as you can.

There Are a Few Exceptions

Sometimes it makes sense to join a startup.

  1. The startup is funded by a wealthy, connected, and long-term investor. If they’re willing to support the company and help sell its products, it’s a different ballgame. The culture will be less stressful and work will be more focused.
  2. You need your first coding job and didn’t graduate with a CS degree. A startup is more likely to hire someone without experience because they simply need cheap labor. This can be a stepping stone to something bigger.
  3. It’s your startup and you’ve pre-sold the idea before building it.

In these cases, ignore what I’ve said.

In the End…

Startups are far from a surefire path to riches — no matter how confident the founder is in their idea.

Can startup experience be valuable in developing a well-rounded skill set? Absolutely. But know the opportunity cost. This goes doubly for competent engineers for whom opportunities abound.

My advice. If you must join a startup, be skeptical of the idea and team, enforce boundaries regarding work-life balance, and take as much salary as you can.

How has your startup experience been?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK