I worked in both small and big companies.
That "micromanaging CEO" can also happen in big companies as your skip-manager doing that. So, being in a big company isn't a safe bet against it.
I would say there are more pros than cons in working for a small company. Especially if you're at the beginning of your career.
What you should make absolutely clear is that what you'll be working on i.e. products & technologies.
Pros:
- You may learn a lot of things. Not only on the tech side but also about how to deal with people, how a project is managed, how business is translated into tech.
- It's easier to be seen and heard. You see a problem with a business initiative, you can convince the managers and change it to avoid a certain disaster. Your achievements will be recognized more.
- Less bureaucracy. Big companies move very slowly. Also with your career development. You will have to jump through many many loops to just get a pay raise as much as the inflation. In small companies salary adjustments and promotions are much faster.
- You may rise up quite fast. With the allure of big companies stealing talent from small companies there may be many opportunities to grow into different roles in the company.
- Small companies need to retain their employees more than the big companies. It's an expensive and time consuming process to hire. So a smart small company will try their best to retain its employees. If the financials of that company are good it means you will have better job security.
- Less playing politics. In big companies there are a lot of times you have to play politics against other teams to get something done. That's tedious and time consuming. You may see the work you spent so much time on to be "postponed" to another quarter just because some other team "wasn't ready yet".
- In big companies there are a LOT of legacy, badly written, big riddled, failing code present. Most likely you will have to maintain code like that alongside new code. In small companies it's less likely to encounter very bad legacy stuff.
Cons:
- If there's a micromanaging CEO (especially without tech experience) this may drive you crazy. The same applies for an incompetent direct manager.
- It may be unbearable if you don't "vibe" with the people. Especially if they are rude or insulting. In big companies how people shall interact with each other is defined and enforced. May not be the case in a small company.
- The salary may be lower than what you'll get in a big company. But if you're early in your career that shouldn't be the most important point.
- After 2 - 3 years most likely you'll learn everything in the company and it won't feel challenging. Then you'll need to change jobs as the things you can learn at a small company are limited to what they are using anyway.
- There will be a lot of focus shifts and last minute changes. Things will (almost) never go according to the plan. What you have been working on may be shelved due to changes in business requirements.
- Related to the previous point you may need to work overtime.
Exactly this. Also it used to be that you would buy a subscription and that would increase the rate and quality of your matches. That's no longer the case. Now it's all transaction based. You have to pay for boosts, special swipes and shit to be seen.