No esta firmado ni fechado

No, I haven’t gone crazy with Google Translate (missing Catalunyan translations I see) and despite many years of Spanish (I flirted with a major in the language but then for some reason I settled on terse phrases and funny squiggles) I couldn’t have come up with this title all on my own. When we were in Spain, Christine and I visited el Museu Picasso in Barcelona; I love his work and visiting this particular spot was a highlight of our trip. I was quite moved by his art, especially Ciencia i caritat (Science and Charity). If you find yourself in Barcelona, you really should stop in!

Anyway, aside from being struck by what a feakin genius Picasso was, I couldn’t help but notice the number of students - art students - that were all over el museu. I know, it’s a museum and art students tend to frequent such places. Still, it got me thinking about how we teach computer science. Unlike artists, we don’t seem to spend much time looking at great code (let’s assume for the moment that there actually is great code out there). Of course this isn’t easy - most code is proprietary and safely hidden away behind obscure licensing agreements that few read.

Things are clearly getting better what with all that open source software out there and Microsoft keeps embracing various degrees of openness but do universities use any of this in their classrooms? When I got my CS degree, I don’t recall looking at any code - other than a fellow students from time to time. I know the counter argument - code and art are just different. Sure, people were actively “copying” paintings at Meseu Picasso and Museo Nacional del Prado but no matter how skilled, a copy of Goya’s El coloso isn’t a national treasure. However, a copy of Microsoft Office is, well, perfect.

I realize there are differences, but I couldn’t help but wonder - should we teach developers in a different way? Andy Hunt and Dave Thomas makes a compelling argument in The Art in Computer Programming that software development is more of an art than it’s often given credit for. What would happen if we spent more time “reading” classic code and working on kata? What if we started teaching Comp Sci more like art?

Part of what got me thinking about this is great piece written by Micah Martin called Jack and Jill. Essentially Micah is challenging the traditional notion of a four year degree as it applies to software developers in much the same way that Kathy Sierra does with her post Does college matter? I recommend you read her follow up: College matters…sometimes.

I’m certainly not advocating against a four year degree - after all, I have one! As much as I enjoyed my four years at SJU, I have to admit, little of what I learned in the classroom applies to what I do day in and day out (though the writing flags sure paid off!) I will say that my MSSE has proven far more practical however, if I had it to do all over again, I’d still take the same route. OK, maybe I wouldn’t start out as a chemistry major (though one of the best programmers I know is one!) but the four year experience is something that people shouldn’t discount.

There’s more to going to college than getting a job - at its core, a degree teaches you how to learn. In today’s economy, knowledge and skills are outdated in a matter of 18-36 months, maybe less. Ted Neward had an interesting comment in a session at No Fluff Just Stuff saying, essentially, that the half life of a speaker is about three years. During my undergraduate studies, I spent a lot of time on Unix machines writing C++ in a text editor - in the years since I haven’t used Unix or C++ (though I do occasionally program with a text editor). For those new grads out there - if you think getting your degree is the end of your education, I hate to be the one that rains on your parade but you are just getting started.

Of course there’s more to school than just book learnin. For many of us, it’s the first prolonged period where we are out on our own. Some take this too far and kill thousands upon thousands of brain cells. Still, there are so many important life lessons to be learned on a college campus and the vibe, the energy of being on and around a typical university is palpable. But still, I just can’t help but wonder - is there a better way?

What do you think? How should we create great developers? Oh, and in case you were wondering, no esta firmado ni fechado essentially means, we’re not sure when he painted this and if you do visit Meseu Picasso you will see this sign. A lot.

3 Responses to “No esta firmado ni fechado”

  1. Andy Atkinson Says:

    I agree with a lot of what you said, based on my experience as a [6th-year] college senior and intern. Another reason that 4-year degree is necessary is to land you a good internship. I don’t think any established for-profit business would look at a young person without a 4-year technical degree, to compensate for the lack of experience. This part has me scared though:

    > For those new grads out there - if you think getting your degree is the end of your education, I hate to be the one that rains on your parade but you are just getting started.

    But I think that if you truly are interested in programming/IT, whatever (for example), then the type of learning you do post-graduation will seem relevant and will be more exciting (and thus easier to digest) than the theoretical stuff students are subjected to at Universities.

  2. Nate Says:

    Andy - thanks for commenting! College degrees are still the norm in our industry and likely will be for the foreseeable future. At SJU I worked in our IT department with some people with two year degrees and some of them just couldn’t fathom why I would spend so much time and money on a four year degree. At the end of the day, we could both do *that* job - but when it comes time to change, to learn something new, the four year degree kicks in.

    We’ve come to think that college = job and that’s not the point. You are learning how to learn and that will serve you well. I hate to admit it, it doesn’t stop when you graduate. The delivery mechanism changes though - instead of spending 4 (or 6!) years learning something, you’ll take a week here, a few days there. You’ll also find that YOU become a lot more responsible for your education. Even in college, a lot of what we take is prescribed for us. In the coming years, you’ll learn from books, magazines, presentations - that kind of stuff. You’ll find a lot of “life” is ad hoc learning. Enjoy the process, don’t fear it!

    Don’t knock theory too much - yes a lot of what you’ve been subjected to isn’t “useful” but it sneaks in - you don’t even realize that foo class is helpful.

  3. ntschutta.com » Blog Archive » The Art In Programming Says:

    […] If you’ve read my blog for any length of time, you’ve probably seen me reference (here and here) The Art in Computer Programming by Andy Hunt and Dave Thomas. I first encountered this piece last year when Dave gave a fantastic keynote at NFJS so when I saw this post on Andy’s blog last week I had to point to it. DeveloperDotStar has taken their work and added links to the art mentioned throughout - it’s almost as good as seeing Andy or Dave present live…almost! […]

Leave a Reply