| Startups vary. Just because the majority of startups on HN are making web apps at medium scales does not mean everybody is. I've looked around at a bunch of internship and the most technically interesting ones have all been at startups. Now, I have to admit that the majority of startup internships I've seen have been in the bland web-based software category. And, perhaps, larger companies have more technically challenging internships on average. However, average is not what you should be interested in. And the exceptional startups I've seen are more exceptional than what you would do at a bigger company. This makes sense--there are more startups, they are more varied and less conservative than bigger companies and they cover more niches, so the variance in technical difficulty is going to be greater. Bigger companies also have more friction: existing processes, gigantic code bases, very specific requirements, large investments in existing tools... Also, it's much easier to find startups in your particular field of interest. I've talked to companies doing interesting work in machine learning, bioinformatics, robotics and even type systems (I haven't seen any interesting work with type systems at big companies at all). And these are just things that happen to interest me in particular: there are probably interesting startups in whatever field happens to interest you as well. So I think startups are actually rather good for doing something cool and novel, especially if it's something off the beaten path. You just have to find the particular awesome startup that interests you rather than joining another web/mobile-based company. Now, there are some advantages to seeing how a bigger company operates as well. Understanding how to organize hundreds of programmers, maintain gigantic code-bases, use significant resources efficiently and survive in a larger corporate setting are all very important. Spending at least one summer at a bigger company would be is useful if only for these, just like spending time at even a technically boring startup is great for the non-technical reasons you listed. But for learning technical skills, especially more specialized and advanced ones, I think a startup (but not just any startup) is a great choice. |
What start-up is doing work in type theory?