Back to school

19 September 2007

I've noticed since I got back from my vacation how quiet it now is during the day. All the kids are back at school and in my neighborhood a welcome silence envelops the street during the heat of the day. Mind you, the traffic during the early morning and late afternoon is a sight to behold as parents drop their kids off at school or collect them, but during my productive daytime hours, it's quiet.

So the little blighters are back in classrooms learning English and Mathematics and Civics ready to become the adults of tomorrow. What about us adults? Especially those in professional employment; not just doctors and lawyers, mind you, but also software developers and designers and architects. Shouldn't we be learning still?

My wife, who is a prosecutor, has to pick up Continuing Education credits in various aspects of Law, including the important ethics credits. To maintain her right to practice law she has to get so many credits per year, and they expire after three years. To get a credit you have to attend a lecture or seminar of some aspect of the law. In fact, she's just come back from a conference where she picked up the remaining credits for this year.

Ditto for professionals in the medical field as far as I understand. But we software people? There's no (real) professional body, no (real) requirement to stay on top of your profession. In fact, I would venture to say that the only reason some people keep up with new technology and ideas is to put them down on their resume (cynical, moi?). I still feel that the Microsoft certifications are more about learning stuff by rote and getting the initialisms on your Curriculum Vitae than any real connection with what you may see or do in your job (man, I'm being really cynical today).

And I'm staggered at some of the emails I get where the writer hasn't the foggiest about some standard computer science-y topic. No, I'm not talking about the pros or cons of B-trees, say (a subject still dear to my heart), but about people who discover regularly every now and then that fractional decimals generally aren't exact in an IEEE floating point variable. And that's even before you consider those people who have highly incorrect assumptions about Windows; topics that Raymond Chen does so well at debunking and explaining. Case in point: I was talking to a friend who was saying that an architect at his company was trying to convince him that many threads in a single process could lock the same mutex at the same time.

Look, this stuff isn't rocket science. It may have been at one stage, but that was an awfully long time ago when computers occupied entire buildings and you had to wear a white lab coat to program them. The basics of computer science just aren't that hard to learn. You certainly don't have to learn the concrete mathematics needed to prove some of the assertions; just accept the conclusions and move on. Ditto for Windows concepts and CLR concepts. There are any number of good books that talk about these things.

We, as a group, must not only learn about WCF, WPF, Silverlight and any other fabby-dabby technologies coming down the line, but learn about the basics of our business. That includes not only algorithms (my favorite subject), but also things like why they're called lambda expressions (what's lambda got to do with it? And what's this about a church?), why they're called regular expressions (what's regular about them?), why C# is moving to a functional programming paradigm (it is? and what's curry got to do with it all?), why multithreaded programming is hard (bwhahahaha!), what is the difference between latency and throughput and why is matters in our AJAX applications, and any number of other interesting basic questions.

So go on. Think of something that's puzzled you for a while, do some research on it, learn about it, so that you understand it enough to even write a blog post about it. And then do exactly that and let me know. Let's learn!

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.