The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
The biggest difference is larger companies are generally set in their ways. There are more departments and more red tape. Smaller companies tend to be more about personality, may need someone to be a bit of a jack of all trades in their work just to get things done. Larger companies are more formal in that you do your job and that's it.
Both have their strengths. In my experience I believe you have to play the politics game a bit more in larger companies but YMMV.
If you don't mind (or even like) being a small spoke on a big wheel then a big company is best. In small companies you may find yourself doing professionally distasteful things if they find you not absolutely swamped in work like breaking up cardboard shipping boxes.
I speak from experience.
I now run a mom n' pop service and consulting shop up high high high in the Colorado Rockies.
It don't get much smaller than that. We've been at it for 21 years now.
I break up the cardboard boxes with glee as they are mine now and run her Labrador twice a week.
I've worked for big: UK government research places, and small: just the three of us.
And in the middle, as well.
Now there is just me.
There are advantages and disadvantages to all of them.
The bigger it is, the more secure you are: they aren't generally going to go bust tomorrow. And you get a clear career progression, and "regular" salary increments.
But... You can't make decisions. Everything has to be cleared upwards, until it's to damn late to make the changes.
The smaller it is, the more at risk it is of closing tomorrow: been there, done that. A customer goes bust, you can't make the wages, it all goes pear shaped. It gets nasty sometimes. And yes, you end up doing things that aren't strictly your job - picking up a soldering iron and wading in, or cleaning the loo...
But... If there's a problem, you can fix it. And everybody knows it was needed, because they understand and are invested in the project. Or you can sit on the right guys desk and talk at him until he realises you are serious...
Me? Big is a problem: to much sh*t to eat before you can get things done.
Small works for me!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
Before I opened my one man show I worked for a pretty large German enterprise that operates and repairs many aircraft. Besides walking about on their part of the airfield watching planes their social benefits were really enjoyable. As their IT is a service provider to many other departments I got to know a lot more people there than just my IT colleagues which I also enjoyed.
I left them because I don't like working on a project for months which then doesn't get into production because the client department didn't have the need for it any more or because the client department got dissolved in the many perpetually ongoing enterprise reorganizations.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
While there's certainly a lot of drawbacks to working for a big company, which others have noted, there are some perks.
-As Piebald noted, pay and benefits is generally better. You get odd perks like gym memberships, 20+% off major mobile cell plans, car buying services, random swag (coffee mugs, T-shirts, and so on), etc. in addition to the normal better-than-small-company health plans, life insurance, vacation days, holidays, and 401k.
-You tend to have better job security, though of course layoffs are a normal part of the big corporate world. As long as you're a top performer, you're usually insulated from layoffs.
-Big companies can offer you access to more resources - I have an Enterprise MSDN account, some really solid hardware, high powered servers and VM's pretty much for the asking (provided I can give minimal justification for need).
-Large companies tend to allow you to focus more on your profession - I don't have to be a "do it all" person: cleaning toilets, breaking down boxes, doing marketing materials, dealing with belligerent customers with dumb questions that 1st line support can handle, performing extensive QA, etc. All these things have trained, paid professionals doing them, allowing me to focus on designing and creating software.
-A lot of companies are really just conglomerations of many small companies. This can be a great setup where you get the best of both worlds: a large impact with lots of responsibility in your fiefdom, a small team feel (and reality), hands off upper management, along with all the perks of a large company. (This is the situation I'm in right now.)
So, to summarize, there's potentially a lot of good working for a large company. But, as with nearly anywhere you work, your happiness will largely hinge on who your boss is (this includes you being your own boss). A good boss and you're life is good and you can afford to gripe about minor things. A bad boss, and your life is miserable.
It really depends on the company, usually in small companies (at least here in Italy) employees are basically slaves without Union's rights and very bland legal ones. Usually the pay is higher - simply because you're often 1:1 with your boss and he depends on yuo as much as you depend on him. Meaning that if he needs more money you work more time, overtime, weekends, cancelled vacations and so on... not often accounted for.
Big companies are a lot compartimentalized, usually they are more stable but the paycheck is uniformed. Usually your work is piled under tons of management and leechers so the more you work... the more stressed you become, but no changes in pay or respect - in fact it means you get responsible of the failures of many more managers and leechers (two different words but a single concept).
The bigger the company the smaller you are and vice versa. Both have their pros and cons.
Eg. There will be more opportunities in big companies and sharing responsibility when something goes wrong is easier. However it is more slow going (bureaucratic) and more competitive, so getting acknowledged for your work is more difficult.
I've worked for both small and large companies. In my smallest company, I was employee #6 (no relationship to The Prisoner[^]). In my largest (and current), I am a cog in the machine. In my experience, the differences between small and large companies come down to their decision-making process and their resources.
Small companies are more agile, using the Oxford definition of the word. Decisions can be made more quickly, and reaction time to problems can be a lot less. You may have more freedom to make decisions of your own, in that the company may not have rigid practices in place. On the bad side, those decisions are susceptible to the whims of personality and relationships. If your boss is feeling cranky that day, you live with it. There's also the cliche of "feast or famine" with small companies, where you either have too much work to get done within the schedule, or there isn't enough work to keep the entire staff employed. Small companies also tend to have less of a reserve. A minor downturn in business and your job can evaporate over night. There is also a closer match between products and positions, so if the company has more than one product, there is less of a chance you can move to another product if the market for yours collapses.
In large companies, their very size tends to moderate the decision-making process (and there usually is a process). Consensus plays more of a role than in small companies. This also means that a minor player can create an obstruction based on politics or turf considerations. Sometimes the process can let you get around the obstruction. Obviously, large companies can have a greater reserve when the company isn't doing well. If one product tanks, you have the opportunity to move and work on another. Companies will retain valuable employees for a longer period with little or no work for them to do, simply to avoid training a new hire when the environment improves.
Switching from a small company to a large one (or vice versa) is going to be a learning experience. I think the key is to recognize that the new company isn't wrong-headed about their structure, and to learn how to deal with it.
In a small company if you see the need for some small item that will almost immediately improve company performance you can go to the guy with the money strings and get it right away. In a large company you have to convince 3 layers of management to put it into the budget for next year and you end up wasting all the time that the item would have saved. Sigh ...
So far I haven't read any replies that are not (IMO) correct. There are definitely pluses and minuses to small and large companies.
One thing I haven't seen yet is work hours. As an FTE for a large corporation my personal time was abused. I had to work at least one weekend a month, often two or three -- this became the norm. Of course, this can happen in a small corp as well, but I haven't personally experienced it.
I find I'm happiest as a contractor in a small-to-mid-sized company. This has its pluses and minuses as well (doesn't everything?) but it works for me.
I found the work hours to be exactly as you let them be no matter where you work.
I have worked a large corps, small corp, government job and on my own though only briefly that last.
If you let them at the first work you too much you end up working more and more until you have to draw a line and say NO.
Seen it first hand myself and in others. Always the same. The management whatever it is will push you to work until you say nope. Especially when you work for yourself. you can be your own worst boss.
As for large verses small. Someone mentions if you can find a niche in a large company where a small department is working as a small company that is about the best of all worlds. My current setup. and the boss is pretty awesome.
To err is human to really mess up you need a computer
From my perspective, expect to move slower.
Listen a bit more. We finished a job with an Auto Company, and one of our
biggest delays were dealing with the Networking people. We actually changed our
design to avoid the issue, it was cheaper/better for the users.
Also, our default system which allows the user/system to be updated (by hitting a remote
repository) was completely disabled by their firewalls. We had to move the repository to
inside their firewall...
The great thing was that they had NEVER experienced a project finished a month ahead of schedule,
and we now get a new project almost every year from this group. Other groups are taking notice.
But it will, at some point overwhelm our resources, forcing growing pains upon us.
Generally, the number of dullards you are forced to interact with is much larger at a large company. Lazy and/or incompetent people can hide away at a large company and linger on, where a small company can't afford to carry the deadweight.
That drove me out of the large company thing many years ago. I just can't be the PC person who accepts incompetence.
Large companies, as said above, generally have better pay, are more stable, are able to offer some more benefits. They're not as flexible though: at a small company, you have more ability to have an affect (positive or negative), both on the software, but possibly on the culture.
That also means more stress at a small company; being a bigger part of the machine means you have more responsibility. Often, if you don't do it, it's not getting done. But, that makes the work more exciting and interesting, too.
I don't know how you might, in the interview process, try to ferret out whether this is a "big company trying to maintain a small company's culture", or if they're just a monolith.