Saturday, November 21, 2009
 
 
 
Featured Articles
 
Featured Jokes-Humor

Partners


Reading Article
Search for  in  


IT Programming: Smarts vs. Skills

Author: Steve  Posted: March 21 2006  Word Count: 635 words  Read 3466  Rating:  (2.0)  5 Votes
review0 Comments  email E-mail to a friend   save Save to My Quicklist   printl Print article
 Vote this article
If you need a cornerback for your football team, of course you want someone who's in outstanding shape. But they also have to know how to play football -- and in particular, how to play cornerback. Great football players can sometimes play multiple positions, but most positions aren't naturally fungible; you can't usually take an offensive lineman and make him a great cornerback or quarterback.

There are some parallels here with finding great programmers. You want people who are smart, and also who have common sense (both the regular kind, and the software kind.) Smarts and common sense are equivalent to being in good shape, and perhaps having good reflexes.

But football -- well, if you know anything about American football, you'll know that it's a pretty rich sport. It's more like playing chess than playing soccer. It has elaborate rules; simply knowing the edge-case rules in the NFL rule book is a significant feat. It also has elaborate plays with amazing complexity and diversity, even though it just looks like guys hitting each other for 10 seconds at a time. And football has traditions, uniforms, statistics, all kinds of different coaching roles, referee organizations, tournaments and championships, aftermarket products, games and video games, specialized recruiters, specialized announcers... Football is a way of life.

So for that cornerback we need, is it good enough for him to be in good shape? Hardly. Maybe it's sufficient for a position on a high-school junior-varsity team, but Amazon's supposed to be more like the NFL than high school J.V., isn't it? I think so.

We hire for smarts and for skills. Well, we try, anyway. Sometimes, in a pinch, we'll settle for one or the other. Our hiring philosophy is that if someone is smart and motivated, then they should be able to make up for any particular skills they might be lacking, provided they have "enough" of the basic skills according to some ill-defined but hopefully intuitive heuristic.

As it happens, we don't get much time on the job to improve our skills. For the most part, it's up to us, as engineers, to take our own training into our own hands. Yes, there's some training, and there's some mentoring, and there are book club discussions and so on. But in the NFL, people practice daily. That's what practicing is all about -- doing things repeatedly, daily, habitually, to get better as fast as possible.

I doubt we or any company is likely to set up organized daily practice for their engineers. In fact I personally don't think it should be necessary. The most important thing you learn in college is how to learn on your own. They teach you how to research, and how to apply the scientific method and question your own findings, and they give you the fundamentals of math/language/social sciences/etc., so that when you want to learn something, you know how to figure it out for yourself.

Unlike the NFL, programming is a profession for which practicing is usually most effective if you do it alone, or at most with one other person. It requires quiet concentration and deep thinking, and you absolutely must solve the problems yourself, rather than just seeing the solution done for you. So even if we wanted to set up organized daily practice, most of it would be spent reading or programming quietly.

In a nutshell: if you're a programmer, you need to take matters into your own hands, and train yourself.

Programming happens to be a discipline in which you can squeeze practice drills into nooks and crannies in your schedule; you don't need to get into uniform and allocate a 3-hour session for it. That's why I'm offering you these practice drills. It's so you can practice the things you need to be good at in order to play on an NFL-quality servware development team.

Author/Poster Website: http://www.cabochon.com/~stevey/blog-rants/
 Vote this article
printl Print article   email E-mail to a friend   save Save to My Quicklist
 Other Programmers Guide & Advice Articles
 Featured Articles In Software Development

Post a Review/Comment
Ex-designz does not allow anonymous comments. Registered members can login to participate. Registration is free and takes only a few seconds.
Your rating: 
Your comment:Please try to be objective

  


HOME | ARTICLES | MUSIC | DOWNLOADS | LINK DIRECTORY |  GAMES | TEST-QUIZZES | SITEMAP | ABOUT | HELP
Copyright © 2000 - 2007 Ex-designz. All rights reserved. Website Developed By Dexter Zafra of Myasp-net.com
Link to us | Advertisement | Contact us | Privacy Policy | Terms of use | Accessibility