But people don't born with right mind. It's the hours and hours spent on solving problems make the right mind. Aren't you agree? What university gave me is how to think and learn.
Re:Ask HN: from zero to development
by RiderOfGiraffes on Monday August 30, 2010 @06:20AM
(#1645811)
No, I don't agree entirely. University is not the only way to get an ability to think and learn - some people seem to have it before they go to university, some people don't have it even if they have gone to university.
Perhaps for some people they do acquire it while at university, and even then it's correlation, not causality. What university gave me was access to materials and mentors, and a motivation to acquire both. I already had the ability to think and learn - I don't think I got much more of either from university, I just had the materials to apply them to.
So if someone wants to learn programming, and has the motivation, and has the stick-to-it-iveness, and the drive, and the patience, then all university will do is require them to take more than they need, at a pace that might not suit them.
A mentor is better if you already have the right mind-set.
Good structure can be imparted by an occasional coding partner. Writing your own code, then having someone partner and mentor with you for an hour or two can help you see what's good, what's bad, and what's ugly. The ways of designing interaction and structure can most easily be imparted in a few informal sessions based on real working code than it can in huge lectures with disinterested lecturers.
Using libraries can most easily be done with someone to help you read the manuals and documentation.
On the way, awareness of data-structures and their implications can easily be picked up, especially when something runs too slowly and your mentor helps you re-write your code using a quicksort instead of a bubble sort, or a trie instead of an unsorted list.
And in six months you can have both, a working app and a good knowledge of the underlying CS ideas.
Yes, you're missing the course on compilers, parsing, NLP, AI, optimisation and complexity theory, but you have a working app and solid foundations to learn more.
You don't need a CS degree if you are the right student, and have a good mentor.