Thursday, May 13, 2004

Shelf life of a developer

I work as an independent consultant in the I.T industry. I specialize in Java Enterprise development and have been working in this industry for a decade now. I am compensated very well for doing what I do. I earn more than most of my friends and peers, I can afford most luxuries (within reason of course..no Carrera GT for me) in life. So why am I so despondent about my career?

Simply because I honestly have no faith that I can stay employed in this field and make a decent wage, til the age of retirement. It's not that I have no faith in my skills, my skills are totally irrelevant in this regards. What we produce is quickly becoming a commodity. In less than two decades, we've seen our trade go from a highly specialized one to a profession that has practically no barriers of entry.

A large part of this can be attributed to the ease of information exchange across the Internet. Without the ability to download entire development kits, without free technical support found in forums, witout mailing lists and newsgroups to find answers to our problems, we'd still be where we were a decade ago when vendors charged exorbitant amounts of money just to buy the tools to develop with and you had to PAY for help. I argue that this "free" phenomenom has tainted our workforce with less than competent people. Yes, there are many smart people who got their start by way of this free information but you'd be hardpressed to prove that those outnumber the number of incompetent programmers who rode in on the dot com wave. Programming isn't simply an exercise of using an API to write a program. There is the whole aspect of analytical skills and the discipline of problem solving that you don't obtain from the Internet. These skills are what separates the good programmers from the bad ones. Without a governing body to uphold standards, our workforce is watered down with people who lack these disciplines.

Ok so if I have these problem solving skills, etc. Why should I be afraid? Profit and greed that's why. Nowadays, companies are so enamoured with profits and short term stock prices that this addiction to short term wealth breeds a corporate culture that disregards long term planning for the well being of the company. Good products and building for the future is not the norm anymore. Cheap costs, high margins and speed to market are almighty. Ok ok ok, but why are you so paranoid about your job as a developer?!? Because greed means companies would rather hire a lower skilled, lower paid programmer to do the same job. Because lower pay means they can still screw up 3 times before getting it right and still save money in the end. Because I can't compete with the hordes of graduates coming out of school or offshore.

To exacerbate the problem, everyone one of us 30 something year olds thinks we should be the Architect or Technical Team Lead in our company. Well hate to inform you but, there aren't enough of those positions to go around.

So how much longer can we survive in a market with so many dynamics working against us? I'd like to switch vocations but I've already been spoiled and it'd be difficult to find a new career that rewards me so generously (even more difficult to realize that it might not happen and I would have to downgrade my lifestyle).

2 comments:

webrouter said...

Wayland,

In the game of increasing the worth of one's services in the face of a growing oversupply of labour ... past some point one simply can't increase one's worth to the client while continuing to restrict oneself to being hired as a body to do development. Traditionally the solution is either using your experience to direct a team of developers and bidding for entire j2ee projects, or creating a j2ee solution and selling ones expertise in implementing it. Both imply evolving from a contractor to a consultant.

Unfortunately despite having read the book "Millon Dollar Consulting" I haven't found a successful answer to the problem of maintaining and increasing ones value myself. For whatever reason the j2ee/EAI market that I specialize in really seems to have a strong tendency towards body-shop contracting. Bodies get cheaper with over-supply. Figuring out what kinds of services or solution one can offer in order to take this next step towards protecting one's value is difficult. Any ideas?

Wayland Chan said...

webrouter,

Still getting used to this blog thing...I didn't even see your reply or else I would have responded earlier.

Your point about leading a team of developers proves my point about the thirty-something yr old generation all wanting to be team leads or architects. If there were that many available positions, we wouldn't be having this conversation would we?

After giving it more thought and taking a look at the organization I'm in now. I think the best step we can take is to stop trying to sell ourselves as technical gurus and instead, focus on domain knowledge with technical skills that complement that knowledge. I mean, how often is it that a project fails because of a technical problem? Now contrast that to projects that simply don't deliver the appropriate solution to the end user, or suffer endless delays because of requirement changes that require redesign?

This doesn't apply to every industry. If you work in a company which resembles a body-shop as you say, then there probably isn't alot of complex business knowledge. ie. there isn't alot of 'business' you need to know to write a shopping cart for an online store neither does your standard CRUD application.