Overpass Experiences

The Eric Wroolie Blog

  • Facebook
  • Google+
  • Linkedin
  • Twitter
  • YouTube
  • Blog
  • Social Activity
  • Videos
  • Overpass Apps

Powered by Overpass Apps

Software Development Skills like Currency – And the value is always falling

April 19, 2016 by wroolie Leave a Comment

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.

Filed Under: Software Dev & Productivity

Sometimes you just gotta move on.

September 21, 2015 by wroolie Leave a Comment

It’s a little embarrassing to admit this, but I’ve only had a couple of job promotions in my life. They were all in the Army (going from Private to Sergeant).

Well, actually, I was offered a sideways promotion from “Web Developer” to “Web Developer and Customer Manager” based on my ability to handle customer support (“I’m sorry, this job doesn’t come with a salary increase”), but I declined it.

The reason I don’t get promoted has never been because I am incompetent (at least no one has ever told me that). The reason is usually that I fit so well in all the jobs I’ve had. I work hard and they can’t afford to replace me. So, eventually, I leave.

Now, don’t get me wrong. When I say I don’t get promoted … I’m not saying I haven’t grown and I’m not saying my pay hasn’t increased (it has— a lot). I was a junior developer and now I run a company. But, each time I grew into a new position, it was the result of moving to a new job.

The cycle is … start a new job where I am in slightly over my head. Then, work harder than everyone else to prove I belong there. Finally, come to the conclusion that there is no more growth possible in that job and leave before consumed with boredom. That cycle generally takes about two years— sometimes longer (but the longest I’ve held a job outside of the Army was 3 and half years).

I don’t blame anyone for not promoting me, by the way. Back in 2003, I remember reading Tom Peters’ great book “Re-imagine” and the quote “Only in business do we promote the most talented violinist to conductor.” This makes a lot of sense. You keep talent where it does the most good.

I also read a book way back in the day called “The Peter Principle” which was very funny. The Peter Principle states that people rise to their level of incompetence. Basically, when you are good at your job, you get promoted. You continue to get promoted until you are not good enough to get promoted anymore and are generally incompetent in your job. So, the principle states, business is filled with incompetent people in senior positions who are only there because they can no longer get promoted higher.

So, I never expect anyone to promote me. I mean, I used to wait for it. I used to try to climb the ladder. But I stopped. I find it much easier to decide myself what I want to do and grow towards that. I refuse to wait for my “superiors” to bestow a job upon me. I have to force my way in and prove I belong there (until it is time to leave).

I think the same way about my education. I would never rely on my employer to train me. I never give that much power over my future. My best employers understand that. But that means I work longer and harder than others and I spend a lot on computer books and courses.

I hear this all the time. Someone tries to impress me with how long they’ve been at a company. “You don’t understand how things work around here, Eric. I’ve been at this company 15 years and I can tell you that we usually blah blah blah“. Or, “I wanted to learn .Net (or Mobile or Cloud), but I couldn’t convince my boss to go for it.” Sometimes you just have to take ownership of your own career.

So, occasionally, I promote myself to a new position. And sometimes it’s scary. It can also be very lonely.

I don’t believe you can rely on others to give you permission to move forward. Sometimes, you just have to leap.

No one wants you to be miserable. They want you to stay doing what you do well. But it’s not their job to make sure your career progresses.  I can remember each day hoping someone would “see the greatness in me” and offer me more responsibility . . . but the process either was not going to happen or was too slow for me to wait.  Sometimes, it’s up to you to make yourself miserable and to decide you want more.

Sometimes you just gotta move on.

Filed Under: Work

Writing code always results in something – a product or knowlege

September 1, 2015 by wroolie Leave a Comment

It’s been a long time since I’ve written here. I write at least one blog article a week these days, but it is usually over on the Overpass blog. Things are going very well with Overpass. I mean, sometimes it’s a rollercoaster, but it’s heading in the right direction.

Right now, it is 4:52am and I’ve been up for nearly an hour. My 4am regime has slacked a bit during the summer … it’s tough when school is out and all schedules change. But, now that it’s September, it’s time to get back into this discipline of waking up early.

I’ve been writing a lot of code lately, which is fun to a point. Creating software is a lot like learning a language. When you start a new project, you make massive gains and it feels like you can write an app in a few hours. But then you get into the minutiae and things slow down. Many projects don’t make it past this point, but the learning always helps. Everything I learn while creating an app contributes somewhere … even if the app never goes live. I’ve been in so many consultancy situations where I used something I’ve coded before and applied it in some situation that I had not foreseen.

I think that’s one of the major reasons I’ve done well as a contractor. People think I am smart … which is definitely not always the case. But I do have a lot of experience. Most of it doesn’t come on the job.

This is one thing I notice in junior developers. They are tied to their outcome and only learn what they need to know. If you only do it for money, this is how things work out. You are hired to perform a task and you learn what you need to for that task. But when you code for yourself, you explore more of the possibilities.

My hard drive is filled with half completed projects that were going to be the “next big thing for Overpass” but never made it past the tedium of minutiae. The ideas weren’t strong enough (or the topic was not interesting enough) to continue on with them. But, I learned loads from them. I don’t get a book out and start reading because I think it will get me a job in the future …that would be too boring and feel too much like work. But I will read up on a technology if I thought I can make something for myself. This is where the real learning happens … it’s like exploratory surgery. Every time I start a new project, I have high ambitions. But even if the project fails, I learn tons from it. It costs me time and effort … but the education gained usually benefits me later on a client project or another project for myself.

The difference between your own projects and client projects is that client projects have to get done. You’re being paid to produce, so you need to ship. Even if the code is not the cleanest, you need to deliver.

The danger of starting your own project is that you want perfection. I see this everywhere. So many people are working on an app and far fewer have released an app. Releasing is scary … an app can always be better.

I am usually successful with my own project when I treat it like a client project. It must get done.

But, when you tinker away in front of a code editor, nothing gets lost. If the end result is not usable software … it’s knowledge you use later.

Filed Under: Work

  • 1
  • 2
  • 3
  • …
  • 37
  • Next Page »

Recent Posts

  • Preferring to Be Alone
  • How to Kill Someone’s Dreams
  • Are any Puzzle Pieces Missing?
  • Software Development Skills like Currency – And the value is always falling
  • Delegating and Giving up Control

RSS From the Overpass Blog

  • Since Apple Business Manager, Enterprise Apps Are Difficult September 11, 2019
  • Connecting Students Through School Mobile Apps May 14, 2019
  • Can You Make Money with Business Apps? April 5, 2019
  • Is an iPad App Developer the same as an iPhone Developer? February 21, 2019
  • How Apple IOS Developers need to think differently February 13, 2019
  • The Do’s and Don’ts of Enterprise Mobile App Development February 11, 2019
  • Premier mobile app development company expanding its market reach February 1, 2019
  • Overpass Apps is making waves in iOS and Android designs in the UK January 30, 2019
  • Construction Apps From Top UK Construction Companies June 7, 2018
  • Infographic: Top 5 Apps with 1 Billion Downloads June 5, 2018

Tags

Anti-virus Army Days ASP.Net Automation Baseball Beijing BR China Chinglish coding Cornbury CSS DLI Eric Wroolie Family Gym Holiday HTML5 IE6 Line Break Misc. music MVC Framework Nike+ Overpass PNG PowerShell Redcloth Ruby Runkeeper scam Skype Spotify Superpreview Textile Transparency Webby Web Design Web Standards