Learning, or, Learning How To Learn

One of my most eye-opening early experiences was a tour of a local manufacturing plant during high school. One of our tour guides was a MIT trained engineer who accompanied us, explaining how everything worked. At the end of the tour, he gave each of us a picture of a spider he had taken under one of the electron microscopes they had at the facility. He labelled it "Boris the Spider" after the Who song. I kept that photo in my school locker for months.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/06/learning-or-learning-how-to-learn.html

I agree with Steve. Software is no different intellectually than other professions, but some people in the industry think they are doing more significant stuff than engineers, scientists and surgeons etc. Helping a surgeon with some software tool is not very interesting, the surgeons work itself is still far more important than the tool.

I think software, at present, is a fashion industry, trumped up by the most unashamed marketing effort and BS around. When it gets back to the sober intellectual environment of say most engineering or medical science, it will be worth writing about with the same pen.

“Nowhere is the importance of learning how to learn more critical than in the field of software development.”

I dunno… I hope my medical doctor is learning about all the latest medical research.

Well, I’d have to agree. Having an Associate’s in Psychology, a Bachelor’s in Philosophy, a Bachelor’s in Psychology, and a Bachelor’s in Classical Studies, I didn’t learn much about scripting and automation but I’d say there were more than a few times that the classics degree crept up while writing about automation in my
blog (http://www.TheMacroHook.blogspot.com). I’ve always been one to look down the overgrown paths to see what’s there and now that I’m programing, I haven’t lost the desire.

My mum works as an LSA and I talk to her quite a lot about school and where the curriculum is heading. It’s interesting to note that here in the UK that it’s becoming a lot less about what you learn and more how you learn. Soon students won’t be learning all about Tudors and Victorians, but will be told to pick a subject and research it.

It should be noted that, at least at any decent CS department, computer science should not be considered computer programming. They aren’t the same and all the useful programming learning comes usually a couple of years before graduation.

I taught intro courses and I always used to tell my students that their next 3 or 4 years would be spent learning mostly, as this post said, how to learn. Programming, more than most fields, is tool-dependent and, more than most fields, the tools change rapidly.

(I also told them that a lot of what would be useful to them they wouldn’t be able to identify. Things that are useful to a programmer in courses like algorithms and automata aren’t readily apparent but they instill a sort of subconscious problem solving pathway.)

This coming fall I will be a sophomore Computer Science major at Virginia Tech. Currently, I’m working as an intern for Lockheed Martin in Northern Virginia, and I’ve found this blog to be very entertaining and highly relevant to my [future] work and interests. I’ve done most of my learning in Java and a little C++, so I’ve taken to heart your (and everyone else I talk to) comments about learning many languages and keeping up with them.

More specifically, in regards to your thoughts on using nothing from college in your job, I’ve found that a lot of coworkers agree, but I would disagree. As of now, I’ve done a little bit of coding, a bunch of diagrams (UML, etc.), and a lot of testing code. However, 95% of this I learned at least a portion of in my classes from the past two semesters. If you asked me to do any of this a year ago, I would’ve been completely lost. However, a lot of what I am doing is applying the knowledge I’ve learned in different ways than what exactly I was taught and learning new tools in which to do it (we only covered UML class diagrams over a class or two, but half of my work here has been with UML). In that sense, I suppose that they are teaching me how to learn through what I’m learning. So…yes, they’re teaching me how to learn by giving me the necessary tools (both knowledge and application skills) to succeed.

I understand that my perspective will be much different from yours and many of my coworkers, but as a current college student, I’m using a lot of what I’ve learned for both the how and the why.

Anyway, sorry this is a little long, but I fit perfectly into what this post is talking about, and I hope these comments bring up some good discussion.

This is starting to sound a lot like a flame-war and after re-reading this post several times, I am really struggling to see where everyone is getting this from.

Taking a single sentence out of context is no way to formulate a coherent argument. Did I miss the part where Jeff said “no other profession is as important as software development” or “software development is the only industry that requires continued education”.

  1. Has software altered just about every industry and profession and how it is performed (from warehousing, medical, travel, etc)?

  2. As new software tools are developed, do those industries not continue to expand and increase in ability and offerings?

Software development and just about everything else are inexplicably connected now. If programmers stop learning to remain on the cutting edge how can said tools advance? It brings the whole machine to a stand-still or at least a slower pace.

Example:

Phil, you wrote “I hope my medical doctor is learning about all the latest medical research”. Me too. That is for sure. I was horrified to read last year about surgeons “googling” topics and items to make educated medical opinions (sorry I don’t a have a link for that story). However, I also later read that several new tools are being offered (possibly in conjunction with deep web search technology of non-public secure information) to assist Doctors to find medical information not just readily indexed by web bots.

Do you think a doctor realized what he was missing by Googling? Maybe. But while brilliant, doctors are still end-users. He knew there could be something better but not how to get to that information. A problem was identified and a tool was delivered.

This cycle of identification and development is what make good software engineers valuable and why learning can’t stop for software development. It’s not about software vs medical professions. Its if software developers stop learning tools drop off for engineering science too, so its imperative and downright essential for software devs to keep up.

Interesting article once again. I’m not terribly surprised you’re now including advertisements in the articles, but would you mind explaining why you’ve chosen to or chosen to now?

And perhaps this question will be answered in the above, but will this be a future occurrence?

It never ceases to amaze me how you manage to find time to post a well thought out, well written, and well researched and cited article almost daily - and you still program.

You should get paid for this :stuck_out_tongue:

Keep up the good work Jeff! Always a pleasure to read!

(Cool spidey pic too!)

Two word - Great Post!

Ian mentioned Doctors Googling for information and making educated guesses.

http://googleblog.blogspot.com/2007/06/this-blogs-mo.html

The above article touches on various subjects, but specifically what I think Ian was referring to (and more importantly why Doctors can now use Google as a reliable information gathering tool)
http://googleblog.blogspot.com/2006/11/health-care-information-matters.html

I too would find myself agape to know my physician was Google-Fu in preparation for a surgery, diagnosis, or the likes, but I also have a world reknown mechanic working down the street (literally) who uses googles and forums to flesh out ideas and tinkerings before working on a car. The guy’s an absolute genius, and if he’s using google for help, honestly, who shouldn’t be?

At least these doctors are smart enough to use all the resources available to them :slight_smile:

should someone coin the term “learnology”=learning to learn? Maybe there’s a better one?

I think this whole “your profession wouldn’t exist without mine”-game is dumb.

Oh by the way, I’m an electrician. Nobody would get any work done if it wasn’t for me!

Seriously though, change happens in most fields. In some fields, more rapidly than others. My colleague has 40 years behind him as an electrician, and he likes to tell stories about how they worked back then. Much of it can be likened to writing hex and working with 100k memory, compared to how we work now.

Couldn’t agree more. I may be a slightly off topic, but, as the father of a 2 year old and another on the way, I want the education machine AND PARENTS to do more to get kids to see learning as an enjoyable experience. Knowing how to learn without the desire is also a travesty.

Does anyone else see this as mutually exclusive to the whole standardized testing/rote learning of recent years?

I learned the web at MIT in one Philip Greenspun’s bootcamps. It was an incredible learning process and what I remember most is when Philip told us the the only difference between most of the bootcamp students and the regular MIT students was that they (MIT students) had learned to break a problem down into small, solvable pieces. Whenever I get stuck, whether it is a programming problem or something that I’m trying to learn I just break down more and more until I get it.

I wish I knew about flash cards in high school and college. I went back to get my CIS degree and got straight A’s and was working driving as a legal courier at the same time. I could hold up a flash card while barreling down the freeway.

But I digress. I think underlining stuff in a book overwelmes me when I try to go back over it and I don’t focus on each item correctly. But a flash card accepts no excuses–you either answer it right or you don’t. AND, once you are sure you are going to answer it correctly, then you can remove that card from the stack instead of having it waste your time like an underlined item in a book.

Very true. This doesn’t count, of course, for lower schooling, but it is true for everything else.

one of the best engineering schools in the country. (MIT)

It is the best, and not just in the country, but in the world.

“Boris the Spider” - hahaha. That’s real '70s humor there.

You know, I completely agree with you regarding “Learning, or Learning How To Learn” but I’d say College can be completely useless, just for the points that you mentioned.

I am a young guy, and I work for a development firm. By working, I mean getting payed, and not an intern.

Guess what? Interns have trouble getting my job, and they come with a degree after 4 years of Computer Science.

I dropped out of high school, and I never even went to middle school. Throughout those years I simply read books, and taught myself. For the most part, you could call it homestudy.

I’d say, you’re right, it is very important to learn how to learn; it shouldn’t be in college though. I learned at a young age, and I believe that should be the standard. When I did attend High School, it was completely useless, and I am glad I dropped out. I now make more than anyone I know my age, and a lot of people that are older than me.

I really think college is useless as well, it’s only going to put me in debt, and anything I’d study would be practically useless.

Anyway, I’m only giving my two bits of experience and how well I’m doing because of it.

I think this is a brilliant post.

In high school I took many stabs at learning different things, including programming, only to fail miserably. Once I got done with college it was very easy to pick stuff up and learn lots of new things. I also have not used anything from school in my job but going through 4 years of Chemical Engineering certainly made it easy to teach myself things, or at the very least know what tools I need to learn new things and how to seek them out and apply them.

Interestingly there is a great deal of similarity between Chemical Engineering and programming, which are basically just two approaches to problem solving which is a very important skill to have. If you ever need something to stimulate your mind, get a textbook on any subject, and turn to the problem sets first and learn how to solve them from there. You will learn very quickly and can learn to bypass the stuff that you won’t need, kind of like when your assignment is to solve 60 math problems when you have figured out the method after problem 20.

Earlier this year I tried to articulate why I thought learning to learn (though that term is much more apt than any I managed to come up with) is more important than simply learning some skill. It’s certainly been invaluable to me.

http://unethicalblogger.com/posts/stephen/educating_engineers

Yikes, how did I miss so many mistakes when I wrote that post …