If anything, we are dealing with clients, right? And clients are stupid, right? How about WRONG!? How about we look at this issue from an unselfish angle? Can we? Shall we?
Coding is a new venture to most people in Kenya (Coding professionally for pay), and since analogies are the order of the day in Mkwanjaville, I will share a few.
Let us use the Cab guy today.
This is an easy-reading post meant to inspire you and open your eyes. Also, it should act as a guide to make sure we have happier clients in 2013, and more-loaded, less-stressed coders.
Business/Life-lessons from 2012.
1 – The driver v/s a businessman stance
When the Cabbie wakes up in the morning, he tells his wife “Nimeenda Kazi” (I have gone to work). This is a person who has no confusion whatsoever about what he is going to do. He is not out there to awe people on the highways on how fast he can drive. He has no intention of making friends by giving way on the road. He gets up early, cleans his cab and parks at the most conspicuous spot with a sign saying “TAXI”.
So, as a coder, the focus should be simple. You are not here to appear on TVs and win local Hackathons. You are here PRIMARILY to solve human problems via code. Then, make some serious loot if your systems are polite.
I cannot overemphasize how CRITICAL this clarity is. If you go home with LESS money on the 30th than you had on the 5th, you have an issue with clarity.
2 – One customer at a time
Lesson learnt the hard way. Remember how pissed off you get when your cabbie stops on the road to pick another passenger since “you are going the same route”. More so on your tab? Remember how ANNOYED you get when your cabbie is late because “he was dropping someone first”?
The same focus and ‘respect’ you demand is the same one you MUST accord your client as a coder. I have learnt the hard way that it is better, safer, more fulfilling and satisfying for both myself and a client to “over-charge” ONE client and block off time to finish their job in/on time, than to charge cheap and be called “affordable” then take on 4 projects at once.
You will fail in ALL of them.
3 – Detour = Extra charge
Take a cab from Junction to Kenyatta. Straight. The cab guy will agree to charge you KSHS 500. Once you reach Adams and decide to pick some Fries from Java, he will wait at the parking. But will inform you that you will add KSHS 200 for waiting. Unless you are called Wangechi and can cook chapatis. Then you reach iHub and decide to pick your Green Membership Card. Another 200. So the trip changes to 900.
Same thing happens in code. Make it VERY clear that Item 1 and 2 are “on-Scope” and cost USD 1200, but the new item 3,4,5 and 6 are “Off-scope” and DOABLE at a fee. They will have an impact on budget (fiscal and time-wise). No matter how “small” the detour is.
“But you do these things every day!”, a typical Kenyan client would ask. “So does the cabbie, madam. And he charges for doing the same stuff daily”, should be your response hence.
4 – Know your trade and tools of trade
The cabbie knows that he can use the smooth jam-packed Ngong road to Jammu or the rough and bumpy no-traffic shortcut. Same destination, 2 different routes/approaches. All you want as a client is to reach Jammu. The cab guy will estimate the fuel. They will decide whether they have enough fuel to use the long smooth road, or whether their shocks are strong enough to handle the rough road.
A client wants a website that will have a Mobile and Wap extension. You need to know what options you have. Do you use Java for the site and PHP for the mobile app? That is plain stupid. You are the “professional” here.
Know the best way to deliver the fastest, best and most functional solution for the client.
5 – Your problems vs Client problems
So, you reach Adams and he gets a puncture. Does he call you another cab? That is an option. But he quickly jumps out and fixes the issue in 6 mins. Then uses Menelik road all the way down past iHub. Less traffic to recover lost time. Retains you as a client.
He knows that he needs to be able to handle “simple problems” himself otherwise he loses out.
What? Your laptop got stolen? You better have a backup and a Plan B to continue the work. This is not a ‘client problem’. What? Your battery cannot keep power? Your CD-Rom drive has ‘issues’? How is that the client’s problem?
The coder’s advantage
A cabbie driving 2 KMs from Junction to iHub 5 times will cover 20 Kms in total. No matter how good s/he is.
Ofcourse, as a coder, you can re-use code/logic at no effort. Trip one will be 4 KMs, but trips 2 to N will be CTRL+C.
A client is like a girlfriend. Treat them nice and with respect, and they will never DM #teamMafisi.
Back to code.