At some point or another, most programmers will confront the dilemma of working for either a small startup that is new on the scene, or else for an established, much larger tech firm. If you’re a junior developer looking to kick off your career, you may (very legitimately) feel a little uncertain as to which of these two options will work best for you.
There are several articles and websites which directly compare startups and big tech, but the key to resolving this sort of uncertainty lies in a separate question – what is it that motivates you? Or, more precisely: what sort of objective(s) are you trying to achieve through your work?
Rather than exploring the pros and cons of each career path, then, I’m going to try a different approach. Let’s start from the aims you might want to achieve, and then let’s consider which path is most likely to get you there.
“I want a relaxed, stress-free job that leaves me time for other things on the side”
Definitely work for a tech firm, the bigger the better. While “stress-free” may be a bit of a tall order – you’ll still have responsibilities to meet and a manager to answer to – these large companies organize work in predictable, orderly schedules. Furthermore, they are not as logistically and financially fragile as smaller players.
These qualities mean you won’t have to work overtime or wake up in the dead of night to fix an issue, the way you would often have to do at a startup. Instead, every time you leave the office, work stays where it is – it does not follow you home. The process of learning how to do your job will also be a lot easier, as there will be trainers and teaching protocols in place to make sure you know what you’re doing (and nobody appreciates quite how precious that is until they work somewhere without them…).
So yes, if work in and of itself is only relatively important to you, and you want to make sure you have abundant time and energy to dedicate to your family, to travel, to playing a musical instrument, or to any other private passion, then big tech will give you what you’re looking for.
“I want to have a great career and make a name for myself in my field”
For the careerist, the best option is almost certainly to work at a startup (although, on the long run, not necessarily to stay there). By being part of a smaller team as it works on an untested product, usually with stringent constraints in terms of time and money, you will find yourself operating on all fronts, regardless of what specialization you may have originally been hired for. You will learn by doing, and you’ll get used to solving problems without the help of others.
All of this extra responsibility will see your competence grow a lot more rapidly than in a big tech firm – and it’s all transferrable. As the startup will be growing alongside you, new positions of responsibility are likely to open up quickly, and – particularly if you started there early – you’ll find yourself in a strong place to start managing a team of your own. Do that for even just a year or two, and this will already allow you to apply somewhere else for a managerial role on par with the one you currently hold. Alternatively, you could use all of the experience you pick up to form a startup of your own and sell your own products.
So, if you want to be among the leading figures in the industry, even within a big tech firm, your first step should be to sign with a startup.
“I want financial stability, and above all, I don’t want to have to worry about money”
Programming is generally a well-paid profession, but there can be no question that established firms, those with a strong consumer base already in place, will be able to pay a lot better. While a startup may fail from one day to the next, at a larger company you’ll have a fixed salary which you can cash in at the end of the month irrespective of how your company’s products are performing. In addition to higher overall pay, you’re also likely to have performance bonuses and better cover for, say, sick leave or maternity.
While big tech is clearly the best option for anyone paying off debts or providing for a family, do bear in mind that those who start here often find it harder to switch. Startups may lead to greater profit on the long run, but those who begin by tasting the sweeter paychecks of big tech may never be tempted to go back to the gruel of financial instability and long hours.
“I want to become a millionaire!”
There is no magical formula that can guarantee great wealth, pace all the self-help books promising just that. All the same, if your aim is to turn your work into big money, then your best bet is probably to work for a startup. The pay will be a lot lower at first, but their potential for rapid growth is huge. Not only will startups boost your career (see above), their very financial precariousness means you may be offered compensation in the form of stock options, meaning you will be able to own part of the company. If said company then really takes off, you could indeed become rich on the day it is sold to larger investors!
This isn’t going to happen on your first try, and probably not even on your tenth – after all, the majority of startups fail. But it is the field with the most potential, and since this sort of work experience will also benefit your career on the long run, beginning with a job at a startup is still the best option for financially ambitious developers.
“I want to work on the most advanced, cutting-edge technology”
This one is a bit tricky. If you enjoy innovation and experimentation, then startups should keep you happy. They normally work on products and services which do not yet exist, and you will be given plenty of room to tinker.
At the same time, while startups are creative, that does not mean they are necessarily complex or advanced. If you want to work on the most sophisticated medical robotics, triple-A videogames, or on the systems used by the ESA to operate satellites in space, you will only be able to do that from within large, consolidated groups – ergo, big tech.
So for this one, there is a further question you need to ask yourself (sorry!): why do I enjoy working with advanced technology? If the answer is that you’re a naturally creative person, go for the startups. If you love science at its most complicated levels, go for big tech that specializes in that.
“I want to have fun and enjoy what I do”
Again, there is no environment that truly guarantees this – you never know where you will find that special bunch of weirdos with the sort of chemistry that perfectly matches yours. By and large, however, you will have better odds of finding a team like that at a startup: the work itself will be more creative and unpredictable, and the smaller size of the team will make it easier to form lasting friendships. Management tends to be more accessible, and since everyone is learning and improvising as they go (exactly like yourself), you’ll have the freedom to make a few mistakes without losing your job. Startups can be stressful in terms of work, but the upside is that as long as you enjoy coding, they can also be fantastic adventures.