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.
I currently work in a startup (relatively new in the industry, been a dev for about 2 years now) and really enjoy the fast pace, ability to work with the newest technologies and I like the learning curve I have had with one product compared to consultancy project style. It is the fail-fast environment and I love to experiment things so very happy with where I am. :)
In consultancy I'd feel that I am not working for a specific purpose that motivates me as you can't really pick your clients and I would feel distance from my team if I had to sit at the client company for example. I enjoy us all working for the same goal in product.
I want to work at a company where there is a lean mind. I want to be able to take responsibility with the team I am working in. The business should give us the solutions we need to implement, we as a team should thinking about a problem the business is having and together we have to come to a solution.
Even though I work at a big company, I feel like I am working in a startup, so I am really glad I am working where I am working. And that is the most important thing.
I agree. The concepts of Lean (and Lean Startup) are very important for any business developing a software product (and not only). Even the smallest startups are grinding to a halt if they are not Lean very quickly, and it’s very tough to work at these mentally.
There are other options, too. But looking at the two presented, I can see why some are scared of breaking into the industry. Smaller and established companies are a viable option too. Not everything is a Microsoft or Amazon, or a startup. Plus there are ways into companies besides placement agencies. I much prefer smaller established companies, because I know the stability of their business AND it's still small enough where people are treated as actual people, rather than just an expense on a report.
That sounds quite awesome! How does one find such small and established companies?
For me to answer this, I have to ignore the fact that of the poorly managed and operated companies I've worked for, more of them have been startups. Beyond that...
I love the feeling 9f working with startups. With larger companies, even if they operate in an "agile" way and youbworknin small teams, startups are more enjoyable for me. You have more of the feeling that what I build can make a difference. Good or bad (yes I dropped a production database once).
You also tend to have a better opportunity to improve and move up when more people are hired. I've also seen a lot of comraderie build in a startup.
Those thi gs can all happen in a larger company, but in my experience it doesn't work as well.
I now prefer the steady paycheck a big company can provide me. I'm pretty lucky in that the big company I'm working for is fairly progressive regarding new development practices. The major downside is that my calendar is often full of meetings taking me in a million different directions sometimes.
I've worked for many contracting companies and they are by far the most fun to work at (happy hour!) but losing a contract just out of the blue because something happened in another city you have no control just sucks and it's happened at every contracting company I've ever worked at eventually. Having to quickly find a new job can really suck!