Saturday, May 2, 2009

What is the most valuable technical skill these days?

      I was asked by some good friend that works in IT industry, what is the most valuable technical skill these days... What do IT industry looks for in an employee? What do "Clients" ask for? What is the trend?

      You may laugh but, well... If I don't know I search Google, no? Yes I am THAT generation... But the best I can get is this and the last post on it was on 16 Jan 2007. Not even close to acceptable (and I got bored searching quite fast - yes, this is another syndrome of the same Google generation: if I am not lucky, I give up: one-shot-search).

      My friend is working in a corporation and he did so for the past 5 years gathering a serious experience in various IT areas. Even more, he comes with another 10 years of previous high technical experience, therefore, the skills he has are quite good. We keep in touch on various matters and this subject came up as a natural one in our discussion. I can fully understand his interest, but, trying to answer I realized there it is NO specific skill I will just mention without having serious doubts right after.

      A few things crossed my mind in the first second of articulating an answer: Open Source, SAP, Business Objects, SharePoint, Large Databases analytics, .NET 3.5, PHP, FLASH...

      Then I easily reached at "cloud computing" and it's Saas...

      But on each one I have serious doubts that that is the "hip". They all seem old to me the second I say them. They seem old and tired. Even the not-released-yet versions are so predictive that they seem old.

      Let's see. Back in the days, 12 years ago, the most valuable skill was "OOP". In EU, Delphi was incredible sustained and required by any IT-related industry. Everything that was not FoxPro was Delphi. Some "freaks" were still pushing C++ at that time, but they were just disconsidered by "the clients" and resumed to technical-related activities, educational or very-low level programming.

      Then VB came with its soooo easy and simple way of building things. Everything was switched to VB, US made a strong case in there, Office Automation becoming the most desirable skill.

      Then Java and shy WEB technologies...

      Then pure web, all of it, from HTML to XML to CSS to JS to... JSP, CORBA, MTS, JSF, ....

      Then .NET, PHP, MySQL, Databases... AJAX, web 2.0, ...

      Then libraries and whatever customizable components and business objects, smart and flexible platforms easy to adapt to "the client's" business or even better: already having the business rules embedded, just select what it is really useful and it is already there.

      But that's it... what happen in the last quite short period of time?... It seems that whatever is asked by "the client" already exists. They ask what exists. The sum of their needs is smaller than the sum of all IT systems on the market. The solution is there before the need is there... There are exceptions of course, but this is what happens in general these days. Maybe is the "crisis" but I don't really think so...

      So.. what do I answer to my friend?

      I think that the most valuable skill these days is to KNOW WHERE TO GET THE SOLUTION FROM. It is already there, you don't need to learn it, you don't need to program it, you don't even need to install it. It is just there. If you KNOW WHERE, then you just get it, link it with various other systems and there you go...

      So you need to stay on top of ALL free or commercial, published or announced systems, understand VERY WELL what they do and how do they do, how to link one to another, what protocols. Then meet the client and design the solution. You need to be a well documented integrator. That's it.

      I remember the university exams with all books on the table: whatever you might bring, whatever book you think it will help you to solve the problem and even more: internet available on your PC, just USE EVERYTHING available to solve the problem. Who is the student that gets the best reward? The one that:
      1. Understands faster the problem, reading through lines, reading the need without even having full specs.
      2. Is the fastest to find an existing solution or a group of solutions.
      3. Will interpret correctly the search results when he has no experience in that direction
      4. Knows exactly how to link the modules, object, platforms..., or even better: did that before.
      5. Executes it flawlessly and presents it best.

      So those exams were good for something after all... There you go my friend, what else?

.

No comments:

Post a Comment