The Tyranny of Youth
October 22, 2015
I’ve been thinking about youth and seniority within the tech industry a lot recently. I visited my Father and my Stepmother recently and pulled out from a cupboard was a photo album of their first Christmas in California, a Christmas I shared. I was surprised to find in it, this photo of me as a 13 year old:
Sat by a roaring fire in California (the bay area gets nippy at times if you’ve never been), I appear to be sat there engrossed in a book that frankly was already verging on being out of date. I loved it.
On my return from my most recent trip earlise this week, purely by coincidence a parcel had arrived which contained a copy of my first ever book on coding, which I had started reading just 20 months before the above picture was taken. Here is a sample:
For a long time I have thought about how an 11-13 year old today would not be able to do this. We have initiatives like Raspberry Pi and many learning resources for Python, but it’s a different World. It bothers me, but I’ve yet to figure out what to do constructively about it.
And then as with all occasions when I start to dawdle into reminiscing about my own past, my thoughts wander to my own age. This happened when I was 20 and thought I was not doing enough compared to some peers, but has wrankled more in the last 18 months.
In today’s programming industry terms I am old. At 37, in startup years, I should be off doing management and should be feeling guilty I have not retired into venture capitalism with a few million in share options under me. Done that, been there (except for the millions), sort of enjoyed it, but am now much happier writing code full-time.
Old developers are hated in this industry. Firstly, we typically cost more because we know more, and secondly we seem to be considered “less productive” or “more unyielding” to other people’s ideas.
As I started to think about it more, I realised that our industry is broken in that it only seems to value people between the ages of 18 and 27. Outside of that group, it’s assumed you are either too young to understand or too old to be productive.
And then I looked back at that photo and another one from this trip with my Father:
By my reckoning Dad is in his mid-40s in this photo. Discretion will prevent me from revealing his precise age.
I think he had been programming professionally for less than 10 years at this point - he had started at about the age I am now, after a couple of decades in the RAF and as an accountant. The technology he specialised in feels similar in its description to Ruby on Rails today, except it could build enterprise application on mini-computers that ran multi-billion dollar companies.
Back in the 1990s then it seemed that age was not an issue, just an ability to do the job.
Yet somehow, in the rise of the dot.com bubble and the years that have followed, this dialogue has arisen that older developers can offer less than their younger counterparts.
This is nonsense, and our industry needs to take stock.
Linus Torvalds and Theo de Raadt are in their 40s. Richard Stallman and Yukihiro Matsumoto (“Matz”) are both in their 50s. Larry Wall is in his 60s. Donald Knuth is in his late 70s. Fred Brooks is in his 80s. I challenge you to find me a better programmer in their 20s than any of them.
They’re good at what they do because of their age. Their experience has led them to see many ways of doing things and seeing the few that are worth persuing. I recognise this now, I feel it in myself. Since returning full-time to coding I feel like the most useful thing I will do for the next 30 years is write code, and help younger developers see their way through to a better way of doing things.
So why is there an implicit assumption in the job market that more mature developers are less productive? I think it’s for a few reasons.
Single people - it is said - work longer, which is mistaken as improved productivity. Despite study after study showing that long-term an 80-hour week is no more productive than a 40-hour week (due to burn out), we still value people who are in the office for 12+ hours a day, 6 days a week. Particularly startups.
Then there is the fact that the youngsters themselves believe it. I went back and looked at the tech my Dad was using in the 1990s and realised we have been trying to reimplement it in Ruby for the last decade, but not as cleanly. We have ignored the lessons learned from 1960 through to about 1995 and decided that was “old” and “not where the industry is”.
Yet, recently, people have started to talk about the Gang Of Four book. They’ve been looking at how the old COBOL systems managed to stay up. Lisp and its younger siblings are trendy again. We have much to learn from an older generation who the web startup merry-go-round decided could offer little.
We are reinventing things we don’t need to. Most Ruby developers have read Sandi Metz’s work on Ruby, but seem to ignore the fact she learned most of it whilst writing Smalltalk. Go and look at Smalltalk. For the love of God, please, read up on DDD (recent) and marry it up with a fortnight of playing with Smalltalk and then come back to Ruby: you’ll be a better developer by the end of it.
The industry media also favours the young. Gates was young. Jobs was young. Page and Brin were young. Dorsey, Williams, Stone and Glass were young. Zuck was young. The next one will be young, right? They make dramatic headshot cover stories of Time and Fortune magazines.
But it’s a myth.
Most of the value programming provides to the global economy is created by older minds and away from the hot startups. The billion dollar unicorns the tech industry covets are an abomination to the normal flow of business. Don’t believe me? Twitter has a market cap of $19.5bn right now. If somebody bought 100% of the stock at the value today, it would barely make the top 10 of M&A deals this year. We’re small fry.
I need to ruminate on this some more, I don’t have answers yet, I just thought I’d share where I’d got to. On Monday I go back to work and perhaps given it is the most open-looking company I’ve ever encountered when it comes to breaking down barriers I can discuss this with colleagues and get a sense of where to head next.