Archive for the ‘Thoughts on Software’ Category

Thoughts on learning technology

2 Comments »

Learning and staying current with technology is paramount if you’re in the software engineering field so much so that book publishers like O’Reilly have made millions from this.  As a software engineer myself I find it hard to resist the availablility and consiceness of the technical information found in these types of books.  But try to resist and learn technology the hard way.

What type of software engineer am I?

I think you have to ask yourself this question in the context of a particular technology and wonder… Where do I want to go with it?  Do you want to write a small developer tool or a full-blown enterprise solution you wrap a business around?  To help answer these questions try out the following list of technical aptitude levels on a particular technology you’re experimenting with.

  1. Novice
    • experiments with the new technology and decides to either forget about it or become better with it.
  2. Tinkerer
    • has experimented with the new technology and decides to poke and prod to see what it’s capable of.
  3. 15 minutes of fame
    • has tinkered with the new technology and has created a cohesive, useful application of it.
  4. Tools Developer
    • has tinkered with the new technology and wants to provide other tinkerers with their “tinkerings”.
  5. Application Developer
    • routinely creates applications of this new technology as a(an):
      1. Open Source Developer
      2. Application Developer for Profit
  6. Consultant
    • has routinely created application with the new technology and now consults on this technology soup to nuts.
  7. Author
    • has been a consultant on this new technology and wants to spread the love through paper and easily downloadable ebooks.

You begin as a novice trying out the new technology and you become either a tinkerer or an application provider of it.  If you’re a hard-core tinkerer you may have you’re 15 minutes but you’ll never be an application developer.  Only when you’ve mastered the basics and are into the advanced do you get to build applications.  From there you can either do it for free or do it for profit.

Natural flow of Learning Technology

The above breakdown of technical aptitude levels show what it takes to become fluent in a new technology.  You cannot right applications unless you have tinkered for a bit and have created something of use.  However, you can stop at any point you would like!  But!  You cannot jump around the aptitude ladder, because that would disrupt the natural flow.

And it plain, doesn’t work if you want to learn this new technology…

Frustration and Summation

Ahhh, I get it!  That explains why some technical authors write garbage books!  So I think we put away our books (and rm -fr /ebooks) and we lock ourselves in a room until we go from Novice to Application Developer.

Where we go from there is a choice I leave to you.

– Neo, The Matrix(1999)