I’ve spent most of my career working for tech startups, but I don’t consider myself an entrepreneur. It was kind of by chance that I’ve ended up working more for small and new tech companies rather than big, established ones — and consequently, I’ve learned that choosing this career path offers some real advantages.

If you are an engineer, should you do the same? Let me give you an overview of some of the pros and cons. The short version is the following: It’s more work, more stress, and more varied tasks for less pay — but rising to great challenges means gaining great experience.

The Hype

The classic motivation for joining a startup is the dream that you’re getting in on the ground floor of a company that will grow up to be Facebook or Google, and those shares that you got instead of pay at the beginning will make you fabulously wealthy. The reality is that most startups fail or at least never grow to a size that will make your shares valuable.

The startup world is a bit like a gold rush — some strike it fabulously wealthy, but most don’t. And in a gold rush, the surefire way to make money is selling shovels. In this case, the “shovels” are your technical expertise. Thus, if (as part of your compensation package) you’re offered some form of part-ownership in the company and/or its future earnings, by all means, get all the legal documentation in writing. But treat it a bit like a lottery ticket. Don’t bank on it or treat it as if it’s equivalent to being paid in real money.

Realistic Advantages

If you’re working in IT, one of your most important skills is learning to learn. Technology is constantly changing, so if you don’t want to get left behind, you have to be ready to learn and apply new technologies all the time. In a startup, since there are generally fewer engineers, each engineer has to be responsible for a broader chunk of the project than in a company that’s big enough to divide up the IT department into an array of specialized roles — which means getting professional experience in a wider range of tasks and technologies.

In one of the larger companies I worked for, I spent more than a year building and then maintaining/updating/babysitting what was essentially one module. I requested to be transferred to another project, but the company already had others with formal training and professional experience in the particular game-creation technology that I wanted to try out — so they made a note of my request, and it never went anywhere.

In a tiny startup that can’t happen. For example, I learned a thing or two about database design (and found I quite enjoyed it) because I was working for a small company that needed a major database overhaul, and there was simply no one else qualified and available to do it.

So it doesn’t matter that a lot of my professional experience has been on technologies that are now obsolete. I spent a lot of time optimising Java code for “dumb phones” (pre-smart-phones) — I’ve even written books on the subject — and sadly that specific knowledge isn’t terribly useful today. But that’s OK because I’ve had the opportunity to get professional experience in tons of other technologies without having to take time off for formal training. I actually didn’t even have formal training in embedded Java — my formal training was in C, C++, and UNIX, but since then I’ve done client and server programming in a number of languages, I’ve done DevOps — setting up continuous integration and deployment systems, server configuration and maintenance, etc., etc. Learning to learn is the most important part of the experience.

If and when you get tired of the disadvantages of working for a startup, you can take the experience that you gained (both the specific technologies and learning to learn), and use it to get a better position than you would otherwise have been qualified for in a larger, more stable company.

For Women in Particular

One nice thing about startups is that they can’t afford to discriminate. I hate to put it in a cynical way, like “You’re going to get paid less anyway, so you might as well at least get a job where excellent experience comes along with the lower pay…” But there’s a more positive view as well.

I assume you’ve heard the old stereotype about men that they absolutely won’t ask for directions no matter how obviously lost they are. The flip side of that is that women can sometimes be too quick to pass along a hard task to someone else. When your bosses and male colleagues don’t believe that you can do hard things and are constantly giving you a message of “that task is really important — maybe somebody else should do it,” you can start to believe it, and consequently avoid high-profile challenges.

Working at a tiny company breaks the negative feedback loop. When there’s a challenging task, and there’s nobody else to do it, you do it. And then you see that you can do it. And then for the next challenge, you can confidently say, “Don’t worry — I’ve got this” — because you know that you can handle it.

In a Startup you’re Closer to the Top

When you’re a step or two away from the entrepreneur who started your company, you can’t help but learn a thing or two about business strategy. And working for a small company increases your chances of becoming CTO. It’s funny because (viewed from the bottom) it’s a job that’s at the same level as a team lead, but it really is more than being a team lead because the role includes business strategy and IT architecture in addition to managing projects and a team.

If you’re interested in having the opportunity to try out leadership roles in addition to getting to try out every other role in the IT department, startups are the way to go. For me, that’s basically the main characteristic of working for a startup: More challenges means more opportunity to rise to those challenges and grow yourself.

This article is based on a talk I gave on Monday, January 21, 2019 at 18:20 at Impact Hub Viadukt (Zürich).  Originally published in The Startup.