Disclaimer: I’m going on an uncontrolled rant here. Close this page while you still can.
I’ll be talking about my geographical region: Western Europe, where taxes are triple of what ends up on our bank account.
Reading advice: imagine me on a stage, wildly gesticulating while reading this.
I’m a software engineer, always have been, always will be.
Actually, no. Scratch that last bit. I’m not sure if I’ll be able to remain a software engineer.
I’m seriously debating my career path as a software engineer.
I’m even doubting the future of software engineering in general for my geographical region.
Why? What happened?
Let’s first look a bit at the past.
Geographically, my region is supposed to be a knowledge economy. It used to be a manufacturing economy, but because our taxes are so high, the wages, and costs became too high. the result is that nearly all manufacturing was moved to low-cost countries. *bummer*
That means a lot of people became unemployed, and do not have the necessary education to move into other roles.
So our government decided to put an emphasis on the knowledge economy.
People were encouraged to choose fields of study that would become more important in the future: Research, Development, Management, analytics,…
So we started training kids to learn how to code (CoderDojo’s), we’ve introduced re-education programs and we’re promoting IT to everyone!
Sounds like a good plan, right?
Except that these area’s don’t actually require a physical presence, because the result is virtual.
It can be done at the other side of the world just as well. That movement started already over 15 years ago.
Large corporations began moving their software engineering to low cost countries. Back in the days, this didn’t work particularly well, because the offshored workforce was too decoupled from the business. To put it bluntly: “They knew how to write code, not how to create software”.
*Notice how I speak in the past tense here.
Many corporations came back from that venture and said: “Never again!”.
Knowledge levels in those “low-cost-countries” have risen dramatically. We used to be able to mock about a bit, but let’s face it: those guys are now skilled, have a reasonable understanding of the business they are working with, and they are much cheaper!
The only advantage that us, locals, still have, is a better understanding of the culture and the customer’s IT landscape as a whole.
Cost is the trigger
This is were we bump into the age old misery of IT. IT is considered a cost, not an investment. 30 years since thought-leaders have been saying that IT is not a cost, but a competitive advantage, the corporate world has still not seen the light.
IT investments are still decided upon by procurement departments and the contract still goes to the cheapest, not the best.
You know those quotes flooding the internet about software and quality?
I can guarantee that 9 out of 10 companies will pick cheap and fast.
or this one:
The bitterness of poor quality remains long after the sweetness of low price is forgotten
Sure, but the person deciding on the cheap offer got his bonus and is long gone by the time the project goes down the drain…
You know I’m right!
You might, naively, believe that eventually, quality will prevail and you’ll be paid top notch for fixing the mess left behind due to bad decisions. But deep down, you know that won’t happen.
Actually, I’d even debate whether quality coming from low-cost countries is bad. It might have been 15 years ago, but surely, not today anymore?
Killing off our own chances
As software engineers, we have to stay ahead of the game to remain relevant. That’s how we can keep our competitive edge and still earn money. So let’s introduce a “new” technology which fits closer to the knowledge and skills of today’s youth.
*peut* issue! How can we improve adoption of this new technology? Customers perceive any new technology as expensive and difficult.
Here’s an idea: Let’s make it easier with the right tools, and explain to customers that graduates know this technology already, and can implement it at a much lower cost.
What were we thinking?! Now customers actually expect us to implement whatever new technology, at a third of the cost, because we should be using students.
So I threw this on twitter, and it made my feed explode.
Great news for the graduates. Not so great news for software engineers with 10+ years experience, because they’re all of the sudden too expensive.
And actually, while I’m at it, it’s not great news for our graduates either, because it’s great news for graduates in low cost countries.
That’s the thing with software. It’s virtual. You press a button and it’s shipped around the world in an instant, at no cost. It’s not like a prefab house that you have to move with a boat and put together on-site. (wonky comparison…)
So how do we go about?
I’m running the risk here of being a cynic, but I have actually put some serious thought into this.
As a pure developer, our chances are slim. we’ll experience an increasing competition in our local market from all the youngsters graduating IT studies, with heaploads of talent. At the same time, our overall region will be facing a though competition from low-cost countries that are becoming increasingly good at what they do.
So how can we still make the difference?
Well, for starters, we still make great IT Architects. We have a broad knowledge of both technology, functionality, business and economics. so we can put two and two together and move into a much higher view, guiding the overall IT strategy of companies.
But ask yourself: how do you become a great IT architect?
By having tons of experience as a software engineer/analyst.
So in another 10 years, the low-cost countries will have great Architects as well.
In other words, I can squeeze in another 10 years as an architect, and then I’ll need a plan C.
Well, in the current market, customers don’t actually like having long running development projects. they prefer to have an off-the-shelf semi-finished product which they can adapt to their needs. So the smart entrepreneurial Software engineer may create his own products and resell those to customers. The cloud based model (HCP for example) makes this a lot easier.
That means, becoming an entrepreneur, rather than just a developer.
But again, competition is stiffling, because 6 months after you release something, someone else will come up with something similar, which is slightly better and slightly cheaper. (App economy) So you have to keep on releasing.
Future of development
So I’m not saying development has no future whatsoever, but it’ll be very different from what we know today.
A freelance developer will have a hard time making a living, no matter how talented he is.
Succesfull developers will have to be more, than just developers. They’ll have to be architects or entrepreneurs. And that is no easy task.