> 6. The most successful tech guys I have know dropped out of school, and learned to program on their own
To a large extent, given the values of US universities, that's mostly inevitable.
What are such values? In a university, the profs are expected to be doing 'research', not just teaching what's already on the shelves of the libraries or in commercial products. In computer science, the 'research' is supposed to be finding the 'fundamentals' of computing, e.g., the question P versus NP.
So, there can be some first courses in computer science that concentrate on teaching a programming language, maybe Java, and then some later courses in algorithms, data structures, compilers, database, etc., but, still, turning out people ready to 'hit the ground running' in a serious programming team is not really the goal.
Now, there are community colleges, but there is a 'quality' problem: First, the better students tend to go to universities. Second, where is a community college going to get someone who is a right up to date software team leader to teach and, also, do a really good job teaching with preparing the course materials and giving individual attention to the students?
Net, at least in the US, it's long been the case in computing that mostly or even entirely have to be self-taught. Heck, I've taught computing to undergraduates at Georgetown and to graduate students at Ohio State but I essentially never took a course in computing and, instead, was self-taught and before such teaching had a good career going in industry.
Self-taught's largely where it's at. Sorry 'bout that!
Solution? If you can think of a topic that needs some good teaching, then get smart on the topic, write a book, sell it in some form, maybe Kindle, develop some lectures and put them on YouTube, have a blog, etc.
To a large extent, given the values of US universities, that's mostly inevitable.
What are such values? In a university, the profs are expected to be doing 'research', not just teaching what's already on the shelves of the libraries or in commercial products. In computer science, the 'research' is supposed to be finding the 'fundamentals' of computing, e.g., the question P versus NP.
So, there can be some first courses in computer science that concentrate on teaching a programming language, maybe Java, and then some later courses in algorithms, data structures, compilers, database, etc., but, still, turning out people ready to 'hit the ground running' in a serious programming team is not really the goal.
Now, there are community colleges, but there is a 'quality' problem: First, the better students tend to go to universities. Second, where is a community college going to get someone who is a right up to date software team leader to teach and, also, do a really good job teaching with preparing the course materials and giving individual attention to the students?
Net, at least in the US, it's long been the case in computing that mostly or even entirely have to be self-taught. Heck, I've taught computing to undergraduates at Georgetown and to graduate students at Ohio State but I essentially never took a course in computing and, instead, was self-taught and before such teaching had a good career going in industry.
Self-taught's largely where it's at. Sorry 'bout that!
Solution? If you can think of a topic that needs some good teaching, then get smart on the topic, write a book, sell it in some form, maybe Kindle, develop some lectures and put them on YouTube, have a blog, etc.