Like Wine, Geeks Get Better With Age … and the Mentoring

Geezer Geek and Uber-Coder, Robert C. Martin of Clean Coder Blog shared some amazing statistics from StackOverflow. Peter Knego gleaned the information and originally posted it on his blog.   Here’s what we can understand from the data:

  1. Older programmers have higher reputations because they answer more questions than young ones.
  2. Robert doesn’t include this, but a higher reputation on StackOverFlow is also earned by getting the right answer more often, not just frequency.
  3. Most of the coders using StackOverFlow (and its widely used by most coders) are very young (under 6 years experience).
  4. Older coders have more time to answer questions … speculation … they are more efficient at their jobs and can make time.
  5. Older coders are not dropping out, but rather there are just more coders in the workforce.  The pie is expanding.
  6. Since the pie is expanding and getting younger, few teams have access to the experience of older coders. I think this is why they are hitting StackOverFlow for advice from older coders, who freely give it.
  7. There is a 1/16 ratio of Geezer Geeks (over 40) to Young Geeks.  We are a valuable resource since Robert, and experienced mentor named the ideal ratio of juniors to seniors at about 1/5.  That would reflect my experience too.

Here’s Robert’s most important insight and something the IT industry should take note of:

As a leader, that programmer can teach the team about principles, patterns, practices, and ethics. That leader can temper and curb the youthful enthusiasm that leads to premature decisions about frameworks and architectures. That leader can help to instill the value of refactoring and clean code, as a counterweight to the youthful thrill of gettingittowork

The great dopamine-rush and even high, which we coders experience is gettingittowork, however be in this industry for more than a decade and you’ll understand that maintenance-kills.  You can get crap code to work, but then find it blowing up several pushes down the road.  How many of us have been passed a system only to discover there is not even any comments, let alone a rational structure to the code.  Code produced at 4:00am after seven red-bulls is often crap code!  Well, not mine. 😉

Experience teaches that following QA standards, writing friendly code, learning how to create a logical maintainable architecture is worth it in the long run.  One of the most expensive decisions that the software industry makes is to hire a Young-Geek only team.  Hiring seniors, who’ve demonstrated a design to mentor, will pay off with much higher value code.  It will also, in most cases, allow juniors to advance along more quickly as coders.  While StackOverFlow is a useful tool, nothing beats one-on-one mentorship.

Send me more stories like this one, since my goal is to become a Geezer Geek Evangelist.  Who knows, maybe there is even a master’s thesis somewhere in all this.

Have you ever been mentored? Or have you mentored?  What was your experience.  Is there any training in IT mentorship?  What are the best practices which would be included in a certification?  Are there any IT companies you know which have grasped the value of multigenerational mentoring?

Going Legacy … A Geezer Geek Option

St. Grace Hopper, inventor of COBOL“Change or Die” is a common aphorism in the Information Technology Industry, however the truth is that some people did not change and they did not die. In fact, they make a wack of money maintaining legacy systems. I gleaned into this reality at a garage sale recently. A guy my age (late 40’s) was selling his late mom’s stuff, and I asked what he did. He replied “I’m a PLC programmer”. I scanned my memory banks and came up empty. “Logic controllers for industrial applications in super-markets and factories,” he replied. He smiled and said, “It’s easy. If-then statements, simple loops, and I make good money at it,” he said with a smile.

I looked up PCL (Processor Control Language) and saw that its been around since the late 1960’s so its uber-legacy. I wondered what the first programming language I was paid to code in was currently making and checked out what COBOL jobs are paying these days. At indeed.com the average is $88,000 USD!

I don’t regret learning Basic, PL1, Pascal, DB2, JCL, Assembler, Fortran, HTML12345, CSS, Javascript, JQUERY, PHP, MYSQL, SQL, and I know I’m leading a bunch out since I get bored quick.  After I mastered COBOL, I wanted to move on.  I do however understand the allure of legacy coding jobs, since it appears they pay well and could pay even more as old geezer geeks go to the bit bucket in the sky.

I also wonder if this might be a track for Geezer Geeks who are despairing at breaking into the young hipster IT zone?  Instead of getting botox and learning Node/AngularJS, I wonder if some should be re-learning COBOL or dare I say it … FORTRAN! … Saint Grace preserve us (That’s Grace in the photo; she invented COBOL and was an amazing lady from all accounts. I’d have loved to have met her).

I’m actually going to do some research into legacy IT since I think its a legit career track.  No one cares, and in fact they expect that those caretaking some old DB2/COBOL system will be gray-beards.  The odds some young wiz-kid will even want to compete for these jobs is somewhere between zero and zero.

Ageist IT Jobs Ads and Why I don’t Care

 of Fortune.com has an interesting piece on how governments are calling IT companies on the carpet for discriminating in their ads.   While companies can no specifically exclude workers of 40 in the USA, they are using language which effectively tells older workers “do not apply”.   The offending phrase is “new grad”.

See: Tech industry job ads may illegally discriminate against older workers.

Nerf War in Young Hipster Company

As I’ve stated before, as someone politically who leans towards libertarianism, I’ve got no problem with this or even open ageism.  If IT companies think that hiring younger workers is better for their bottom line, that’s their choice.  I don’t think Geezer Geeks need government to parent the IT industry on our behalf.  Instead we need to convince the IT industry of the reality that we are a gold mine of talent.  We can certainly do so.   In the article, Kopytoff tells us:

Vinod Khosla, a prominent venture capitalist, once said “people over 45 basically die in terms of new ideas,” although, like many in Silicon Valley who make such statements, he’s since rejected that view.

He’s rejected this view because he got an earful, but more importantly he was convinced of the fallacy that Geezer Geeks are a liability.  While Big Government may force companies to stop discriminating, if they are convinced of their position they will always find other ways to maintain their viewpoint.

Some hiring managers also look for candidates who are a good “cultural fit,” which can be code for young and hip.

A recent trend in interviewing in the “group interview” where you meet with the other candidates in order to see how you interact with others and members of the company.  It’s primary goal is to access personality type, group interaction, teammanship, and the dreaded ‘cultural fit’.  The reality is that young hip IT companies where they have regular nerf-gun wars likely that “old farts” and “grey beards” will cramp their style.  Let’s be honest, some would.  Others like this Geezer Geek would have them running back to their cubical chewing on polyurethane.

My personal position is that I would not want to be part of a company where I was not appreciated or valued. God forbid being the literal token grey-beards at Facebook, Google, and other big companies, if Big-Government-is-the-Solution types got their way.

What are your thoughts?  Do you agree or disagree.  Do you have another solution?

Intergenerational Co-Mentoring in Information Technology

In September 1984, it was literally standing room only in Computer Science 110 at the University of Saskatchewan.   (Before you laugh: UofS was kicking MIT butt at competitions in the 80’s and its grads were programming satellites at SED systems in Saskatoon! 😛 ) In the early 80’s, PC’s labs filled with TSR80’s, Apple 2E’s and Commodor Pet’s, combined with the media plugging computer science as a great career choice, created the first surge in demand for computer science grads right across North America.  I was part of that first surge of computer science grads who cut their teeth on early PC’s and on hardware like the DEC-20 mainframe connected to a lab of green screen monitors in the photo below.  Thirty-plus years later, as a seasoned IT professional, its interesting to read the history of the U of S computer science program which documents the ground breaking work of a generation whom I’ve dubbed, The PunchCard Pioneers.

University Saskatchewan Computer Lab 1980's.

University Saskatchewan Computer Lab 1980’s.

That was the first surge of computer science grads, which integrated PC’s, LANs, and redamentary networks into industry.  This was followed by a dip in the sexiness of information technology work until the world wide web was developed for the internet.  In the early 1990’s, awareness of the internet was hitting the public’s consciousness.  I’d been using the internet since 1983 {Old-Fart Bragging Moment} but it was ten years later, in 1993 when its importance dawned on wider society.  Check out this story from Canada’s national TV where Peter Mansbridge explains “This thing called ‘Internet‘”.  I love where John Allan calls the internet Modulated Anarchy and his sweet naivety (Hey, we’re Canadian) regarding how the Internet “doesn’t have much swearing”.  I think his insight on how the Internet is about the human need for connection and community is timeless.

The second wave of computer science grads was driven by the gold mine of the early internet.  Literally untold levels of wealth catapulted 20 year olds into the stratosphere and millions wanted a piece of that cosmic pie.   Zuckerberg was 9 when the internet became mainstream and it was his generation which was flooding the schools to get a piece of that internet action.  Of course, the dotcom bubble burst in early 2000, but by then at lot of his generation were already in school and had caught the Geek-Bug.  You can see on the chart that its about 3-4 years later that degrees start to drop off, however those who stuck with it were prepared to take advantage of the App-Bubble.

We are currently at the beginning of a third wave of demand for computer science education, which is being driven by the sexiness of mobile devices, apps (what kid wouldn’t want to create another Angry Birds and become a billionaire!).   It will be mildly amusing when some wiz-kid  from this fourth IT generation calls Zuckerberg a “Geezer”, which of course some will. :)  I will find it even more amusing when these same wiz-kids look at First-Wavers and ask, “You had internet back then!”

csedegrees1

Source: Ed Lazowska, UW.

I think the Third Surge in computer training will not show such a pronounced academic bump since we are moving into a post-university world where generations are getting their education outside of universities.  I often counsel young IT people to skip university, or if they want formal education to get a two year diploma at a good community college while networking to get into some 24-7 start up where the most important learning happens.  It’s been my experience that most young IT workers thrive as they learn in groups; especially co-mentoring.

And this is where we get to the point of this post.  Co-Mentoring in Information Technology.  Here is a good general definition of Co-Mentoring.

Recognizes that the benefits of mentoring, whereby an experienced individual provides guidance and advice to a less experienced individual, can be of benefit to both individuals. The term also refers to the provision of mutual support – the co reconstructs the relationship as non-hierarchical and suggests reciprocity and mutuality – in learning through a co-mentoring group of peers, possibly facilitated by a tutor.Mondofacto

Previously I’ve advocated multi-generational teams and this is one of the primary reasons.  About 80% of older IT workers (First Surge) are willing to mentor third wave young Millennials (the youngest are 18 in 2014) and Generation Z.  Yet what do us “gray beards” have to share?  Aren’t we out of touch and out to pasture?  If we are still active in the industry we likely are not and most importantly we’ve learned how to learn … and re-learn and re-learn …  No one is in this industry for 30,40 or 50 years without knowing how to learn.  Of course, the corollary is that no Millennial will survive 30,40 or 50 years if they are unable to re-learn continually.  Unless of course they take the Geezer Geek Legacy Stream (example: Being a COBOL programmer in 2014) which is a fine choice for those tired of the new and the next.  I’m an intensely curious person and love the new/next thing on the horizon.  When a Droid is spooning broth into my 90 year old chops, I’ll be asking it to turn up the video volume so I can learn about the next best thing in IT.

One of the latest programming trends is Pair Programming and it lends itself to multi-generational mentoring.  For a new coder, it would be an opportunity to learn excellent design quality, and for the older an opportunity to pass on what we’ve learned.  Often when we are young, we want to get from point A to point B to the detriment of coding friendliness and especially issues of maintenance.  Experienced coders know that “Maintenance kills” and of course that is why things like OOP, frameworks, and other goodies were created.   The experienced know that short cuts in coding are often paid for in applications which continually break and clients who rightly think you are a putz.  Good code takes skill, time and care for those who will maintain it.

This is where my pitch for companies to intentionally create intergenerational mentoring relationships.  I’m not just talking about just Pair Programming, but broader IT mentoring.  There are numerous opportunities, in my experience, where pairing the right “Gray Beard” with the right “Wiz Kid” could produce high value for clients while expanding the skill of both Mentor and Protege.   Of course, there is always the 20% who are not interested in mentoring and likely another 20% who would mentor but fall into the OAP (Arrogant Old Prick), just as on the Protege side you’ll find the YAP (Young Arrogant Pricks).  The value however comes with willing mentors and proteges humble enough to learn from each other and, of course, the passing on of experiential learning to the next generation.  The mentors, in turn, derive meaning through the development of the professional development of the next generations.

What is your experience and thoughts on mentoring between generations?

 

 

Google, Ageism, and the Business of Plastic Surgery in Silicon Valley

More on the issue of ageism in Silicon Valley, this time from the Motley Fool.  Is there ageism in the IT industy?  It appears there is.

“according to the U.S. Equal Employment Opportunity Commission. However, more than two-thirds of all cases over the past three years (68% in 2013) found in favor of the employer, finding “no reasonable cause” to believe that discrimination occurred.” – Google, Ageism, and the Business of Plastic Surgery in Silicon Valley.

This of course was over all businesses in the USA, and from my experience, ageism is worse in the IT industry.  I do think the answer isn’t government or Equal Employment Opportunity Commissions.  The solution is to challenge the perception of older IT workers are not as smart.  In 2007, Zuckerberg said that he thought younger IT workers were smarter.  To be fair to the lad, he was 23 and I think we all thought we were smarter than everyone else at that age. I did.

First however we need to address whether Zuckerberg was right.  In addressing any social issue, the first question must always be whether our critics are right.  I looked on the internet for some studies on aging in relation to intelligence and found an interesting conversation on the value of fluid vs crystallized intelligence. See: http://psychology.about.com/od/cognitivepsychology/a/fluid-crystal.htm

Fluid intelligence is related to abstract thinking and the ability to solve problems which are completely new.  Crystallized intelligence is the ability to recalled learned knowledge.  Putting it even more simply; fluid intelligence is being able to think on your feet when face with a new problem and crystallized intelligence is experience learned.

I going to catch some flack, but I do think Zuckerberg is partly right and that younger IT workers are smarter, but only in one area.  The ability to engage in new highly abstract cognitive tasks is central to being an uber-geek.  I confess right now that I am not as smart at this mental skill as I was 30 years ago however I don’t think it matters.  In fact, I think (know) that I am far more competent and creative at 50 than I was at 20.

I recall one study on the relationship to intelligence and the winning of Nobel Prizes (Geezer moment … someone remind me where I read this).  The study found that most Nobel Prize (the real ones … science) winners had IQs around 140 to 180+.  While a higher IQ was indicative of a greater chance of a nobel prize, only up to a point.  You needed to have an IQ of at least 140 but over 160, it didn’t matter.  People with an IQ of 160 were just as likely as someone who was well into the genius level.  Why is that?  The reasoning was that a person had to be smart enough and once that was discounted other factors came into play.

Most people who go into IT work already are in the highest percentile of abstract cognitive intelligence (ie fluid thinking) and while this declines, in my experience, the necessary capacity to think fluidly is still high at age 50.  It’s high enough, however, combined with crystallized intelligence, it is my position that older IT workers are generally better IT workers.  Older IT professionals also learn the limits of fluid thinking ie. there comes a point where you can not conceptualize complex systems.  Methodologies which compensate for human conceptualization limits are needed.

Consider Alan Kay, one of the fathers of OOP,  he was in his mid 30’s when he and a team of coders at the University of Utah developed object orientated programming.  While structured programming still has the benefit of speed and simplicity, without Data Abstraction/Encapsulation, Polymorphism, Inheritance, etc many complex systems would surpass the capacity of the coders to conceptualize them and therefore be unable to maintain them.  I recall being involuntarily being given a structured library system after the developer of seven years left for greener pastures.  The system was unmaintainable without at least a year’s exploration of the underlying structure.  Good OOP coding segments systems and allows for the broad maintainability of system.  I think it was no surprise that Kay and his team were in their 30’s.  As IT workers age, they learn the limits of fluid intelligence.

In conclusion, yes, IT workers are not as smart in terms of fluid thinking.  This is why young people can come up with answers quicker and are more flexible with those answers, however older IT workers bring experience, but more importantly they bring humility to the game.  Alan Kay and others in the 1970’s were able to perceive that great IT workers do not just think smarter, our outside the box, but within the limits of human experience.  Older IT workers combine sufficient fluid intelligence, combined with experience (crystallized intelligence) and combine it with what is called “relational intelligence“.

The greatest deficits I’ve discovered in my IT career are two fold.  1. the ability to get alone with others.  2. the ability to be reliable.  Both of these virtues are found in people with high relational intelligence.  While some might equate relational intelligence to just learning these skills, I do believe that these skills increase with age.  The older I get, and many others get, the more we value relationships and especially long term relationships.  It was no surprise to me that Google and many other Silicon Valley companies have a problem with retention.  I suspect they also have problems with teammanship given that Google has been saying recently it looks for something they call “intellectual humility“.  You don’t look for something that is in short supply in your pool of talent.

I’m not saying that all young IT workers are young  arrogant pricks (YAPs), I mean lacking in intellectual humility, however I do think as we age, many of us who perhaps were once YAPs, have learned the value in listening to people, even people who seem less intelligent and skilled.  We learn that the smartest guy or gal in the room is not necessarily the one who is right.

As for people getting plastic surgery to appear young. LOL … how dumb can you be. 😉