Startup or Big Company after graduating?
jeanhsu.com
jeanhsu.com
In order to become great, it will really speed things up if you learn from great people. A great team can be anywhere, startup or large company. But, it is very difficult to estimate the quality of the team just from interviewing - especially as a fresh graduate.
Regrettably, chances are you are more likely to find a great team at companies such as Google than in a startup or a medium sized company. This is simply because startups find it much harder to recruit candidates, especially in early stages. So you are risking less going to Google or Microsoft.
With that said, if you find yourself agile enough to switch jobs quickly if things aren't the way you expected. Or if you have other information (such as friend's recommendation), going the riskier route may be more rewarding.
probably the best advice you could give!
-
my biggest regret from when i started out was not working somewhere were i was the dumbest person in the room. i started somewhere where i was the _only_ person in the room. i basically had to teach myself everything as i went. although there are some pros to this, e.g. i really "learned how to learn", in the end i wish i had been in an environment where i could have been constantly learning from the experience and knowledge of others. the learning curve is _a lot_ less steep in that case.
Or, maybe, I just have a weird taste... Would be interesting if somebody has been successful in finding such a team for him. Sounds like you, tomerico, found one after you graduated, no?
If you work for a big comp, get a clear idea of what role you want to have: support? IT? development? tech consulting? From there try to find single persons that do well, they probably have interesting connections.
If you were the dumbest person in the room there would be little chance for you to close the gap. They would be light years ahead and pulling out, instead of you catching up.
Good advice.
Interestingly, taken literally the only way to make that scale is when everybody is working on their own startups.
But having said that, the learning payoff tails off really quickly - you gain much more in 3 months on role than the next 3 years etc..
I'd say main thing is to try and switch jobs/roles before you're too comfortable.
Also - focus on what you're gaining right from the start. The thrill of actually having money coming into your account sometimes means you can overlook when you're stagnating. You have to lead your own learning at companies - and if you push for it, you can gain a lot. But generally managers have other things to worry about and if you don't, they'll assume you're happy.
Working for an existing startup would be OK too -- though you might not necessarily get the mentor in that case.
I wouldn't recommend you start your own startup though -- because you're still new and the cost of learning would be a cost _you_ would bare ... pick up some real world skills for a year or two, then jump
Other than IBs, I've also worked at 2 startups - very clean code, and very fun code as well - like a homegrown 3D API in Java to draw & rotate the globe & locate your city on it - way back in 1996, when Java was 1 year old & had no 2D API even! The best even Sun could do at that time was this tumbling duke animation on netscape ( http://bit.ly/jnZFwz), and this startup headed by 2 smart computer graphics experts from MIT rewrote their graphics engine in Java to rotate a whole geographically-accurate globe in netscape!
Nowadays you see a protovis demo ( http://bit.ly/imMuSE ) & think, Hey, I can think of a dozen places where the data could be modelled that way. Why don't they ? Cause they're "Big Companies". So they'll stick to tables with links to more tables that link to even more tables! If you think about it, a portfolio of derivatives who underlying maps to a cross-correlated matrix is essentially a force-directed graph whose vertices are growing & shrinking as they trade throughout the day. If you think the vertex is about to pop, sell it! Instead, "Big Companies" will hire tons of analysts who will simply stare at tabular Excel screens of rows & columns & red/green alert button like you're back in the 1970s. There are startups doing really cool stuff with trading & visualization, but they don't take off - simply because of inertia & retraining of existing traders to stare at graphs instead of tabular rows & columns :) Maybe 10 years from now...
I'm graduating in two weeks and I will try to do my own startup. If you're interested in robotics shoot me a message.
Mark Suster put it better than I ever could! http://www.bothsidesofthetable.com/2009/11/04/is-it-time-for...
So far I've worked for a small software house (so, sell side) and tried to do a startup. I'm now contracting for a big corporate (buy side). So I guess that's two down, two to go.
The market is so strong for engineers right now that you don't need to choose between decent compensation and startup environment; you can have both.
Far more articulate than me :)
School doesn't teach you proper engineering practices and learning from the mistakes of companies that have already gone through starting troubles is also beneficial to you in a long term if you want to form your own startup.
I have a bunch of student debt and I start paying interest in 6 months. I elected to work at a big company to get out of debt. The benefits and perks are amazing...and the learning opportunity is definitely there. It's turning into a great decision :)
Anyone out there go to a startup while they're in debt?
If you are interested in going to Tahoe for skiing over the weekend and visit friends in Florida the next weekend? Pick a large company.
Who knows where each path will lead, go with what you enjoy the most.
1. You learn strict business processes that are reproducible and repeatable. They don't teach these in school.
2. You'll be surrounded by senior people who have years of experience. Albeit (in my experience) these people are not very good at what they do, they do offer a good mentor model.
3. You can make an endless amount of mistakes and you won't effect the bottom line of the business.
4. You'll quickly build a network of professionals. This is key. Networking is (almost) everything in business.
Finding small companies that do all of these well do exist but they are hard to find.
Start with the startup, no question about it.
After your two to three years, go to a startup. You'll get the increased responsibility and have the skills and experience to take advantage of it.
In my view, the problem with going to a startup is they tend to need you to be productive in a real hurry. There won't be much if any mentorship and often you'll be left to work autonomously. Frequently you won't even get reviews or feedback, which isn't as bad as it sounds, because often your boss won't be able to give good feedback anyway -- remember that at a startup your bosses are probably learning as they go just as much as you are. If you haven't developed good taste in software and a sense for how to build big systems -- something virtually no undergrad has, with the exception of people who've done a bunch of open source -- you can get yourself into a pretty bad place. Bright people can often overcome bad software development practices, but only for so long, and when the tech debt hits you it hits hard.
Edit: plus, if you go big company first, you can have little debt and $15k+ in the bank. There's nothing in the world as reassuring as knowing that if shit happens with your paycheck, you have 3-6 months to find a new job and won't have any trouble paying bills meanwhile.