> By "infrastructure" it's not just code (CI, tools, etc) but personnel, how they come up with projects, etc. New grads or still-undergrads may have a lot of programming experience but none on working as part of a team.
Fully agreed, the code part of the job is really only 20%. The rest is learning to do so in a team and business environment, which is actually much harder than programming.
I learned this in a startup however and would definitely recommend it to others. You learn less "the correct approach", but more or less get shoved into doing bigger things earlier since all the big guns are focused on some ungodly hard problem. So all the medium-hard problems get shoved to the juniors and interns. It's not the healthiest environment sure (I was doing 40hr/wks as part-time frequently), but if you can survive in it for a while you gain tenacity and a lot of skills that are hard to normally deepen until later.