I've been doing some heavy investigation to how (and where) I should start my career in terms of maximizing learning. I have friends who will be working at Microsoft, and other friends who criticize said 'Microsoft' friends, saying that they won't learn much. Others say you learn the [most] at big companies, and a small minority say that start-ups are the way to go when you're early in your career.
I wonder what advice Jessica (and the HN community) would have for people like me, as I imagine there are a lot of people like me visiting HN.
> I have friends who will be working at Microsoft, and other friends who criticize said 'Microsoft' friends, saying that they won't learn much.
There are many things to criticize about the dev experience at Microsoft, but that's definitely not one of them. Unless you're in a quite dysfunctional group, there is extensive early-career training and explicit mid- to late- career mentoring there that really distinguishes it from startups and other big companies. As a manager there, I was held responsible for growing my organization's devs much more explicitly and to a much further "minimum ceiling" career stage than I've seen or heard of from any peers at other companies or other places I've worked.
Of course, things may have changed since I left that position in ~2006.
My first job as a developer was at a very small infosec non-profit (5 employees total!), I now work for a fairly large tech company (VMware) - and while I was in school I worked tech support at a startup that grew from ~30 to ~80 employees in the year and a half I was there.
So I've seen a decent range and think that you'll learn a lot wherever you are (particularly early in your career). What you learn will vary a bit and you will most likely prefer one or the other, but until you've tried both I wouldn't worry too much about which is better. I'd suggest pursuing opportunities at companies of all sizes and accept the offer that most interests you.
The advice that I got was to join mid size startup (Think of google 2004, FB 2007, or uber/ airbnb/ dropbox right now). The company has been mostly de-risked, and there is still newer parts of the organization where you get to do interesting things.
I joined a startup as the first employee shortly out of college and I've been here for almost two years. I would say I've probably learned more here than I would've elsewhere because I jump up and down so much of our stack. I've gone deep on a few technologies (Akka, ElasticSearch, CoreOS/Docker) while gaining breadth in a number of others (Neo4j, Rails, AWS).
I don't think I would've gained the responsibilities I have here as quickly as at larger companies.
I wonder what advice Jessica (and the HN community) would have for people like me, as I imagine there are a lot of people like me visiting HN.