rulururu

post Learning the technology du jour

February 5th, 2008

Filed under: misc — mike hall @ 2:26 pm

Aaron Lerch recently talked about not being able to keep up with new design technologies and programming techniques and everything else new that comes out each day. I definitely know what he’s talking about since I often feel that I need to use every free moment I have to read some technical book or blog post or listen to a podcast. Basically, I can’t waste any time so that I don’t fall any further behind.

But at the same time, is trying to learn everything just counterproductive? Will it make us all jack of all trades and master of none? Will it allow me to be able to shabbily program in just about any language from Javascript to C to F#, but not produce anything extremely cool like Google Earth or PageFlakes or a cool new IDS or the next great UI through Wii hacking?

Don’t get me wrong, I’m as guilty as anyone of this. I write about security, UI, Vista and programming all in the same blog. In the past couple weeks, I’ve been doing encryption schemes in Javascript and C#, I’ve looked at usability researching and I’ve been reading up on UML. Is that making me a more well rounded developer or just diluting my brain with non-important things?

What do you think? and do? Are you a master of all things C#? Do you only subscribe to .NET blogs? Or do you read Boing Boing and MSNBC and ASP.NET blogs and SecurityFocus?

1 Comment »

  1. The problem I face is that each day I realize more of what I didn’t know that I didn’t know the day before. As time goes by, I’ve realized more and more that I need to accept this and focus on areas that I find fun and interesting, but that are just barely in reach for me to understand.

    For me, that’s been forcing myself to start to move away from easier to read blogs and read things like IEEE Software articles and papers published by ACM members. There’s really good stuff in there, but it only comes out with investment of some serious time (I’ve had to read some things 5 or 6 times before understanding it).

    I suppose it’s making me believe that I really don’t want to become a super-expert in some specific technology like WCF, WPF, MVC, ASP.NET, etc. Doing so will only prove to be a victory for a brief time until the technology is superceded. I’d rather invest my time learning ideas that have a much longer staying power (algorithms, core principles like separation of concerns, zero knowledge proofs in security, etc). It takes time to apply the “test everything, and cling to the good.”

    The problem is that the latter is less esteemed in social circles because it might not help bridge “that last mile” between theory and the need to get the immediate job done of knowing exactly what class to use or what the third parameter of a specific function does.

    Clearly you have to have quite a bit of knowledge of a specific stack to solve a particular problem of the day. There has to be some balance. But the true test is the weight that you place on learning things outside the tactics of the day to day. This is what will last longer. Improper weighting is why we as an industry are still writing with Fortran style primitives, even when much more efficient (from a thinking/code perspective, not necessarily execution perspective) exist. It’s why just knowing how to spell HTML on a resume got you a high paying job in the bubble.

    But the good stuff lasts: have fun at your job; do what you find interesting, but always find stuff that challenges you in a way that helps you grow professionally and that gives you lessons that you can store away in your mind to keep the fun lasting.

    Comment by Jeff Moser
    February 7, 2008 @ 10:44 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

ruldrurd

Powered by WordPress, Theme based off the "I'm Okay" theme by Laurentiu Piron

Creative Commons License This work is licensed under a Creative Commons Attribution 3.0 United States License.


Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.