I’m sure every software engineer along with their career has this dilemma: "Should I join a startup or a big corporation?" There are many factors for a decision here and everyone has different circumstances and different offers on the table. Each type of company gives us a different set of skills and a different understanding of the software world.
Let's discuss this! 👩💻👨💻
Please, share your experience and opinions about where you like to work more and why?
You can also find more insights, thoughts, and learnings about the topic in my upcoming newsletter (+bonus networking cheat sheet)
Top comments (43)
I love startups - they (should) have one common goal that everyone is working towards. A great startup has a varied mix of people from different backgrounds and experiences. You're expected to adapt to the unexpected and get involved in everything
Bigger corps (I'm at one now) are less fun, you may earn more but are generally less productive, pigeon holed into the area of tech you were hired for and the experience is much less fun for me. You also spend a lot of time doing things which aren't really productive: constant meetings, appraisals, meetings and jira. Also meetings.
Spinning this on its head a bit: I really like to work for tech companies. If it's not a tech company then you're just seen as "the person I go to when the printer is broken"
Relatable... Ever wondered myself why they blame me for deadlines when they consume my time for a useless meeting just to blackmail others.
90% discussed about their story
10% for nothing.
What do you mean by “discussed about their story?” What story? And who are they?
My experience is a little atypical since I’ve worked with over 20 companies in my career, but I put too much emphasis myself on pay, prestige, or technology at times in the past.
The first few companies I worked at had me staying there a longer time (2-4 years). But once I got into consulting it exposed me to a wider variety of company sizes and industry niches.
Since we only stay at jobs on average 2 years, I would suggest people join whatever company has people you like most (that you can glean from interviews or social media), and is making an impact on the world you believe in.
This may sound like a weird answer but it’s only because (again only my experience) the size of the company has less of a bearing on our ability to grow than I once thought. You can find startups where the things you think you’d like from one just aren’t possible because of the people, and vice versa for enterprises.
My take.
Startup Company:
Growth: 80-90% of the time you get to choose on what tech stack you can use, but not required to do unit testing.
Money: 80-90% it's hard to save up some money.
Outsourcing Company
Growth: 50-60% of the time you get to choose on what tech stack you can use. Uniti testing is not required sometimes.
Money: 50-60% it's okay.
Big Company:
Growth: Rarely you get to choose the technology you’d like to use. Unit testing is a must.
Money: 60-70% of the time it is better than a startup and outsourcing
Let’s add this in the choices
Freelancer or your own company:
Growth: 100% of the time, you get to choose what tools to use. You decide whether to do unit tests or not.
Money: Your worth depends on how you convince your clients.
Which is better? Depends on the startup or company you choose. There are startup companies that also pay way better than average outsourcing or other companies.
I’m in an outsourcing company right now. Although I don’t code a lot like I used to do when I was in startups, my company allows me to go to international events or conferences to speak.
ADVICE:
Find someone who pays you better and helps you grow faster. Leave the companies that don’t do that to you.
"And," learn new libraries or frameworks and apply them on personal side projects, so you don't get bored!
It’s an awesome take if the person has exactly these values at the top of the list: Growth and Money.
Sometimes people might have other items, depending on where they are in their life :)
Engineers should not work for outsourcing agencies. If you are still young and motivated, definitely you should work for startups. In fact, most of devs in Japan work for outsourcing agencies or agencies of agencies of agencies, which suck salary, after all IT industry in Japan is way behind US and China. Actually I am a digital nomad, who don't work for companies but for myself. Anyway engineers should not work for money but enjoy tech, writing codes...
What is different for you from working for these companies when you work for yourself?
Steve Jobs said 'Don't waste it living someone else's life. Don't be trapped by dogma, which is living with the results of other people's thinking. And most important, have the courage to follow your heart and intuition. In my own words, go for Vue.js, TypeScript, whatever you like even if your boss want to stick to jQuery ;-)
I work for a big corp, and that's fine. I don't do overtime, but if I had to it would be paid.
On the downside, there are a lot of meetings and bureaucracy in general.
But I don't feel at all pigeonholed into a tech stack. I had two bigger changes in tech stacks during the six years I spent at my current employer, but while I moved from C++ to Java and back to C++, I took up a lot of shell, Python, different messaging queues and various databases.
In a big corp, you have to keep your eyes open and ready to help your teams with better tooling, etc, and you can find plenty of opportunities to widen your stack.
That sounds quite good!
I used to wish I had worked at a startup in the beginning of my career. The reason for this was I thought I would have more energy for the hours and pace of startups. But now I'm kind of glad I started my career in more established companies/universities. The project management and process skills come in handy in an environment that doesn't have them or is just putting them into practice.
Startups can also be chaotic and it helps that I also have more self-care skills (regular therapy appointments, physical therapy exercises) so I can remain calm.
If only everybody learned these self-care and other essential skills at the beginning of their career!
I like to create software, I like to explore possibilities, I like to experiment. I want to commit to a product.
Therefor I want to work for a company where the (software) product is the business. I am absolutely no fan of drive-by development, which is quite often the case with consultancy/out-sourcing companies.
I think processes are a perfect way to fail.
I am a proponent of agile software development, and I quite dislike "Agile" processes (which practice Scrum to the letter.) Agile (with a capital A) is a curse word, and not a good one. This could mean I prefer start-ups above big companies. But this is not true. There are plenty big companies who have a better agile software development approach than start-ups. Often start-ups run in cowboy mode, shooting from the hip, considering quality as an afterthought. (We will deal with in the future, when its needed.) Big companies can kill innovation by trying to force quality via procedures (which does not work).
I work for a company that is an outsourcing agency specialising in helping startups build products. It's interestingly challenging. We must keep our stack efficient in order to reduce building cost while being a fully fledged company and having good resources to do our work. We are a 35 people company.
I worked for the government and multinational giants, but it was very boring. They have a lot of money to throw out the window so they don't care that they don't do test or the schedule is blown. They put money. Feels like everyone dreams are crushed and they are just there taking it very relax.
Big companies offer a stable but fixed (limited technology/project) job. On the other hand Startups offer a workplace to tinker with different technologies and projects but there is also a lot of stress and job insecurity unless they have a good amount of funding.
I wonder why bigger organizations offer such fixed jobs. Is there a way to get into a more interesting position for a software developer during the hiring process, that allows for a less fixed job in terms of tech/project?
A personal opinion is that if you're staring your career and are able to invest a few more hours apart from your 9-5, a focused startup is a great place to be. Reason being you get thrown in the deep end quite often and learn to grow. Room for error is comparatively larger than the big corporates. A few years of thrashing around and then moving to a bigger corporate will definitely help you.
P.S.:Learning transferable skills and getting yourself involved in the solutions aspect of building software will be easier in startups as you get direct access to higher management who may even involve you in the process.