Why developers should never run a country and what we forget is important when writing code…

I’ve always had a very critical view of politics – always figured its easy to wear those rear-view glasses that gives you a perfect 20-20 hindsight and running a country is easy.

Now I’m a developer (and therefore wholly unsuited to ever run a country) and as we all know, developers are really smart – well…at least everybody else seems to think that what we do is sooooo incredibly difficult to do, so alas, we must be absolute geniuses.

Brain%20SpawnOne way in which we are very good at amplifying that image is when we start to throw “Teh Jargon” around. Everything we say, every sentence, is stockpiling TLA’s and FLA’s, making everything we say sound phenomenally complex.

One other way is also in our code – ah yes, the brains of the universe – what makes the work go ‘round. tick-tock…Here’s where our egos gets a serious dose of “I AM TEH BRAINZ”.

We love complex solutions. We love nudging a colleague and go “suck this up, buddy!” and watch his eyes go blank because he has no clue as to what he’s looking at. There’s something fundamentally satisfying in creating something complex and see it work. simple_test-300x299

However, we often forget some of the things we learnt when we first booted up that PC in class..

I remember my very first programming construction teacher (this guy designed the manufacturing system for Lego in the old days when punch cards were hitting it off) – it took us three months to even start to write code – and man, were we impatient – we wanted to crunch that code NAOW!!!

But at first all we were doing were describing the steps involved with creating a cup of coffee. That took us two weeks to do….????…That’s just crazy, but our teacher wanted to prove a point before moving on with something that we should all have thought about – for real, remember we are the smart ones..we’re taking this course after all.

the-kiss-principle1It’s this principle that we forget all about, the minute we enter into the professional world because we have to make sure that our colleagues at least think we know what we’re doing.

Keep It Simple Stupid

It’s perfectly natural for us (especially males) to strut our stuff when we’ve achieved something and we tend to let our code speak for itself. We just forget that the simple solution is the smarter solution.

If questioned about our solution we’ll also shift the burden of proof to defend our solution – again possibly by throwing “Teh Jargon” around. It’s this exact complexity “need” that makes us completely unsuitable to run a country.

I remember one of the fundamental ways to actually map out a process, be it for a multithreaded complex solution or a simple procedural solution – pen and paper out (what? i’m into computers g’damn!) – and then we map out those processes we “think” we need (knowing them would be ideal of course, but we’re developers damn’it and don’t listen anyways). This process was called Pseudocode/prototyping and made the way for flowcharts and UML diagrams/charts. But how often do you think a developer would count Visio in among his most often used tools?

Right, cause we are “TEH BRAINZ” we don’t need any of that smuck – newbies and juniors need that, right?

Developers has evolved, of course, that goes without saying but look into the 1,000s of online communities out there today and look for threads titled “I want to learn programming, where do i start?” and 99% of the responses are “Check our these tutorials” or “Buy this book, excellent way for newbies to start” – and not knocking those answers because those tutorials and that book are generally some of the best sources of information on the language/platform.

We also tend to argue that writing code is a science – we can quantify and qualify everything mathematically – hence it must be a science.

But the part that’s seriously missing is the analytical part – what describes how our mind works when we’re interpreting a solution to a business problem? Well, it’s definitely not “Framework X is da bomb!!” or “You must follow our company’s code convention”. These facets are important for the business, but how processes are mapped down is the ART form. The form that cannot be explained by running extra performance tests on which iteration type works best for a specific solution.

I’ve always stated that developers are NOT business process analysts – simply because we don’t think similarly. We need analysts for that.

So, not only don’t we create the most simple solution but we seem to forget the most important aspects when writing code as we “mature”….

Geek went off the track – King Jarrah hike

I am admittedly a geek – i cannot deny that i love gadgets, code, the interweb but this weekend i went off the track completely.

I had three days with no mobile, no laptop and no internet – not one single line of code was written! It was probably a first for me for a very, very long time.

I spent three days (Friday, Saturday and Sunday) camping with my best friend at the Nanga Mill (Lane Poole Reserve, Murray River) campsite near Dwellingup (around 140km from home) with plans to do the 18km King Jarrah Walk.

We arrived on Friday (left 2 1/2hrs later than originally planned because it was literally pissing down in Perth, flooding roads et al) at Dwellingup at around 12pm – had a fantastic lunch (and a pint of course) – and set out for the camp site around 2pm. As we entered Lane Poole Reserve we had blue skyes and the day was looking brilliant. We got our tents set up, camp kitchen and was debating setting up a tarp as a roof over the kitchen area. but then it started raining again. The forecast did mention showers in the afternoon but it was meant to clear up so we just hung in there, sat in the car for about 30mins till it blew over. Then the tarp went up for sure.

30mins after that we had a fire roaring and was enjoying some outdoor life – first thing that hit me was the smell…the fresh air was absolutely awesome and coming from an airconditioned environment (office, home) i couldn’t believe how envigorating the air was in the forest.

Anyways, since it’d been raining for most of Friday we had almost no other campers around us and got the premium spot for ourselves at the camp site. That changed during the evening as some caravans popped in – t’was ok, we had the best spot already 🙂

Near death experience – angry roo during the night!

Ok, maybe not a near death experience – i woke up at around 2am to some sounds..thump….thumpthump..russle russle…thump…thumpthump.

I looked out the tent and saw 2 grey kangaroos, standing no less than 3-4 meters from me, rummaging through our food box!

Thinking that bright lights would deter the mob i shined my dolphin torch at them – of course that didn’t work as they simply looked at me briefly and continued to rummage through the box.

Feeling a bit under the weather i threw a leather sandal at them – didn’t hit either of them but one got a fright and jumped straight at me! Freaked out by the ravaging kangaroo i ducked back into the tent and zipped up again!….thump thump..russle russle..

The roo was back at the box. Ok, i had to be brave so i got out of the tent (rather than leaning out throwing sandals at them), in the hopes that they’d go away if i got close enough. I got out, they looked at me, then went back to rummage through the box – i then had to sneeze, which incidently scared the hell out of them and they ran out. Box back in the tent and back to sleep. What a Croc Dundee i am eh!

Next morning we woke up bright and early – fog was still hanging in the trees,  but we were ready for our hike..just a quick breakfast + coffee and then we were off.

The hike was a category 4 (so not beginner and not mountain goat difficulty either) and is scheduled as a 6-8hr hike – we left at 9:30am on Saturday morning and returned at 2:30pm – completed it in 5hrs so we were pretty stoked.

The first hill was without a doubt the toughest – we weren’t warmed up yet so it was (for me at least) a huffy and puffy ascent.

The first leg of the trip was over hilly country but after 2 1/2hours we arrived at the King Jarrah – we then took the WA 4×4 Club track on the way back, which ran along the Murray River and at 2:30pm we were back.

It was without a doubt an experience I hadn’t had before and are keen to get out there once more!

We are hoping to do the Cape to Cape walk down south (124km in total) sometime next year, but we probably need a bit more training before then 🙂

So i survived a weekend without technology – who’d have known?

Lest we forget

I served in the armed forces before coming to Australia, as I believe every young man should, and there’s one special day each year that brings back memories for me as well.

Anzac day

I’ve always been impressed with how Australians commemorate their fallen on this day and it’s a shame to see “some people” advocating getting rid of the day once their last Anzac has fallen. I think this day has more meaning to the people of Australia than a lot of other public holidays.

Have a great Anzac day – Lest we forget

God of our fathers, known of old—
Lord of our far-flung battle line—
Beneath whose awful hand we hold
Dominion over palm and pine—
Lord God of Hosts, be with us yet,
Lest we forget—lest we forget!

The tumult and the shouting dies—
The Captains and the Kings depart—
Still stands Thine ancient sacrifice,
An humble and a contrite heart.
Lord God of Hosts, be with us yet,
Lest we forget—lest we forget!

Far-called our navies melt away—
On dune and headland sinks the fire—
Lo, all our pomp of yesterday
Is one with Nineveh and Tyre!
Judge of the Nations, spare us yet,
Lest we forget—lest we forget!

If, drunk with sight of power, we loose
Wild tongues that have not Thee in awe—
Such boastings as the Gentiles use,
Or lesser breeds without the Law—
Lord God of Hosts, be with us yet,
Lest we forget—lest we forget!

For heathen heart that puts her trust
In reeking tube and iron shard—
All valiant dust that builds on dust,
And guarding calls not Thee to guard.
For frantic boast and foolish word,
Thy Mercy on Thy People, Lord!

Wasting a phone scammer's time – best fun in ages..

Damn right I had a seriously long laugh today at somebody else’s expense….

Ok – i should probably just qualify that statement before i get stoned.

I get a phone call today (noticed it read “overseas” on my caller ID) from a very helpful lady, who had a slight indian accent, telling me they’re calling from “The Computer Corporation Support Desk” with regards to the problems i’m having with my computer…

It went a little like this..

“Hello Mr. Madsen…”
“Mr. Madsen…I’m calling from The Computer Corporation regarding the problems you’ve had with your computer..”
“Really? What a coincidence…i just tried to call you guys, not an hour ago!!!”
“Yes, that is why I am calling”
“Mr. Madsen, could you please turn on your computer”
shuffle shuffle shuffle shuffle….
“Beep…Ok, it’s turned on..what do I do now?”
“Can you see the Start button? If you can, click, and then click on Run for me…”
“Ok, easy – I’ve seen this one before….ok, done..now i see a grey box and three buttons…now what?”
“Now type this command in EXACTLY as I say it, ok Mr. Madsen………e v e n t v w r”
“Hang on..i think i got it wrong..what does eventvwr mean..are you sure it’s e v e n t v w r?”
“Yes Mr. Madsen…Click ok and tell me what you see…”
shuffle shuffle shuffle shuffle….
“Hello..I got a screen with a lot of stuff here..”
“Yes, it is very complicated – but we are trained professionals…now tell me what do you see.”
“Oh man..there’s so much here…i can’t even pronounce the first one…I’ll have to spell it for you”
“?? ok Mr. Madsen…just getting a pen…ok I am ready.”
“Mr. Madsen..Can you please slow down for me..”
“Ok sorry…it’s my accent…ready? ok…T for Tango, H for Hotel, I for India, S for Sierra, I for India, S for Sierra, A for Alpha, S for Sierra, C for Charlie, A for Alpha, M for Mike, L for Lima, O for Oscar, G for Golf and S for Sierra….did you get that?”
“Mr. Madsen…that reads ‘This is a scam Logs’…Hang up your phone, i don’t want to talk to you.”

Boy did i feel bad for wasting that poor lady’s time…

It pays the bills…but is that enough?

I’m sure many industries today requires you to have some level of enthusiasm for what you do, but how often don’t you hear a buddy of yours complain about their job…They don’t love what they do and if asked “Why do you do it then?” the answer is most of the time “It pays the bills, why else?”.

I know it’s bad to label people, but sometimes you have to and i have two labels that i apply to people within the IT&T industry.

Those that have a job

Those that have a career

Now, this label, doesn’t have anything to do with being a good or bad employee – all companies needs an equal share of both.

Those that have a job
We all know them – they’re good at what they do, they’re here on time and leave on time. They get by purely by being there and putting their heads down for the required hours. They know their jobs and their worth. In most cases you’d be hard pressed to see this person listen to a podcast or use a book on programming for anything but a reference manual.

Those that have a career
These are the geeks of the office – you know them – sure you do – they don’t stop talking shop and are constantly preaching about this latest beta, or that gadget. They are the ones that stay up late because there’s this product launch being streamed online at 2am. You always find it hard to keep up with them because they seem oblivious to their surroundings and their heads spin at 7500rpm and above.

So, these labels have designated roles within a team – The “Job” guys are there to see the project develops steadily, according to plan – you know, the On Time and On Budget guys. No risk taking here. If you have a whole team of these individuals, you’d quickly see the risk factor lower..well, because they don’t take any chances. Why should they, it’s not their job to take chances. The “Career” guys are constantly wanting to play with the latest and greatest new release and most often willing to take a chance.

Which label are then the best employee type to have? Frankly, you don’t want to have only one or the other. What you need is a healthy balance. The “Job” guys are your worker ants so to speak – they carry the most of the team along at a steady pace BUT they are not innovators. They’ll happily stick with VB6 for the rest of their lives..simply because it “Pays the bills”. The “Career” guys are more often than not pushing the boundaries and driving innovation in your team.

So when do you have to make your choice of which “Label” you want to wear? early…yes, very, very early. With technology as rampant as it is today, it really isn’t hard to loose track of what’s out there, what’s new and what’s coming soon.

I generally advise the graduates to consider what they want to do and put their expectations alongside the “Label” they’re looking to wear. Because honestly, you’re not going to be a Snr. Developer in 4 years time if you don’t apply yourself.

Here I come to my own “Label” – I’m a “Career” person – no, not the one walking around with circular saws on their elbows, nudging every man, dog and cart out of the way because i’m on the floor. I literally love what I do and I invest a large amount of my own time to what is needed – Professional Development. Where’s my frustration with the “Job” guys? yes, you figured right, it’s extremely frustrating when people around you are lacking enthusiasm.

Expectations has to be realistic here – you see your friends achieve more than you because you’re busy with other stuff and can’t really be bothered to put your head into a book or trying out this or that beta release. Yet you still expect that $10,000 payrise every year. It’s simply not fair to you that you don’t get the same opportunities as those “Career” guys. They’re just sucking up all the time.

What are my expectations – well, I expect to be paid appropriately but more important to me is that I honestly love going in to work. The day I don’t have that spring in my step is the day I need to look at other opportunities.

Fact is, you spend the majority of your waking hours at work – why should you not love what you do? I’d say it’s a waste of life.

So, if you have goals and aspirations of being a mover and shaker, think early about what you want to do – don’t sit with a thumb up your @#$ and expect things to be handed to you on a silver plate because it’s a big, big mean world out there. You need to help yourself and to do that you need to invest.

When you hear people moan about “I got no training this last 6 months” you have to wonder what they did themselves to advance their own professional development? I get severely frustrated when i hit that wall with people. Thinking that it’s the employers sole responsibility to make sure you get training? seriously, that’s 10% of the total investment that you should be doing into yourself. The other 90% is your responsibility – don’t forget looking at those blogs, articles, ctp/beta releases, podcasts/webcasts et al is an investment into yourself – does the company gain from it? of course it does, but who benefits the most? yes, yourself of course.

So, get involved guys…get that finger out and start investing into yourself because we know that just paying the bills are no longer enough.

What’s your professional development plans for 2011?

At the beginning of each year i sit down and try to knot out what i feel worth spending time on for the coming year. 2011 being a new year got that same treatment.

I’ve found that this leaves less time wasted and categorise my efforst into three main groups.

Major, Minor and AdHoc..

What i do is i take large (Major) targets, such as learning a new framework, achieving something (like a promotion, getting certified in X, not shooting the dog) and allocate a timeframe to it.

Say for instance MVC 3.

ok, i’m fairly up to speed with MVC 2, but it’s a new version so i try to give it a Major ranking.
Since the year has 12 months the more “Major” targets i add, the less time i have for it. But the year is divided equally (basic math here, 4 “Major” targets == 3 months to learn each..12 “Major” targets…well…get back to me on that one). So since MVC 3 is one of my “Major” targets for this year we start out with 12 months for it (it’s the first and highest priority at the moment).

“Minor” targets are in weekly increments but cannot exceed more than what 1 single “Major” target has allocated (otherwise i’d be a “Major” right).

“AdHoc” targets are daily summaries – such as blogging, tweeting, attending an event – they’re small 1 day targets only and cannot exceed more than a “Minor” target (makes sense?).

So, question now is, what’s your “Major” and “Minor” targets for this year? or haven’t you thought about this yet (tick tock tick tock…that’s the sound of your time running out)?

What’s good for you, is good for me!

Since i left the army back in the 90’s and taken on a full-time desk job (IT Consultant) I must admit that i’ve gotten a little soft around the edges.

In my defense i’m a lazy shit – yes, that’s a defense because it’s obviously the truth. That is however changing and one of the things i’m doing these days is to take my young Rottweiler puppy with me on a nightly walk.

Since i left the army back in the 90’s and taken on a full-time desk job (IT Consultant) I must admit that i’ve gotten a little soft around the edges.

In my defense i’m a lazy shit – yes, that’s a defense because it’s obviously the truth. That is however changing and one of the things i’m doing these days is to take my young Rottweiler puppy with me on a nightly walk.

And, to say that the lazyness is being shelved, i’ve kept the walks up over the christmas period where i had 3 weeks off to enjoy the festive season.

In those three week i doubt i missed more than 3 walks – hell i even walked the dog on New Years Eve as we got home from the party – that was around 1:30am.

So i’m quite serious about actually shedding some of this “softness” and i’m sure it’ll help.

I want to do more – but i do have to be a bit careful as i have a dodgy knee (had a knee reconstruction done when i was younger) and the extra weight isn’t helping things. So, as soon as i’ve gotten rid of a bit of the excess then i’ll be taking on more active..errr..activities.

Not quite sure yet – i’m not a “sporty” person by aussie standards – that’s to say i don’t enjoy the typical aussie sports (Footy or Cricket) but i’m sure i’ll find something else.

Always wanted to take up some sort of martial arts – but am unsure as to what i’ll be picking – i know i don’t want an “aggressive” art..i’m plenty aggressive as it is and i don’t think it’d be a good idea to pick something that would errr…enhance that. We’ll see.

So, the nightly walk is approx. 4.71km long and i must admit, i’m probably enjoying it as much as the dog is now as well.This is the route I drag Rosie around on.

A New Year – A New Home

Yesterday i got the news from our dear MSMVPS.Com admin that we could migrate our blog from Community Server to WordPress and so i decided to take the step.

it’s a new year and i now have a new home!

I’ll be migrating quite a few of my older blog posts across from CS to WP..

This also means that i’ll be blogging a lot more – community (LIDNUG) work has kept me insanely busy the last 6 months seeing as we’ve grown past 41,000 members. We’ve stabilised quite nicely and i’m sure i’ll be having more time on my hands.

So, welcome to my new home…

Proud Daddy–My Clever Vegemite Gets An Award

Yesterday was the last assembly of the year for my oldest daughter, Flynn, at her school. So naturally I had to attend, especially as we’d been informed that she would be receiving an award.

Of course this meant we’d be there in full force, supporting our little girl (not so little any more tho).

So we get there and all the kids are seated (pre-primary to year 7) and each year has their own awards to hand out to those kids most deserving.

We slowly creep past the pre-primaries and we then get to year 1 – Flynn’s year – and the awards are announced. We wait patiently as three other girls gets their awards in different categories. Then, finally, the last category – Academic Excellence Math and Literacy – and Flynn is called out.

I’m snapping shots off as fast as I can, not paying attention to other parents, seating arrangements..you name it..this is my little girl who’s going to be rewarded for all of her hard work this year.

The teacher, Mrs. Plenty lists off the reasons for Flynn getting the award and I suddenly find myself sniffing with tears running down my face (yes, I blubbered like a prepubescent hormonal teenager).

Flynn - Amazingly Clever Vegemite 2


Flynn, I’m so proud of you. You’ve shown dedication and a work ethic way beyond my biggest dreams.

Whatever you do in life,whatever is thrown at you,look back and remember this day for I know I certainly will.

There is nothing life can throw at you that you can’t handle and I know that anything you set you mind to, you can do.

I was so proud to see you stand up there, smiling, and receiving your award. An award that you have worked so very hard at.

You are such a humble, unassuming girl, always ready to help others and never have you had a mean streak in you.

I know that you may not yet understand the significance of this award but it is proof that you have the right mindset, dedication and capability to face anything!

One day we will look back on this day…You dad. December 7, 2010.