Showing posts with label know thyself. Show all posts
Showing posts with label know thyself. Show all posts

Thursday, August 14, 2014

Continuous Learning - How to Get Your Knowledge Share On OR Notes from That Conference 2014 Open Space

"And have my learning from some true reports"
-- Shakespeare, Antony and Cleopatra
Act II, Scene II, Line 51

Here is a summary of my experience running an Open Space on Continuous Learning at my third That Conference. 

Ways to Share Knowledge at an Organization

  • Scheduled reports / presentation which are record 
    It is very important that they are scheduled as a recurrent event so that everyone will feel the need to take part in them.  It is also very important that they are recorded so that they can be used in on-boarding.
  • Tech Talks
    Part of being in IT is knowing about what is happening in technology.  Have your new people and interns talk about what they use to communicate with their friends, I bet they use things you have not even heard of.
  • Project Show and Tell
    Every project big or small has interesting challenges, share your solutions since they will more than likely be face again and again by others.
  • Tech and Try
    Have someone do a quick 5 to 10 minute talk on a topic and then have everyone do what was just talked about.  An example of this would be have someone present on a framework then have everyone do a code kata using that framework, you now have a bunch of people who have at least used that framework a little.

Ways to Learn More on Your Own

  • Code Kata
    Try doing the FizzBuzz kata in a bunch of different ways with a bunch of different frameworks and languages, then compare implementations.
  • Online Classes
    Pluralsight, Egghead.io, Codecademy, ... all have different ways to learn new things, find the one which works best for you.
  • User Groups
    I am a bit bias since I am a co-lead for an User Group, but there is more-likely-than-not a group of people that get together and talk about something you are interested in, join them.  If you cannot find any existing group, start one, all you need is a place to meet and other people.
  • Present at a Conference
    There is no better way to learn something than teaching others.  I know presenting and coding are two very different skill sets, but developing the ability to present and develop software will open all kinds of doors.

Sunday, October 20, 2013

How to Become Like Uncle Bob

"Here's the challenge, read it. I warrant
there's vinegar and pepper in't."
-- Shakespeare, Twelfth Night
Act III, Scene IV, Lines 142-143

How does one become what one is?  Better yet, how does one become what one should be?  Even better, how does one become what one must be?!?

A challenge was fired straight across the bow! Just a little less than one year ago, Uncle Bob in his
"The Reasonable Expectations of Your CTO" stated that software professionals need to be spend 20 hours a week honing their craft! Sir you say, 20 hours is a lot, this man is surely joking!

Nope, Uncle Bob was serious, in fact he gave away one of his secrets.  This secret was how to become an Uncle Bob.  Yes sir, Uncle Bob has given away a secret of how to become like him in abilities and knowledge.

No surprise Uncle Bob has stated that it takes in a different way that it takes 10,000 hours to become an expert.  Wait you say, 10,000 hours where did that come from?

Let's see, take the 20 hours per week that Uncle Bob is challenging us with and multiple it over a whole year which we'll say it is 50 weeks, that give us 2 weeks of vacation!  20 * 50 = 1,000.  Hmmm, 1,000 well if we did this for 10 years that would give us 10,000 hours of practice.  Surprise, surprise, just as Dr. K. Anders Ericsson has found in his research on experts!

In fact as any weekend golfer that has not improved in 20 years of play will tell you, 10,000 hours of practice by itself is not enough!  No, sorry sir, it take deliberate practice to get better, practice in which one climbs mountains!

What?!?  Surely I am mad, surely I have fallen from the great height of my rocker!  Surely I am an anarchist that laughs as the world burns!--and thus with some silly jesting in my writing I have left a quote that could easily be taken out of context and used against me!

Sorry my friends, but traveling to great heights takes great amount of effort and determination, but boy is the view great!

A poem of old reads:

"The aspen plum blossoms!
Bent towards me it waves!
It's not that I do not think of you.
But that your home is too far away."

Confucius said, "The writer of this poem does not really miss his beloved.  If he did, how could he feel that his beloved is too far away?"
-- Confucius, Analects of Confucius, Book 9
(other translation 1, 2)

As Confucius has shown us what we do truly speaks as to what we really mean and feel.  If we really want to be better, we really want to be professionals, we really want to better than average, we really want to soar to greater and greater heights, if we really want to become an Uncle Bob, we'll have to get good, we'll have to get really good!  It will take much more than wishing, it will take blood, sweat, and tears.

Laugh at his challenge.
-- Shakespeare, Antony and Cleopatra
Act IV, Scene I, Line 6

Laugh for how could one every stand up against such overwhelming work without laughter?!?  Furthermore, what truth could ever be spoken without laughter?!?

This challenge is great, it takes a lot to transcend the bonds of the normal everyday.

But sir, you say, this challenge is too great, too terrible!!!

A young man can be most surely corrupted when he is taught to value the like-minded more highly than the differently minded.
-- Friedrich Nietzsche, The Dawn of Day, Section 297

We are not talking about the average.

What is being talked about is moving beyond the herd, to the heights of what can be.

O-but good sir you have surely forgotten about the plague!  The plague you say?  You are right I have forgotten about the "Sam's Teach Yourself C++ in 21 Days" and its bothers.  I have forgotten about Wizard Schools, boot camps, and sheep dip training!

Yes, my fellow adventures of knowledge we have a plague on our hands, the Get Knowledge Quick Plague!

You see learning can be done in the 21 Day route or the Oxford Complete route.  The authentic subject in itself or the Cliff's Notes?!?  The choice is yours, one path leads to new heights, the other to the same-old-same-old.

When a war breaks out, people say: "It is too stupid; it can't last long." But though a war may well be "too stupid," that doesn't prevent its lasting. Stupidity has a knack of getting its way; as we should see if we were not always so wrapped up in ourselves.
-- Albert Camus, The Plague, Part 1, Chapter 5

No one asks for the plague, one is just thrown into it.  Lucky one finds that one has choices even in the darkest mist of the plague.  One can fight the monsters or one can be the victim of monsters!

"Look here, Monsieur Cottard, why don’t you join us?"

Picking up his derby hat, Cottard rose from his chair with an offended expression.

"It’s not my job," he said. Then, with an air of bravado, he added: "What’s more, the plague suits me quite well and I see no reason why I should bother about trying to stop it."

-- Albert Camus, The Plague, Part 2, Chapter 9

Cottard, Cottard, it is so easy to see the plague and think hmmm, I will dip the sheep!  I will profit from this plague!

My friends this is the enemy.

Through me the way is to the city dolent;
  Through me the way is to eternal dole;
  Through me the way among the people lost.

Justice incited my sublime Creator;
  Created me divine Omnipotence,
  The highest Wisdom and the primal Love.

Before me there were no created things,
  Only eterne, and I eternal last.
  All hope abandon, ye who enter in!
-- Dante Alighieri, Inferno, Canto III

There is no profit to be made in plague!  No greatness to be found in the plague.  The plague is the same, everyday in the plague is the same, the same joylessness, the same hopelessness, the same misery!  Only fighting against the plague can bring about greatness.  Greatness is not found in profiting from the plague!

"You're right, Rambert, quite right, and for nothing in the world would I try to dissuade you from what you're going to do; it seems to be absolutely right and proper. However, there’s one thing I must tell you: there’s no question of heroism in all this. It’s a matter of common decency. That’s an idea which may make some people smile, but the only means of fighting a plague is—common decency."
-- Albert Camus, The Plague, Part 2, Chapter 9

Like Sisyphus, we found that we are pushing our rock up a hill to only have it rollback.  For every Clean Coder there are three Teach Yourself x in 21 Days!  For every Elvis there are three Morts!

Sir, you say, you have gone mad.  You have wanted to set the world on fire!

Do you remember when you were young and you wanted to set the world on fire?
-- Against Me!, I Was a Teenage Anarchist

Perhaps I am being a drama queen, perhaps I have gone too far, perhaps I have lost sight of what the point was!  One must remember, while mountain climbing that one must get use to the air at higher heights, one cannot be simply dropped onto the summit and expected to survive!  No, one must work their own way up the mountain.  One must face their own challenges, one must meet their own monsters!

He who fights with monsters should be careful lest he thereby become a monster. And if thou gaze long into an abyss, the abyss will also gaze into thee.
-- Friedrich Nietzsche, Beyond Good and Evil, Chapter 4, Aphorism 146

20 hours a week or if it is easier to think of 10,000 hours of progressive deliberate practice and higher and higher challenges is what is needed to become an expert.

Saturday, September 28, 2013

A View on Software "Best Practices"

"He is noble, wise, judicious, and best knows"
-- Shakespeare, Macbeth
Act IV, Scene II, Lines 16

Being in the software industry for a few years now, I've seen my fair share of "Best Practices" come and go: RUP, UML, CMM, Scrum, Agile, Lean, ITIL, ...  What you say, "Sir we have just starting using one of those 'Best Practices' you have said have come and gone and we have never been better!"  Perhaps.

"In his writings, a wise Italian
says that the best is the enemy of the good
"
-- Voltaire, La Bégueule

But sir you say, "What does a dead French man have to do with our newly implemented 'Best Practice'"!  Everything!

The best is the enemy of the good, in fact as Sir Robert Watson-Watts say, "Give them the third best to go on with; the second best comes too late, the best never comes"!  Surely I jest, the third best, why not just the worst or the worst worst, why even brother at all?!?  How could any enterprise live with the third best?!?

Question, do you even know what the third best would be for you?  Do you know yourself well enough to know if something is even the third best for you?
As the Temple of Apollo says, Know thyself!  Know thyself, one of Apollo's most deadly arrows.  I know you do not have time for philosophical crap, but the question is still valid.  If you actually know yourself, as you are now not as you want to be, it would be easy to chose practices that work for you.  Practices that work for you as you are now, as you are as a being in this time, at this place, in this context in history.

I know, no philosophical crap!  The point is that truly knowing, you cannot lose.

"If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle."
-- Sun Tzu, The Art of War, Chapter 3

As Sun Tzu says, knowing yourself is not enough to truly find a best practice (yeah, I just used that term again), you must also know the context in history.  What is the situation, who are the players, what is needed, what do you have, ...  In less words, the context in history.

"A very popular term within the IT community is 'best practice'. It's a wonderful marketing term, how could someone possibly argue about adopting a best practice, but does the concept really make sense? I'm not so sure. There are many examples where a practice that is considered "best" in one context is questionable within another."
--Scott Ambler, Questioning "Best Practices" for Software Development

Scott Ambler is championing context in history and knowing thyself.  There are many different ways to see things.




From one point of view, four 2x4s on the ground next to each other is the number 4, but from another point of view there are 3 open spaces created.  Seeing both points of views at the same time, one is able to chose which point of view is best for them in their current historical context.

Have we gone off the topic at hand?  What about Software "Best Practices"?  Today's "Best Practices" as a colleague of mine, Dave Smith pointed out,  "Today's 'Best Practices' are just the currently generally acceptable practices".



A Software "Best Practice" is often just something that can broadly work and has been attempted to be generalize and sold to different companies.  If you know yourself and know the context in which you exist, then you would be able to pick and chose the best bits of different practices that are applicable to you and your current context.  If you find that one does not work as you thought it would, then do as the old joke goes, "Doctor it hurts when I do this.  Then stop doing that"!