Why You Need To Work For A Big Company
onstartups.com
onstartups.com
That's not a good enough reason. I worked for a large company and know others who work for large companies and find the work very rewarding.
The choice of what experiences will best suit you on your way to starting your own company is more personal than black and white comparisons. Not all big companies are evil empires designed to crush you (e.g. Google) and not all startups are rosy playgrounds for engineers.
In the end, as expressed by several people here, it's a personal choice that has to fit your own values and which experiences you want.
Google is "designed to crush you"? Hmm.
So the key is then, presumably, to somehow try to make sure you get one on the correct end of the spectrum. Starting one yourself probably helps with this.
Your coworkers and (possibly more importantly) your managers, are critical determining factors in how it all works out for you. Probably more so than whether you have a choice in technology, etc.
People don't leave companies, they leave managers.
There are good and bad managers at both small and large companies. One advantage of going to a small company is that you're more likely to get to meet the exact manager you'll report to during the interview process. One disadvantage is that there is a much wider range of how good a manager they are, because they probably have fewer peers to compete with. Managers take a lot of flack, but to manage teams at a big company like Google or Amazon you probably have to be at least decent at what you're doing, whereas at a small startup you might just be the person who got there first.
Years ago, I was hired to work at a small tech startup. After a few weeks, the CEO met with me and said it seemed to him that I didn't have a lot of respect for the opinion of my manager (who had never managed anyone in a tech company before, and never done any development themselves.) I told him straight out, no, I didn't respect their opinion - I didn't think they were qualified to be a manager. (Needless to say I didn't stay there very long.)
Best of all... while you're still young and dumb enough to abuse your body and get away with it, you can put in your 8 hours at the big company, come home, and put in another 8 hours at your own startup before life and its varied responsibilities catch up with you. And the whole "cash" thing shouldn't be overlooked either. While it's great to have a ramen-profitable startup, nobody should literally live on ramen.
I speak from personal experience - successful e-commerce startup where I am director of web.
Year 1 was about fast growth. We built a home-grown e-commerce platform, and made it scale. Lots of interesting challenges for hackers and a strong technology focus - improvements to the platform contributed directly to the bottom line.
Year 2 has a different emphasis. Many of the technical challenges are now past us. We did such a good job in Year 1 that we don't have to do much WRT scaling, UX optimization etc in Year 2. Year 2 is more about sales and marketing - continuing to find channels to acquire members and getting products into the store that people want (at good prices).
This has much less of a technology emphasis than Year 1, and indeed while Year 1 was very exciting, in Year 2 I find it difficult to motivate my team when the tasks at hand are things like "ok guys so we need a modification to our internal admin tool so that marketing can...".
Sure, there are constant improvements to be made. We do regular tweaks. We think up mini projects ("site looks weird on Android. ok lets fix that this week"). But the dynamic has most definitely changed and that is just a factor of the type of company this is (it's a sales company) and the stage of growth it is at (nearing a B round of financing).
Startups, at their first year, might be fun. But second and third year are soul crushing if they don't expand as fast as Twitter or Facebook. Startups have to keep the bubble strong (i.e.: brainwash) to motivate their employees. Otherwise, people will feel burn out due to 12-14 hours of working plus rotation on-call.
Most startups also write hacky code. In the long run, this can decrease moral of developers.
And you're right, there are reasons why turnover is so high in our industry. I don't think working for a big company is one of them. I didn't do a formal research but when I was browsing (re: stalking) in linkedin, the data I saw showed that people who work for a big company tend to stay longer than those no-name/small companies.
On the other hand, keep in mind that our industry keeps on building software to automate a long of manual tasks in a blazing rate. This could also be the reason why turnover rate is high: layoff due to automation.
You need a big company to work on a big product.
If you want to work on something as complex, massive, multidisciplinary, and grand as, for example, the space shuttle, small companies aren't an option. Sure, you might be called upon to learn fortran, and there will be underperformers and politics. But the engineering challenges can be mind-blowing anyway.
I'm reminded of one of the characters in Snow Crash who loved her study so much she would go anywhere to practice it. Sometimes big companies are like that. A dead sexy product can make it all worth it.
Or you could work for a small company like SpaceX and work towards making NASA obsolete. The same engineering challenges without all the bureaucracy.
None of that changes the fact that working with SpaceX is an awesome thing, but I very much doubt it'll make NASA obsolete anytime soon.
(Source: http://www.spacex.com/updates.php)
If you are going to work for a big company, choose wisely.
If you're going to work at any company choose wisely.
"Even in the age of social media, it is still often about who knows you, and knows you can do a good job. If your boss did a successful project he will often seek to 'reunite the band' for another gig years later. A big company gives you a chance to impress and end up in the address books of lots of future high fliers. And they will take your call when you have something to sell and arrange an introduction for you on the strength of your past performance."
The problem with being at a really large company is that it can be extremely difficult to find any kind of self-worth. You have to try and chase it but there will be so much red tape at every doorway that you'll have to find some other way around it. You may be in a huge department. You may be doing stuff that is only seen internally. You'll spend time hacking to rebuild something crappy to prove it's value. You're wedged into a system (slowly). The processes are already set. You'll learn a fair amount of things, but nowhere near what you'd probably learn at an energetic startup or doing your own thing.
The absolute best thing will be the people. You'll meet some outstanding folks... Potentially the kind that want to start something different.
It will be interesting for the first 6 months to a year, and then you'll become pretty bored. Unless you just don't care and you're riding the wave.
That self-worth thing is a pretty big deal. The majority of people enjoy being 'comfortable.' Finding the comfort that just pays the bills. That's great. That's where big companies shine. I'd rather chill on the edge being a leader revolving around building something new. But it took me joining a large company to learn that.
So, really, just follow you're heart. You'll learn. Nobody can argue that being a bad thing.
One possible interpretation: "learn as much as you can about your enemy, then use that knowledge against them." :-)
Here is my take, and I would never want to work at a company of that size again...
1) I can say I did learn a lot during my tenure there, however, they were such a huge collection of edge cases that not much was directly applicable to anywhere else I have worked. I can say that I got a good grasp on not breaking large complex systems though.
2) I found this to not be the case, and this was very disappointing to me. When I started there I was expecting to be surrounded by the best and brightest on a mission. I found that in the case of this company, in my group(say around 100-150 people) it was 5% of the people doing 95% of the work, surrounded by people content to do just enough to not get fired.
3) semi true, I do maintain contact with several people there.
4) Perks- NO NO NO NO NO NO!!! Benefits at this place sucked. After I left(2008) the company suspended raises for everyone for at least 18 months. While I was able to change titles to a much higher "paygrade", the company did not want to ever make my salary reflect the title.
5) Probably the biggest reason I never want to work at a large company again. Most managers were promoted beyond their competency, so decisions were made based on how much power they could wield and not what was best for the company. A great example is how they would not allow certain blackberrys to connect to the enterprise server because one of the managers thought the scroll wheel was a toy. iPhones were banned because it took > 1 hour to cut off your access if you were terminated. Thats right folks, exchange/Phone policy dictated by the fact that the company thinks they will probably fire you and they cant cut off your access quickly enough.
6) true
7) Absolutely. Im now at a small company(~150 employees) and the lack of all the crap I mention above has drastically improved my well being.
1. You learn an awful lot. You get to see the good, the bad and the ugly. You see lots of very good ideas (like proper source control) and some not so good ideas (like how not to motivate people).
For good ideas, I think this depends on what you mean by "large." A small company company that has been around for a long time, and possibly grown into a medium- or large-sized company during that time, acquires a high level of expertise in its particular problems. It's really an education to see the technical solutions that emerge from years of accumulated experience in that kind of environment. However, after companies get really large, they devolve back towards mediocrity, because the prevailing management mentality is that technical excellence does not scale. Executives four or five levels away from the front lines want to feel in control. If they aren't in control, nobody is in control. If nobody is control, the company drifts aimlessly. And the executives aren't in control unless the people on the front lines are predictable and interchangeable. There's a flaw in that logic, but it's natural for executives to feel that way. Technical excellence (except in the empty sense that everyone claims) also means that management can't solve technical problems by itself, because management's only methods for solving technical problems are managerial: ramp up hiring, hire contractors, outsource, etc. Empowering management means organizing the company around the most common technologies, the most common practices, and the most common quality of developer. From that point of view, technical mediocrity is a feature, not a bug. There's no need to learn mediocrity first-hand: you can learn it from books and blogs, and from there you will quickly match or exceed it.
For bad ideas, I'm probably in the minority here, but I don't think there's much benefit to seeing ideas fail. Some things are obviously good or bad, and some things you need to see play out in practice, but in my opinion, the non-obvious things you need to see play out in practice are usually sensitive to context and specifics. They might work poorly in a large company but well in a small company, or poorly in one large company and well in another large company. Scrum, for instance, turns out to be a poor fit (in my opinion) for the engineering department I work in. If I try to predict whether Scrum will or won't work in another situation, however, I will fall back on common sense unless there are particular parallels to the situation I observed.
2. You get to work with lots of clever people.
Surprisingly true, probably because of the exact reasons he stated. However, the better the tech economy, the more the best people feel confident leaving.
4. They have lots of perks. I do miss the canteen, the sports gym and the other 'extras'. And that week's 'training' in Amsterdam at the company's expense. That was a lot of fun!
Not always true. Many big companies have no perks at all, or insultingly crappy ones. Mine won't even provide decent coffee -- we have a bunch of coffee fiends who simply don't drink coffee at work. It's better to have a coffee house nearby than to have a company canteen. (Also keep in mind that if you're a lower-level resource, big companies may compensate for lax productivity standards by paying more attention to when you're in the office, which makes it a bad idea to go out for coffee on a regular basis.)
As for training, that depends, too. Sometimes big companies won't pay for any training except overpriced training in proprietary software, and then only one or two people get it. You can encounter cases where the company will only pay for (e.g.) introductory Oracle training, but will only pay for training for its most senior resources. The introductory training isn't offered to junior resources, and the company won't pay for advanced training for the senior resources, so nobody ever gets trained. (And you'll never know whether this is on purpose, or simply due to stupidity.) I was going to get flown to expensive official SAP training halfway across the country, but then (thank God) I managed to avoid working with SAP. Result? No training of any kind for me, even if it's half the price. Unless I want to get a Master's degree, that is, in which case I have a lot of leeway. It seems ridiculous that the company will pay for a Master's degree but won't shell out a thousand bucks for a conference, but apparently that's not unusual. The rules are often bizarre and counterproductive.
We got a budget every year, but our development manager was too weak to organise it himself along with his other demands. So it got passed off to a senior team leader to organise. He didn't really have time to organise it properly. We went many years where the budget was not spent, and therefore got shrunk the next year.
When we did finally organise training, it was very basic, and the company gave us 1.5 days off to study, which included the time to go to the testing centre (1hr trip each way, 2hr exam). Result: one afternoon off to study. At least I got Java 1.4 Certified Programmer (yay :-/ ).
The next training was organised the same, only this time, to avoid us all taking the 1.5 days at the end of the financial year (who'd have thought we'd do that!?!) training was organised in waves of 3 months. At the end of the 3 months, no one had taken an exam! So guess what? Training materials stayed with those people for the next 6 months. That was galling for the rest of us.
When I moved department, we had much better managers. They were pro-active is seeking out our training needs, and everyone knew what training or courses they would be doing over the next year. Then corporate HQ stole our training budget to train a team of inexperienced, but geographically cheaper, resources in our jobs. Surprise surprise we got pissed and started leaving. Now I hear that little experiment was an abject failure and they were trying to hire us back as consultants!
deep breath sigh
Hey, I got paid regularly, travelled a fair bit, learned a TON, and did get to work with some exceptional people. However racism was endemic among senior management, who were all based in ###### (redacted).
However there were consistent appointments of Israeli managers and resources, where there were far more experienced and capable resources outside of Israel. Indians were exploited quite badly and rarely considered for any position above team leader. Within a division promotions would be blocked world wide, except in Israel, or Israeli's with Israeli bosses.
Conversations would often switch to Hebrew. If you knew a little Hebrew sometimes you'd figure out they were openly talking about co-workers who were in the room. The company official language was English, but that did not stop many internal job postings /requiring/ Hebrew (e.g. Central American on-site project, Spanish not required, English and Hebrew a must.)
This was not my observation alone, but a general consensus. Whenever it was raised as an issue, Israeli senior management response was "if you don't like it, you can leave". Seriously, go look at almost any Israeli company on Glassdoor etc, and you will find all the same issues again and again.
I mean, in a big company, you're unlikely to actually know people outside of your immediate working responsibilities, so you don't really get the chance to network across the organization.
Also, I mean, if you don't have any super great ideas... there are worse things to do than help someone implement their idea.
"I mean, in a big company, you're unlikely to actually know people outside of your immediate working responsibilities, so you don't really get the chance to network across the organization."
I work in Search Features. Over the past six months, I've been on a rotation with the webserver infrastructure team, and have gotten to work with people working on Google Maps, Doodles, Product Search, Image Search, Chrome, Protobufs, recruiting, UX research, and compilers & build tools.
Other big companies probably don't have quite as many cross-functional links, but rotations between groups are quite common, as are groups whose job is to consult across the organization.
2. You get to work with lots of clever people. --Are you nuts? A good percent of large companies are made up of "resources" who chug on the framework created by few good men(mostly when the team/company was smaller). Usually an offshore vendor is already established and politicizing the project.
3. You become part of a large diaspora/community. -- The explanation makes more sense if you are working in a large non-tech company (say Ford,Toyota plant). But again not a reason that stands out as unique to a Large company.
5. you learn the art of politics - You are crushed by the number game (with equally competent(or otherwise)) competing for promotions, that loving to lick ass becomes more of survival than a favorite activity.
6. You have time to reflect. -It is not necessarily slow. It is fast paced repetitive, enough to numb you.You ponder about the life in general (and get into depression?) (this doesn't apply to the crowd that join the large company to live the retired life)
"You might also appreciate the relative security, the calm and the chance to get your life in order. Once you join a startup, it is generally going to be permanent 'seats of you pants' mode." -wtf is that about?
7. You get a baseline. Then you go and try to do it better. -how is this a reason to work for a large company only.
For example in a small company, if you have issues with pay, you go speak to the boss/owner, or if you're big enough, the book-keeper/accountant type. In a large company there will be a whole department for your problem - be it HR helpdesk, your local accounts/payroll clerk, etc.
In the big company, you should make the effort to learn who is who and what do they do. You will soon start working out what qualities these people have that make them great, average, or terrible at their job.
In a small company, if you hire someone with the wrong qualities, at a pivotal time in your growth, it will be like contracting a disease.
Big company experience shows you lots of mistakes, which can be covered over by co-workers, PR department, caught by the QA team hour before shipping, etc. etc. If you don't get exposure to these sorts of mistakes, whilst they may not kill your startup, they will cause you some big-time stress. Stress in those quantities is not good for the survival of your business.
You can, however, mitigate some of these risks by having good mentors around, and hiring smart and experienced staff at the beginning. Successful startups like Google, Apple, Microsoft etc. didn't survive on hiring graduates alone. And if they did, they were lucky or smart enough to hire the right people in the right roles.
- How not to do stuff.
- That you need to get out ASAP to protect your brain from rotting
Ah, but it does. For a business to survive, it has to interact with people outside of itself. In those cases, understanding the political situation on the other side of the table can be of immeasurable value.
Not all large organizations are the same and it may be very different from department to department. I have worked with people of truly amazing technical expertise and work ethics in a large organization that relied heavily on heavy transaction loads. The cost of downtime was know to the minute and many operations were very sensitive to performance, the contribution of the technical teams to the business were known and recognized. Everything that was central to its operation was done in house all the way down to network protocols. This environment made technical excellence an important aspect of selecting employees. Less performing employees were moved to other areas of the business, or just not kept after their probation period.
I have also seen other organizations where you contact your technical team when you order the coffee for the press conference where you'll announce the new product they're supposed to build. When technical expertise is not well regarded; I've seen less talented people. But the machine was still working thanks to its traditions and established systems, at least if you're attentive you get to learn how to build resilience. I have done great and exciting work in startups, I have also seen countless numbers small companies with low levels of expertise and professionalism.
most startups reckon you are past it if you are over 23
Is this true? many startups reckon you are too expensive or less likely to work insane hours
if you are over 23
Perhaps.I've never worked at a big company. I started and mostly failed at my first venture out of college. 2nd one did well. Never got a real job. Now don't need a real job, I love the one I've created for myself.
Why should I go work for a big company? To work more hours for little to no upside?
I can see some advantages....just not enough to make me quit working for myself.
That being said I could only stay at either for a short while, because the lack of progress just doesn't sit well with me.
But, I did like the experience and given the choice to do it all over, would repeat them.
The startup that I went to work for afterwards was completely different in most ways. However, our clients were large enterprises like my former employer, and I was able to understand the pain many of our client contacts were going through while trying to do something that was obviously the right decision for the organization (buying our product) but dealing with red tape, politics, and morons in the approval process.
Not to mention, if I'd started out in a startup without dealing with the idiocy and creative vacuum of a behemoth organization, I am sure I wouldn't have appreciated the opportunity of working in a small, intelligent meritocracy nearly as much.
This rings true since working for other companies allows you to build a network and find out where the pain points are in different industries.
I could be totally missing some, but I did just look down a list of biggest American tech companies to see if I could find anything.
I can think of a few reasons why that might be so. Big companies that change whole industries tend to be started on the leading edge of sweeping technological changes (eg. the PC for Microsoft and Apple and Dell, the Internet for Google and EBay and FaceBook); usually these trends are too minor for an established career professional to bother looking at. Even if they do look at them, someone inexperienced has the advantage of looking at them fresh, without any preconceptions. A large number of the original dot-com bust companies were started by 30- and 40-somethings, and the bulk of them just imitated the brick-and-mortar shopping experience or old media experience. It took someone without industry experience to realize that search would be bigger than content, and that social networking isn't just media consumption.
This is how people justify things like learning Latin in high school (which I did). Sure it helps you learn where English came from and helps you learn other languages, but surely learning German or French would teach you the same and you would actually know a useful language.
At my past company I worked on an important module, it was well tested, everyone loved it. After 2 months it was on the 'path' to be released after 2 months. At this company I worked on something last week and we are looking to release it in 2 weeks (with enough QA).
People work in mid-small companies. Big companies have smart people but they get LAZY and eventually the culture builds up on you.
It is important to work for a big company and get exposed to the culture......as these are the people you might make products for, these are people who may put money in your company, etc. I would RUN after spending 2 years.
And usually, these companies are not mired in the large and unwieldy bureaucracy that is common in large and established companies. i.e. companies like Facebook, Zynga, Google 5 years ago, etc.
However, my experience is limited to two big-but-growing companies, one startup, and one small but completely dysfunctional. Too small a sample size for definitive generalization.
Experience with this can help you be a better entrepreneur.
And what makes this even more infuriatingly variable for the generalizer is that it is unlikely you and I would even agree on which of these companies, or departments within companies, are the great or terrible ones. So much depends on who you are, what you want and what you need.
As for the stated advantages? I don't see them here. I'm considering starting the New Year by resigning.
1. You learn a lot: Yes, I'd agree although what you learn might be a lot of internal architectures an systems which aren't applicable outside. I'd agree that you need to experience a big company to get a proper perspective on the rest of your career though
2. Smart people: kind of, though there's maybe 10% of the developers here who even touch a computer outside of work... far less do any sort of personal programming projects or reading.
3. Large community: true, I've made good friends here and some international contacts though I'm not sure they will come to anything. I came from a fairly lonely road of research/PhD studies and wanted the experience of working in a team. Unfortunately, my "team" is now mostly remote and, no matter what anyone says, it's not the same as working with the people in the cubes around you.
4. They have lots of perks: No! Our company doesn't even provide tea or coffee. We get health insurance but that's standard for most/all software companies here. Bonuses are small enough that you can effectively forget about them. There's no training budget or internal courses (except on internal processes).
5. You learn the art of politics: No, not necessarily. I've had a lot more office politics in the small companies I've worked for. And regardless of the company, I don't play politics. I'm friendly but not fake, I say what I think and I do what I say.
6. Time to reflect: That's part of the reason why I'm still here. The work is easy, standards are low and hours are flexible (and bosses generally ignorant as long as the job gets done) so I can work on side-projects in my spare time. The problem is that the lazy work and general depression at work spills over into your side-projects. So even though I have the time I've recently lost the motivation to do much in the way of proper side-project work.
7. You get a baseline: Exactly. I firmly believe that you can't bitch and complain about something until you've tried it.
My contract also states that they understand people do other activities and the company doesn't want to own them unless they are a competing activity. And frankly, even if they did want one of my projects they wouldn't do anything with it and I can move on pretty quickly.
- a large military contractor - consulted for many clients who were just starting their own startup - a 150 person internet company - a small 10 person website
I just turned 30 and feel like I've experienced most of the different work environments out there. I agree with the original article, I think most people would benefit from spending a few years, maybe right out of college, at a large company.
At the larger companies, I could spend a month really getting to learn a language. I wouldn't be able to do that at a startup.
Now, however, I'm ready to do my own thing. Thanks to the experience I've gained, I think I'll succeed, too.