| Small companies are a lot like limbo. Because everything is both good and bad at the same time. Flat hierarchy. Great because you're in the middle of things. Easily talk with the CEO/CTO, make decisions that matter and change the company direction. And it sucks because you can't advance in any way. You're a developer for life and once you get good enough, the salary stops rising too. You're hitting a boring plateau pretty fast and there is no way to escape it. Very little politics. Great because who likes being a politician when you can write awesome code. Find a problem, just point it out and solve it. No boring meetings and no artificial stopping blocks. But with few politics you don't feel appreciated. No perks, because "we're small, we work with passion". No promotions. No company events, or very boring ones. And pretty much no respect. Think of it like having a lot of brothers and sisters. You can be the best at what you do, but still get shit just because it's funny. Work with the latest technologies. Who wouldn't want that. Always on the bleeding edge. Always in the front row. But when everybody in the company is doing it, it's pretty hard to maintain standards or even a stable system. Each week there's a discussion about switching to this awesome new thing and dump the old crappy thing that brought us where we are. Both small and big companies have good parts and bad parts. If you want structure, perks and a ladder to climb, go with a big company. If you want to play in the mud and build a castle out of it, go with a small company. And if you're just starting out in the field and want to learn the ropes, definitely go with a small business. Everybody will help you learn because there don't have reasons not to. |