Everyone Must Learn to Code

When I was 9 years old, my father brought a Commodore Vic 20 computer home for Christmas.  It came with 3k memory.  It had a keyboard, a tape drive and it connected to a TV.  I still remember sitting in my pyjamas and turning it on.  As a child with nobody to tell me how I should or shouldn’t program, my first attempt was a paragraph in english describing a game.  I was surprised when I reached the end, hit the return key and: “Syntax Error”.

The Vic 20 came with 2 books “Learn to Program BASIC I” and “Learn to Program BASIC II”.  I went through these books by the end of January.  It was more fun writing my own games than playing the ones that came with the computer.

I learnt maths because I needed binary to create sprite graphics.  I learnt quadratic equations to solve for collisions in games.  I learnt basic physics to create realistic missile flight.  Maths in school was easy because I had already learnt it to serve my computer programming hobby.

Computer Programming saved me from boring school lessons

I never paid too much attention at school.  It was generally boring.  I spent a lot of time daydreaming.  I would think through which of Superman’s superpowers would be most useful to escape the boredom of school.  It was always a toss up between flying and laser eyes.

I was lucky.  The traditional school environment was built for my style of learning.  Exams tend to bring out my best performances. I was never good at the sustained effort.  I am best in the hurried sprint to deadlines.

I used to read a lot.  I had read the entire SciFi section of my local library before I was 10.  I would take out my full quota of 6 books and read them in a week.  I had whole collections of Dungeons and Dragons books.  I loved Frank Herbert’s “Dune” (all 7 or 8 books).  I loved Tolkien (LOTR, Hobbit).

Reading is great, but it is not an activity that allows the development of mastery.  You can’t get “better” at reading after a certain point.  You might be able to get a bit faster, but you don’t develop beyond basic reading in any significant way.

I loved sports, but was always a bit small so got pushed off the ball in football or relegated to wing when playing rugby.  My younger brother was superb at any game with a ball, and there is nothing more painful to an older boy than being beaten by a younger boy in sport – even more painful when it is a brother…  and the gap is 5 years.

Computer programming was my first world of mastery.

Computing is taught poorly in schools.  We need a change in the role of computing and style of learning supported by computers in schools.

The Failure of Computing as taught in our Schools

Most school systems teach children how to use Microsoft Office.  They teach students to be users of computers, not creators with computers.

A computer is not a car.  We need people to know what is under the hood as well as knowing what the pedals do.

Programming computers is a wonderful environment for children to explore, test, trial, experiment, hypothesize, fail, succeed…

Programming taught me Important skills.

Any programming language is essentially the same.  Java, PHP, C++, Basic, Python, Lisp…  even Fortran, Cobol or Assembly code.  Master one, you will quickly learn any other.

It teaches you to be clear.  It teaches you how to trace and remove errors.  It teaches you how to test.  It teaches you how to think about systematically solving problems – not one-offs, but full systematic reproducible solutions.

As you grow you learn about building code that scales.  Efficient use of memory. Efficient looping.

As you collaborate you learn to write code that can be easily understood by others.  One half is good commenting, but the other half is using the clearest code to achieve the given outcome.

You learn how to isolate specific parts of the code to test for correct function.

You learn how to describe solutions to other people.

You learn how difficult it is to predict human behaviour.  You learn that human beings will tend to do the unexpected.  You learn that if it can go wrong, it will go wrong.

Everyone must learn to code

I do truly believe that I learnt more in my own self-guided programming of computers than in any classroom.  The social stuff I learnt in the playground and through sports.

What were the teachers doing?

Keeping me off the streets.

10 Commandments for Business Development from Goldman Sachs

John Whitehead, co-head of Goldman Sachs in the 1970s, wrote the following 10 commandments that guided their business development efforts:

  1. Don’t waste your time going after business you don’t really want.
  2. The boss usually decides— not the assistant treasurer. Do you know the boss?
  3. It is just as easy to get a first-rate piece of business as a second-rate one.
  4. You never learn anything when you’re talking.
  5. The client’s objective is more important than yours.
  6. The respect of one person is worth more than an acquaintance with 100 people.
  7. When there’s business to be found, go out and get it!
  8. Important people like to deal with other important people. Are you one?
  9. There’s nothing worse than an unhappy client.
  10. If you get the business, it’s up to you to see that it’s well-handled.
Good list.  What do you think?

I came across this list thanks to Mark Graham’s post over at The Entrepreneurs’ Organisation blog.

Jim Collins on the Writing Process

My favourite business books include Jim Collin’s “Good to Great“.  It is easy to read, simple but clear about the hard decisions that differentiate the great companies from the mediocre.  His new book, “Great by Choice” is out now.  Jim Collins is renowned as someone who has intense discipline in his life.  I loved when I found this text he wrote about his own process of writing:

Jim Collins on the Writing Process 

Jim Collins

“When I first embarked on a career that required writing, I devoured dozens of books about the process of writing. I soon realized that each writer has weird tricks and idiosyncratic methods. Some wrote late at night, in the tranquil bubble of solitude created by a sleeping world, while others preferred first morning light. Some cranked out three pages a day, workmanlike, whereas others worked in extended bursts followed by catatonic exhaustion. Some preferred the monastic discipline of facing cinder-block walls, while others preferred soaring views.

I quickly learned that I had to discover my own methods. Most useful, I realized that I have different brains at different times of day. In the morning, I have a creative brain; in the evening, I have a critical brain. If I try to edit in the morning, I’m too creative, and if I try to create in the evening, I’m too critical. So, I go at writing like a two piston machine: create in the morning, edit in the evening, create in the morning, edit in the evening…

Yet all writers seem to agree on one point: writing well is desperately difficult, and it never gets easier. It’s like running: if you push your limits, you can become a faster runner, but you will always suffer. In nonfiction, writing is thinking; if I can’t make the words work, that means I don’t know yet what I think. Sometimes after toiling in a quagmire for dozens (or hundreds) of hours I throw the whole effort into the wastebasket and start with a blank page. When I sheepishly shared this wastebasket strategy with the great management writer Peter Drucker, he made me feel much better when he exclaimed, “Ah, that is immense progress!”

The final months of completing Great by Choice required seven days a week effort, with numerous all-nighters. I had naively hoped after writing Good to Great that perhaps I had learned enough about writing that this work might not require descending deep into the dark cave of despair. Alas, the cave of darkness is the only path to producing the best work; there is no easy path, no shorter path, no path of less suffering. Winston Churchill once said that writing a book goes through five phases. In phase one, it is a novelty or a toy; by phase five, it is a tyrant ruling your life, and just as you are about to be reconciled to your servitude, you kill the monster and fling him to the public. And so, exiting the caving blinking in the sunlight, we’ve killed the monster and hereby fling. We love this book, and have great passion about sharing it with the world—making all the suffering worthwhile.”

My reflections

  • Writing is work.  You have to push through.  Every day.  It doesn’t get easier.
  • I am a different person at different times of the day.  I must use this better.  I start days slowly. I am inspired at midnight through to 3am.
  • Sometimes throwing everything out is progress.  It is not a step backwards.

What do you think?  Do you write?  What daily disciplines do you have?

Procrastination, a definition

3 criteria for a behavior to be classified as procrastination:

  1. counterproductive,
  2. needless, and
  3. delaying.
Pro = forward
Crastinus = of tomorrow

By the way…  blogging a definition of procrastination is clearly an act of procrastination.  This week has been highly unproductive for me.

I hope you have a great weekend.

Maybe a past post on Self Disciplinewould be better reading?

How not to waste a life. The real responsibility of parents and schools.

This week we decided where my daughter will go to school – potentially for the next 15 years. I have spent a lot of time thinking about what criteria are important in selecting a school and this blog is a summary of 3-4 months of that reflection.

To Prepare One for Living

How do you best waste a life?  Quite possibly the worst thing in the world is “what could have been” – the waste of human talent.  How do parents or schools contribute to allowing a child to waste their potential, to live a stressed life, to be unable to connect to others, to constantly feel that there is “something missing” in their life?

I believe that we are the first generation that really doesn’t face any risks to our survival (other than the “run over by bus” end).  We have endless choice and the perception of a classless, meritocratic society.  There is a widespread assumption that financial, relationship, social success is because of the innate goodness of one or the innate poorness of another.

In a world where survival is pretty much guaranteed, what is required in order to thrive as a human being?  In this blog post I want to think through the aspects that are most difficult to change later in life that are key to a fulfilling life – and argue that the role of parents and schools is to develop these habits during the 18+ years of early development and school.

What is the purpose of school?  I will use some thoughtful answers from teachers at The Fischbowl “The purpose of education is to appropriately prepare our children for their future.” or “The purpose of education is to make the world a better place” and A teacher writes “to prepare one for a living”. One of my favourite bloggers, Seth Godin has a list of 27 objectives for school.  My father says “its from the Latin, educare: to lead out”

I feel that these definitions leave out some important aspects – a better place for whom? For each child?  For parents?  For the wealthy patrons of government, banks and corporate?  We can categorize thinking 5 levels to which schools could purport to be making the world a better place:

5 Levels of Purpose for School

  1. To keep children off the street (conversely, to provide employment to teachers; or to give a few hours of peace to parents)
  2. To prepare children to enter the workforce (to provide fodder for the robber barons, to create a legion of obedient wage earners)
  3. To prepare children to be good citizens (to understand and follow the norms of civilized society, to not rob, cheat or otherwise make the world worse for others)
  4. To assist human unfolding emotionally, socially, intellectually and physically
  5. To develop the unique strengths of each individual and prepare them to thrive and have a fulfilling life

I think there are clearly examples of all five levels in place at all levels of formal education.  We have university professors that see their role as a teacher taking them away from more valuable research time;  Secondary school teachers who spend more time thinking about strikes and the unfairness of the unequal rises in private sector pay over the last quarter century.  Exam systems that serve to divide children into passes (successes) and fails (destined to McDonalds) without looking to help each child get an ‘A’ in their own personal exam. Schools which develop students that are fantastic at following the 23 steps to get an ‘A’, but completely collapse when they come out into the real world where there is no clear set of steps to develop a career, life, relationship or social life.

I have seen some interesting stuff on how parents and schools can weaken their children’s ability to thrive by inappropriate praise over at NY Magazine, “How not to talk to your kids” (definitely worth a read for parents).  Praise and coaching should be directed at aspects that a child has control over (hard work, solving problems, patience, working in a team, overcoming frustration) and not at things outside the child’s control (their looks “you are beautiful”, their intelligence “you are the smartest”).

The Habits of a Good Life

I think there are habits for a fulfilling life and personal competencies that are very difficult to change, and some that are much easier to change.

Easy to Change Harder to Change Hardest to change
  • Education
  • Communications
  • First impression
  • Goal setting
  • Self Discipline (hard work, completing projects)
  • Judgement (decisiveness, understanding consequences)
  • Excellence standards
  • Resourcefulness
  • Likability
  • Persuasiveness
  • Stress management
  • Integrity
  • Energy
  • Passion
  • Ambition
  • Tenacity
  • Intelligence
  • Physical aspects (height, build, looks)

My answer is that school should serve to develop the human competencies that will be hard to change later on in life – and parents and teachers need to praise, coach and help children develop these disciplines.  I will outline three that I now believe are key to the purpose of school:

Develop the discipline of hard work.

“The real happiness comes from the work you’ve put into winning. If it’s too easy, it means nothing to you.” Rafa Nadal

Nothing feels worthwhile without real hard work. Not what looks like hard work to others, but what you personally know is long-term, disciplined, difficult, challenging hard work.

Finish what you start (completer/finisher).  Only start what you mean to finish (judgement).

Nothing is worse than a life lived with 100 half-finished projects. The hardest part of a project is the last bit – finishing it. Saying “this is it”, “this is me” is tough – but if I don’t get my projects finished I will continually be the guy who could have been.

Passion and Tenacity.

Jim Rohn has a speech called “The Ant philosophy” – ants will never quit – you put an obstacle in their way and they will search for another route… for as long as it takes.  This is a great philosophy not just for ants, but for people as well.

We need it from our parents and our early school. It is incredibly difficult to change integrity, passion, energy, ambition and tenacity if we don’t have it nurtured during our early years (Aristotle viewed age 12 as the limit for really incorporating ethics and values).

We decided upon Betania Patmos for my daughter’s (potentially) next 15 years of schooling.  I think I have said “you are beautiful”, “my princess”, and “you are so smart” at least 1000 times to my daughter in 2 and a half years…  I hope my newfound wisdom and the support of the teachers at Betania Patmos can help my daughter overcome the challenge of having me as a father! (but she is beautiful, smart and my favourite princess!)