I can remember a few years ago having an argument with a junior developer about how long he was taking on a simple task. At the time, I was a contractor working at one of the major investment banks (Very highly paid, I might add). I had given an overseas developer a task he spent more than a week on (with a daily “Where is this?” from me— and many more people chasing me from higher up). Eventually, the developer and I started up a screen share session and I completed the task in less than an hour while he watched me do it. This happened a lot but this case was extreme – one hour versus one week plus (he was still a “deer in the headlights” and paralysed with inaction). I asked him why I could figure it out quickly and he spent days hemming and hawing over it. I mean, he had enough time to try hundreds of possible solutions but spent the days Googling for the perfect solution. He said something very funny to me:
“Well, you have 12 years experience in IT. I only have 5 years.”
It was such a strange thing to hear. I didn’t know what to say. I wondered how many times he told himself this. I also started to see why people were coming to me when they were stuck expecting me to fix everything for them when they had all the same resources I did. I didn’t have anyone to go to so I figured out everything out on my own. But they all had me. In fact, I had been in many meetings with senior managers where it was explained that a project was held up because a junior developer was waiting for my time to help with an issue he couldn’t figure out.
I had 12 years experience, the junior developer had said back then. He only had 5. Let me tell you why this was so ridiculous.
At the time, we were working with C# (a programming language). I had been working with it for 2 years. I read a few books and did a lot of projects on my own. Before that, I was working on ASP with VB Script almost exclusively. This is all way before I started with apps. But the experience kept changing and was rarely transferrable. In fact, I worried that someone who was working with C# longer than I was would do better than me. Strangely, that’s never the case.
This is one of the big problems in IT. We quantify the wrong things.
I’m a big believer in experience. Experience is the reason I get paid what I do. But, despite what it may look like to outsiders, it’s very difficult to accumulate skill over a long period of time. Technology changes so much, that’s it’s very hard to keep up with it all.
I like to compare IT Skills with money. The more you learn, the more you earn. The problem is the currency keeps changing. You start to realise that the currency you’re earning starts to drop in value over time and you need to start earning a new currency (and learn new technologies) before you go broke. I’ve met many developers who just complain (“No one is looking for VB developers at the moment.”) but the good ones start on something new. They also, to a large extent, move into an area where they know as much as the guy who just comes into the field from university.
This is scary, believe me. When your livelihood is with VB and you decide to move into C# (way back when), you go from knowing how to do everything to knowing how to do very little. Some things are transferrable, but surprisingly little. I’ve been through this a lot. Most recently, it’s with apps. I go from being the guy who knows how to do almost anything to being on par with the guy just getting into IT.
This is why the guy comparing our years of experience was so comical to me. In a way, he had far more experience than I did. What I had was confidence and no one to turn to.
It’s the same reason I give little credence to recruiters who try to sell me on a developer with X years of experience. It’s the reason I am never impressed with a developer who says “I’ve been with this company for x years and blah blah blah”.
Someone once told me that if you redistribute all wealth so everyone had an even share, in 10 years the distribution would be back to where it is now. I’m not sure if that’s true, but it sounds like it could be. Those who know how to make money can do it again and again.
I believe the same is true with software development skills. Once you know how to learn a software language and are confident that you have what it takes to learn it, it does matter how the value of your software knowledge drops— because you know you can always move into the next skill.