I just turned 40.  I didn’t think it would be a big deal to turn 40.   I was wrong.  Turning 40 has triggered a deep desire to reflect upon my life and career.  How am I doing? Am I where I thought I would be at 40?  What were the steps that lead to my current reality? Could I have done anything different?  Should I have done something different?    Is this a mid-life crisis?  Do I need a sports car?

To say that I knew everything at 20 years old is ridiculous.  When I was 20, however, thinking I knew everything didn’t sound that ridiculous.  I certainly had something to prove to the world – “hot-shot-know-it-all-with-a-chip-on-my-shoulder-and something-to-prove” comes to mind.

Seeing as I never actually received this letter 20 years ago (or maybe it came in the mail and I never noticed) – I hope that one day the human race will invent a way to send information back in time – perhaps with the use of tachyon beams).

<Begin tachyon transmission>

Dear Joel.

You are receiving this letter from 20 years in the future from an older and much more experienced version of yourself.  Notice I didn’t say “wiser” – since, I’m not sure wisdom ever found its way into our lives.  We were once told that there were three types of people in the world; stupid people who don’t learn from their mistakes, smart people who learn from their mistakes, and wise people who learn from the mistakes of others.  Unfortunately, you will not have any brushes with wisdom before I sit down to write this letter.

There are so many things I want to tell you.  Hindsight is 20/20 – thus, writing this is rather easy to do.  The problem is with where to begin!!  At first I thought about restricting my advice to your career.  The problem with this approach is that your career is not at all separate from the rest of your life.  You’ve never been able to segment your worlds – your work, family, health, emotions, fears, and dreams – all bleed together and impact one another.  My first piece of advice is to recognize this earlier than you did as you fought against this for too long.

#1:  Expand your understanding of business

Let’s start with where you are right now.  You’re in your third year of University studying computer science.  You’re working with the Canadian Military doing some very cool stuff  – and you also started your first company on the side writing television scheduling software for a new television station.  Don’t you see?  You’re already going down a difficult and conflicting path.  On one side, you’re trying to be a brainy computer science guy – on the other side you have an enterprising free spirit.  You’re going to struggle with this for 20 years.  What I want to know, however, is if you really wanted to get into business for yourself, why aren’t seriously considering taking any business education?  Yes, I know you think that if you are good at number theory and solving linear equations that everything else is beneath you.  The truth of the matter is that it’s not.  Even though you clearly want to work in the private sector and run your own company, you turned your nose up at a great opportunity to learn more about business.  Yes, you will learn a lot on the job – however, if you invest even a little in better understanding business and economics now you’re going to save yourself a lot of pain in the future.  Understanding more about “business value” and techniques will help you more rapidly understand how you will work with teams in the future to produce it.  Understanding business, core business value, and some core business understandings (as covered by books like “The Goal” by Goldratt) will give you a much better appreciation of business, and more importantly, waste within business.  Learning a little bit about business structures, economic history, legal and accounting won’t hurt you either.

I’m not saying that you should give up your computer science path, however, if you plan on working in technology in the commercial business sector – you should invest into learning much more than you have in this area.  You can’t truly learn how to provide business value with technology without understanding the business.

#2:  Embrace Humanity

Humans aren’t computers or machines or robots.  You can’t treat them that way and expect great results.  For example, you can’t create a plan by adding up how many available hours there are in a workday – doesn’t work that way.  You can’t derive estimates by systematically decomposing problems and rolling up results.  I’m sorry – but you’re going to blow a lot of your time here unless you realize this sooner.

You must embrace the way humans work, and more importantly, how they work together.  Many things such as emotions, social motivators, personality traits, conflict, desires, and false perception impact human interactions, productivity and focus.  This is complicated stuff that impacts all sorts of processes that you will rely upon to be successful.  Being successful in your career will rely more about your ability to understand how people work, how they share knowledge, and how they work together to achieve a goal.  Don’t run from this.. embrace it.. master it.

#3:  Look to Lean

Around 1997 you’re going to start thinking a LOT about how teams work, how software is defined, tested, and more importantly, how it relates to business value.   You’re going to immerse yourself in methodologies looking for a “pattern” that works.  You’re going to jump into something called Agile in the early 2000’s – but something will still be missing.   You’re going to realize that you can look to other industries for insight into our own – and you shouldn’t be fearful of looking to Lean for some of inspiration.

“Lean” as its applied at Toyota can’t necessarily be applied cart-blanche to software development – however, Lean Thinking will deeply influence your approach to Agile, and more importantly, how to make teams work at peak efficiency.  Lean applied to IT and Software will become known as Lean IT.  Lean Thinking will act as a bridge that you will use to connect business with technology and give you patterns that you can use to help drive agile practice adoption and positioning.  You eventually come to this conclusion when you turned 30, however, you were too shy to really embrace this until your mid 30’s.  I’m telling you that you are on the right track don’t be shy – embrace your intuition.

#4:  Understand Requisite Theory

Boiled and in concentrate, requisite theory has to do with how far out people think and how they communicate with each other.  As an example, it’s very difficult for a CEO who thinks 3-5 years into the future to communicate meaningfully with a person who can only think about their next pay period.  Now, I’m not saying you’re high end of that scale at all – but you will run into situations where you will have a hard time communicating with others simply because the person you’re talking to isn’t thinking on the same timeline as you – that’s OK!.  It will frustrate you to no end – you’ll stamp your feet and ask “why isn’t anyone listening to me?!!!”  In reality, they ARE listening to you, but just aren’t receptive to what you are saying.  You should realize this as quickly as possible and be very conscious of how you communicate.  Know thy audience and communicate to them in a way that is receptive to that audience.

#5 Learn the Art of Inception

The art of inception is all about being able to “plant” an idea into the mind of someone else.  I’m not talking about some sort of Jedi Mind Trick (“These are not the droids you are looking for.. “) – I’m talking about a way to have people come to the same conclusions you have come to by giving them the right environment and path to travel.   Why would you need this?  Well, this comes down to embracing how humans work and learn.  You’re going to be working with some extremely smart people – and sometimes simply telling them things won’t get you the results that you want.   Planting a simple idea into someone, nurturing that idea so that it grows roots and begins to develop will make sure that it is firmly embraced.  This is the ultimate form of teaching and communicating.

#6 Be healthy to be the most productive

The key to productivity isn’t working long hours.  Productivity is rooted in your health.  Your health must come first in all things.  If you aren’t healthy, everything around you will suffer – from your relationships to your job.  Its one thing you’re going struggle with due to time and travel commitments, but it must not be something you sacrifice.   If you want to be at peak productivity, you must be perfectly healthy.

Oh.. and try to get off gluten sooner than later ;-)  Just saying.

#7 Give yourself the gift of reflection

Sometimes life will be a whirlwind of activity forcing you to live day-by-day, week-by-week.  Too much of this and you’ll feel lost and unfocused.  Give yourself the gift of time to reflect on life.  A few days here and there won’t make a different.  You’ll need to find time to give yourself at least 2-3 weeks a year where you completely disconnect from your day to day life and find some time to simply do nothing and reflect on your world.  It’s amazing how much clarity and energy you will find doing this.

#8 Power of Peak Performance

I mentioned before that the key to performance is your health.  Getting to peak performance, however, means being at your very best.  How can you be your very best at work and still have balance in life?  The key here is to recognize when you’ve hit a plateau – and when you are there, rest.  Yes, rest is key to achieving peak performance, as it will allow you to charge up so that you can sprint again – and it’s when you are sprinting that you’re at your peak.  You’ll find that in order to have those bursts of extreme productivity, creativity, and energy you need to ensure you are healthy as well as rested.  When I say “rest” I don’t necessarily mean to sit on the couch and watch TV – I mean take a break from the thing you are trying to get peak performance on – allowing you to “sprint” in other areas while you rest in another.  In this case you’ll have the ability to interleave cycles of sprinting and resting across a few different things – as you can’t stay at a “peak” in any one thing for too long and its only when you peak that you seen to get the most excitement out of what you are doing.

#9 Sweat the little stuff

In reality, success can only be gained through execution – by actually doing something and not thinking about it.  Thinking about execution, planning, brainstorming, strategizing, arm waving might fun and exciting – but you don’t get anywhere unless you can execute.  You should spend 90% of your energy on execution excellence – and 10% of your time on that other stuff (which if you’re executing properly, won’t take up a lot of your time).  When you are thinking about execution, here are a few tips:

  • Earning trust through delivery (trust as a commodity):  The only way to truly earn trust (trust with your team, trust with your customers, trust in yourself) is through execution and the demonstration of results.  You want to demonstrate results early and often.  This will apply for you personally as well as the teams and businesses you will develop.
  • Analysis paralysis: Its better to do and fail then to not do anything.  Failure is a part of success.  Embrace this – and as a result, don’t learn how to succeed – learn how to fail properly.    In the words of Sir Richard Branson “Screw it, let’s do it”
  • Beware of the lure of architecture and frameworks:  This might be more technical than some of the other tips in this section, however, when it comes to software you’re going to get burned by those who want to over-architect solutions and frameworks.  These aren’t going to help you – and in fact, will cause you much more grief in your career than simply incrementing solutions based on real and observable need.
  • Lure of distribution and cost savings:  Having a distributed team should be a last resort, not a starting point.  Distributed teams are highly wasteful – and will cause no end to misery.  You will not save money with a distributed team.  You’ll never work well in a distributed team since you really only figured out how to effectively communicate in person.

#11 Stay away from a thing called “Silverlight”

I won’t go into details here.. but if you ever come across something called “Silverlight” and think it might be a good idea to build a product around – give your head a shake and move on.  Enough said.

#12 Learn the Art of Delegation and Scale

You’re going to struggle with this through your entire career – but in order for you to fail less (and be successful more often) you’re going to have to figure out how to properly delegate and scale yourself.  The way you communicate, the way you teach, the way you learn, the way you define success and failure – these will all impact how you will approach delegation and scale.

The true art of delegation and scale starts with a simple premise – which is to work you out of a job.  This may sound counter intuitive – however, if part of your vision of success means that you won’t be part of that success, you will work to empower those around you and essentially work yourself out of the job.  This is very healthy and is the key to how you should approach this problem.  You can’t be the center of everything and still expect to maintain a balanced and happy life – besides; helping others achieve success is much more fulfilling than achieving success yourself.

I could have kept writing and writing and writing about life lessons – however, you need to figure some stuff out on your own as well.

Enjoy life.. and don’t forget to write this when you turn 40 (or soon after)!

<End tachyon transmission>