Since we want to pursue a career in software engineering, which seems to be one of the most desired ones nowadays, it's essential to understand the overall IT and software industry.
Primarily based on the work involved, there are product-based and service-based companies:
Product-based companies are those that create some products like Microsoft, Amazon, Google, etc. They are driven by an idea to help different customers. Here the main focus would be what I do to make my product better.
Service-based companies are those that work on these products to provide service to the client. They are driven by customer needs. They offer services and solutions as per customer requirements.
Also based on the size of the company, they are further classified as start-ups or big companies:
Big companies already started to make revenue through its idea with a substantial investment and big offices and have a significant headcount. Having worked for long, these have settled for a specific type of projects and technologies to work on. Usually, all the employees are expected to follow the set process with less room for innovation.
Start-ups are small companies that started with the idea that it is to be developed into reality by a small team in a small office. Here everyone gets to manage and be solely responsible for the work assigned. But one gets the chance to innovate to make the job more straightforward than before. Most of them use the latest technologies as they intend to make a mark in the future.
It depends on what you value and what you expect to gain. Here are some, off the top of my head:
Working in a start-up, you will have a great sense of ownership. Partly because of the stock option grants you get, but mostly because there are fewer people, so there are not many people to take on more responsibility.
In a big tech company, usually, you will have backup people for anything important, and mostly you will not really feel you are doing something important.
It becomes hard to wrap your head around the importance of your work. There are so many layers and indirection between your work and its impact. Moreover, there will be a lot more competition.
Start-ups will have a faster learning pace in terms of setting up stuff and getting things done quick and dirty. There is always too much work to be done and too little time, because for start-ups:
"The only way to win is to learn faster than anyone else." — Eric Ries, Lean Startup
Big firms need to have processes and protocols in place to keep the ship sailing smoothly.
You might have to wait days or a week or more, sometimes, just to get a line of code in or to get a configuration change on a production box.
You might have to do extra work to make sure your system will not break existing products (more unit tests, integration tests, metrics for alerting). There might be multiple people doing mostly the same thing.
Working in a start-up, you might earn less (most start-ups will fail to make you wealthy) but have a small shot at making a lot of money.
At a big company, you will generally make more money, but you aren't retiring any time soon.
In a start-up, your goal is usually clear, and you are free to do whatever it takes to meet it. There are no shackles of bureaucracy. You are focused on getting your company up and running and survive another quarter.
In a big company, you have the freedom to go home at 6 pm. You have freedom in a sense you will have company outings, more holidays, less headache in terms of operational support.
Your company choice should be based on what you are looking for at this point in your life, and what the goal you want to reach by working there in the end.
Both have positives and negatives.
🚀 If you join a start-up, you might get more knowledge and practical experience than at a big company. However, the workload might be excess, most of the things you have to learn everything on your own, and the salary will be much lower compared to big companies.
🏢 At a big company, you might be playing a limited tole technically while in a start-up, you can play more than one role. But personal safety and benefits are more and better at big companies. You also can be lucky and happy if you get an opportunity to work in the domain which you like.
Nothing is wrong with either choice. Listen to yourself, your intuition and instincts. Choose the right company for yourself, which lets you on the path your dreams and career.
Photo by Peter Nguyen on Unsplash