Whether you learned from a University, or mentor, or what have you (I'm mainly more concerned with University/Equivalent), what did the institution do right? And what do you think they could've improved upon when learning your programming skills?I'm curious how everyone felt their institution did as far as teaching them how to become a good programmer.
What did your college do right and what could they improve upon?
education
I was not a comp sci major, but one comment I'll make:  Undergrad education is supposed to be focused on timeless fundamentals of a field, not the latest buzzwords and technologies or mundane nitty-gritty practical details.  If you want to learn the absolute latest research and buzzwords, that's what research journals and/or grad school are for.  If you want to learn nitty-gritty practical stuff like source control and maintenance, that's what real-world experience is for.I majored in biomedical engineering, and I didn't understand this at the time.  I always wondered why we weren't learning about latest cool buzzword that will get me a job X and instead were wasting time on free body diagrams or reaction kinetics something boring like that.  In hindsight the focus on the timeless fundamentals of engineering and biology in my undergrad education makes perfect sense.  The latest cool buzzword changes too fast and is hard to understand deeply without a solid grasp of the fundamentals.Teaching lots of detail about source control and the latest development methodologies (agile, waterfall, RAD, SCRUM, or whatever else people use) is silly because it will be obsolete in 5 years, there's nothing conceptually deep about it, and it's easy to learn on your own.  The timeless fundamentals of computer science are computer architecture, algorithms, complexity classes, data structures, the Church-Turing thesis, etc.