Monday, August 4, 2014

ikr, imu, jux - Does this generation ever write anything in full?

If you tried to pronounce 'ikr' as a proper word in the title of this article then you must be shocked right now as I was when I learnt 'ikr' was short for 'I know right' and you must definitely be from another generation. 

With the advent of so many social media platforms, many people are increasingly throwing their thoughts out there either as status messages, tweets or wall posts. Those with that much time on their hands go as far as edit pictures and append their thoughts to them. I convinced myself a few months back that this generation are a lazy bunch. With each passing day they give me more reason to cement my conviction. Back in the day when social media and messaging were in their virginity, we invented shorthands that simply made so much sense. You could maintain a normal conversation interspersed with a few shorthands and everyone was still on the same page and things still made sense. 

'ttyl' - talk to you later. We all knew this was way too long and we typed it too often when ending conversations. We shortened it. Nice. Everyone got it.
'brb' - be right back. Made sense as this was also used often when you had to stop chatting and get immersed in something else.
'stg' - something. Makes sense ini? Need not say more.
'imo' - in my opinion. Yes this entire article is imo :)
'imho' - in my humble opinion. I think mainstream english even borrowed this because it was too cool to ignore.
'wtf' - what the fuck. Yep! Our generation hates nonsense too.
'omg' - oh my gosh/goodness.
'roflmao' - rolling on the floor and laughing my ass out.This is so long it makes so much sense to shorten it.

The present generation have taken this shorthand thing way too extreme, cutting everything short except the length of their phones.

'smh' - shaking my head. This I can understand.
'sma' - shaking my ass. Oh goodness. Such an immoral bunch.
'ikr' - i know right. Let me reserve my comments on this one.
'imu' - i miss you. Seriously!!  How the heck do you expect in a regular conversation I decipher 'imu' to be 'i miss you'? It could mean so many things. It can easily pass for 'in my underwear', 'is mary unhealthy', 'is money useless'.. just try googling for 'imu' and get the shock of your lives you short handers.
'jux' - just. This gets more confusing when they merge it with imu. i jux mu. Goodness!! 
'x' - is. x d exams on friday? Are you guys paying for the ink on the phone screen? Will understand if you had to pay per character you had but no its all free.
'TG' - thank God. Nuf said. Even God has his share these days.
'idk' - i don't know. Yes if you type stuff like this I wouldn't know what they mean.
'bff' - best friends forever. 
'fml' - fuck my life. Like I care!! You can fylayw (ha! I have given you a taste of your own medicine)
'bc' - because. This used to nicely be bcos or cos. Now it had to get shorter.
'thx' - thanks. What happened to tnx. Abbreviation spelt out the syllables nicely
'kk' - ok. :) Ok is so long it had to be shortened to kk. Amazing!!

So glad I let this out. It's been eating me up for a while now. 
Stfmna - sit tight for my next article. :)


Sunday, August 3, 2014

Budgeting for an App or project - a few pointers.


Like it or not, we are faced at a point in our lives with either having to provide quotations for projects or having to provide budgets for app developments. If you seek the former head off to this article I did earlier. Budgeting is perceived to be a thing for the finance people but what if you are tasked to get it done? Just a few pointers to get you headed in the right direction.

If budgeting for an app seems over the moon, replace ‘app’ with a house and I bet the picture will get clearer.
If you've ever had to build a house (not as the mason) you'd note it is very possible to know exactly how much money will be spent on the building just by having the plan. The blueprints can inform you on exactly how many bags of cement are required for the foundation, how many blocks in total will bring the building up to roofing level etc. The same applies with budgeting for an app. 

You need to clearly define ALL the features of the app NOT an overview or a press description, a comprehensive list of features that need to exist in the app. Once you have done this you now need to 

1. Get the actual cost of developing the app.
This is solely money to be chopped by the software development company. Nothing to do with logistics. You’ll need to get a few developers and/or software development companies to submit proposals. This will give you an idea of how much on the average you need to allocate to the building of the app based on the different rates you received.

2. Are there any non ‘software development’ related costs involved?
Think training. Not the software development company training your staff BUT you training the end users on how to use your app. Apps meant for general public use don't all the time require training. Most specialised project-based (NGOs) apps require training of the intended audience. If your app falls in this category, slap training costs into the budget. Mind you a lot also goes into training. Do you need to hire someone to prepare training material? Do you need to rent a venue for the training? Do you need to print material? Do you need to hire projectors, get food for the trainers and trainees? Do you need to fly facilitators down from Mars? Which space shuttle will you go for, how much, how many facilitators? All these are cost components that fall under just training. There could be more. For training-the-trainer kind of sessions where trainees are required to come from different regions, do you intend to reimburse them for transport? Think holistically of everything required to make the training a success.

3. Other logistics that complement your app. 
There are apps that require third party integrations to make them complete. Maybe integration with a 3rd party SMS platform. You need to cost that. Will you require a team on the ground constantly collecting data? You need to cost that. Will you need a third party company to complete transactions on your behalf, say a payment gateway that does profit sharing or per transaction billing? You'll need to include that also in the budget. Does your app require heavy advertising to make it a success? Budget for it. Decide if you are doing TV, social media or radio ads (maybe all three).

That's pretty much the basic requirements to project or app budgeting. Every multi million project or app goes through these basic steps of identifying all the cost elements that make up the millions.

Please note.. don't dream up the amounts. You need to get out there and obtain real going market costs. Doing this ensures you don't end up with not enough money to get your app completed. It is also good practice to upwardly adjust real market amounts by a small margin especially if your app development isn't taking off immediately. Inflation can make you look incompetent in front of your boss.

There are times when you are given a specific amount to work with regardless. In those cases you need to work backwards and make your cost components fit the amount available to you.

In both cases it is important to keep a spreadsheet of your budget with one extra column for actuals to give you an idea if you overspent or underspent and how to improve on your subsequent budgets.



Monday, April 7, 2014

The UNCOMMON Taxi



Holy smokes!! Wait. Is that a Mercedes Benz S 550 I see dressed in the colors of a taxi? Pinch me please. I don't want to believe I am sleep walking this hot afternoon. No pinch me again for emphasis. 

This is definitely something you don't see everyday. I quickly whisked out my smartphone to check the price of this mansion on the road, of course not before I had satisfactorily taken pictures of this Uncommon spectacle - a very high end Mercedes Benz taxi. In these times when the cedi and dollar don't see eye to eye who would pull off such a crazy stunt. I had to get to the bottom of this madness. In a bid to satisfy my curiosity I drew closer. Curiosity they say killed the cat but today this cat is prepared to die next to this fine ride. 

By now I was standing by the driver's side of this uncommon taxi. No way!! Those who planned this must have really been aiming for the kill. Seated in the driver's seat was this sharply dressed woman. At this point I was both awestruck and confused- pretty much the same way Moses felt when he saw the burning bush. Already a Mercedes S 550 for a taxi is in a league of its own. Now it's being driven by a woman. Tell me if that's not uncommon.  

I engaged the driver in a conversation and within a couple of minutes I had gained permission to take a back seat. I did. Whew!! I swear I'm going to hate my car going forward. Upon a few back and forth questions and answers I learnt this was part of CCML's UNCOMMON campaign. Well they nailed the uncommon right there. She had parked where I met her because they had come to randomly find someone who had been discharged from hospital but couldn't pay their bills, CCML pays the bill and gives them an executive ride home free of charge. I'm blown like a trombone but apparently she tells me it's just the dawn. More to come at sunrise and sunset of their campaign. 

Next I will be digging in to who CCML really are. Watch out for some stories about this Taizi




Thursday, November 7, 2013

Time out with my extended (Esoko) family

I officially packed out of Esoko a couple of years back breaking free of the 9 - 5 shackles, but just like the man who packs out of his matrimonial home leaving all his clothes still in the closet just so he can come every other day to see his wife all in the name of picking a shirt, I still spend a lot of time with these folks. Don't blame me. They are a very fun bunch plus they still throw brain cracking projects my way.

The team is coming up with some very exciting stuff later this month dubbed Esoko 2.0 and have been working round the clock to birth the release. Everyone has been working really really hard and it honestly gets scary at times when team members "go crazy". Some burst into spontaneous singing of songs that belong to no recording artists. Others, after coding nonstop for about 5 hours raise their heads only to ask the rest of us why the heck they got into programming. Just when we think we've seen enough madness, other team members tell us of their traveling experiences to countries they have never been to. Amazing!! Sorry... scary!!

I don't know who gave the order but it came as very pleasant news when we were informed of a company-wide day out to just go chillaxing at the Bojo beach. A nice place those Bojo folks have.
The excitement at the venue was so intense you could cut through it like a cake. We first had to cross over in a boat to the beach area. I had my noise-cancellation Bose headphones on but I could still hear the heartbeats of boys trying to stay tough all through the very wobbly ride. "Eh what if we all fall in this river?" one girl retorted. Just then I saw this guy grabbing a life jacket.



Believe it or not we sailed over safely. He let go of the life jacket.  We disembarked the boat. Everyone was thankfully in one piece. Click click. More poses for the camera. Click. 



If this were a church picnic there'll be a program lineup with opening prayer debuting on the list. A few songs maybe, followed by some words of encouragement from a deacon, a much needed offertory to cushion the transport costs etc. No no no not here ... before I could blink these guys had gone wild already climbing each other crab-style. Don't ask me how they did it. I guess that's what we call team building? Just see the excitement on their faces. If you have vision 20/20 like me you can, if you strain a bit, see the stress running towards the beach.


There were lots to eat. Lots of sea to swim :). Lots of games to play (not the play stations and x-boxes). We saw some interesting dance moves.


People run around a lot. Some for the wrong reasons ...


...others for the right reasons.


The next two pictures.. My favorites... This stress had to go away at all cost before Monday morning. Anyway possible.



You know in an office setting there is always some struggle for power right?... We even took that to the beach. I just had to put this guy's hand down.


The day out was loads of fun. Everyone was fun to be with. We crowdsourced 730 pictures in total. Well that's just counting those that were tendered in. Some iPads and iThisandThat are still hiding a number of pics. In my opinion the day out with my extended family was very much worth it. You know what they say about all work and no play... Even Swabera agrees with me.





Monday, March 25, 2013

Google Translate... a real life experience.

Who would have thought I'd ever use Google Translate for anything other than making my softwares multilingual. It never crossed my mind. Not once.

I found myself in this country colonised by Portugal, making them a portuguese speaking nation. I on the other hand was unfortunate in this particular case to have been colonised by, is it Great Britain or the United Kingdom? It didn't really matter at that moment who my colonial mistress was because clearly the major language they left me with wasn't helping me get past immigration. Even though everything about my travel was clearly stated in my travel documents, this immigration lady just wanted us to have a conversation. I usually wouldn't let such a scholarship slip by but.. in portuguese!! Wait.. Google Translate. I took out my phone. Useless move since I had a Ghana sim card in there.

Somehow I managed to get out of the airport eventually. It was at this point I wished I had instead stayed in the airport. At least the signs in there had english translations. Everything in the city was written only in portuguese. I wondered... are these folks that proud of their language or do they hate the English folks that much. I managed to change some money without uttering a word. Back at home I would spend more time convincing the forex bureau to give me a higher rate than they actually spent in changing the money for me. Not here. I hadn't even learnt how to say 'good afternoon' yet. First thing I did was buy a local sim card. Yes!! Google Translate was back online now. Things were beginning to make sense. I was proud of the Google boys for their hard work on this very useful tool but that pride was soon going to be punctured.

A month in this country and I had picked up quite a few phrases and words but not enough to help sustain the smile on the face of this friendly lady who walked up to me at the shopping mall trying to sell me a product.  "Não falar português" (I can't speak portuguese) I told her. I had used this line so many times it got auto-memorised. This lady was so determined to sell she didn't stop talking. Then she asked a question I had heard before. "Ghana" was my response. At that point her portuguese got advanced so I whipped out my phone, opened my most used app by now - Google Translate, gave it to her to type what she was saying. That was it!! We were by now having a full conversation on my phone. Who would have thought. Google Translate? Unbelievable!! Mobile internet in this country is sooooo expensive compared to what I am used to in Ghana I kept thinking of my credit running out. Already a month here and I had spent so much on phone credits just for Google Translate's sake. Of course, I kept my cool as if burning my internet was okay. Oh how men suffer! So what was supposed to be her pitching her product to me ended up as we having lunch together. Don't blame me for having the vibes.  We ate, talked, well I mean typed, laughed. Was this  turning out to be Romeo and Juliet? I asked her one question and as usual she took my phone to type her response but what I read left me confused... "I am not liking your question" was the translation Google Translate gave me. I think this just became Romeo and Bullet. What did Google Translate tell this lady I said that I didn't say. Obviously, my sentence must have been translated wrongly because in my mind there was absolutely nothing wrong with the question. You'll never know what the question was so stop having wild imaginations :)

Since there is more than one way to say stuff, I rephrased and this time, Google Translate made me proud again. I have been living solely off Google Translate for a little over 2 months now and so far ... so good.. It causes confusions every once in a while but hey... It's a software not a portuguese brain. Great work Google boys!! More Vim.


Thursday, January 10, 2013

Looking back at 2012

When looking back, depending on how you tilt your head and 'angle' your eyes, you either see the immediate past events first or the very early events first. I defy both and look back in a very random manner. What comes to mind first.

A couple of very interesting things happened on the tech scene in Ghana. A lot more people made noise about stuff they were working on. A lot more techies sprung out of their hiding places to catch some fresh air and of course we caught their faces. We also had quite some interesting tech events spicing up our 2012 plus I almost got married but overslept on my wedding day. Ha!! I wouldn't have been alive to write about it.

VIM Series
Vim series is basically a weekly Thursday meeting of tech enthusiasts in Accra. The series was given birth to last year or I'd say it rather got fired up more last year. We had a few interesting meetings. Started wrestling with the electricity company for constant power supply. We of course lost the war and had to move meeting days to Wednesdays. The few successful meetings we had were productive I would say. Lots of giveaways from Google Ghana on a number of occasions. If even nothing academic was learnt, I put a few faces to names I had had several email exchanges with.

DEMO Africa
An event to showcase some apps from around the continent and provide a platform for them to launch. I happened to be a participant in this and was thrilled by both the event and the city of Nairobi. Hopefully I get to come up with something great this year that gets me into DEMO Africa 2013. I met and spent time with the great guys from MPawa and Yeboao. Guys I had been in Ghana with but had never met prior to DEMO.

Topapp Awards
Ghana's first ever app awards was received with mixed feelings (skepticism and excitement). It wasn't until it really happened that a lot of people believed it was real. This in my opinion was a great initiative by Maximus of Pop Out. It's great to have an awards ceremony to acknowledge people in technology in Ghana. I was impressed with the setup and organisation of the event except it started way past the advertised start time. Hopefully we experience a better Topapp Awards this year.

MPower Payments
This was one service I was really looking forward to all year round. A payment platform pulled off by Alfred Rowe of ncodeDev Labs and SMSGH. Developer friendly, sweet UI, works as expected. Now developersinghana have a way to monetize their apps. If by end of 2013 you meet any broke developer that dude is just plain not smart.

GDC Hell aka Iron sharpening iron
Haha!! This was my favorite part of 2012. GDC is the short for Ghana Developers Community for those of you who didn't know and is a Google Groups group where we as developers in Ghana share stuff. We share stuff that are permissible. Last year saw some serious activity in the group. Emails were flying in on a very regular basis from left right center. A few developers had their fair share of peer review, sharpening and scolding - blasting for short. Others had their share of encouragement and help while others still had their mouths shut. Another year gone and they still said nothing. It was great seeing all that action because in a way it helped us amplify our need for professionalism. Every app that made its way into the forum got very well scrutinised and advice constructively given.

I have really run out of memory in my head and cannot recollect anything later than a few months back. On the whole it was a great 2012. Looking forward to a greater 2013. MEST48 is already kickstarting the year with their "2nd MEST48 Product Development Challenge". Get busy and be proud of something you achieved come December 31, 2013 when you look back.



Friday, November 23, 2012

I Promise on my honour to be faithful and loyal to Ghana my motherland.

In a few days Ghana will be going to the polls to pick a president. The whole world is watching. Some confident others scared. I am very confident we will be super well behaved come December 7th and beyond. So confident I bet my signature on it using an android app developed by Bernard Adjei.

Bernard, Esoko's android ninja  seems to have an affinity for the word "Asomdwe". First he developed an app to allow us pay our last respects to 'Asomdwe Hene' (King of peace), Ghana's former president who passed a few months ago. His new app Asomdwe, available on the google play market lets us pledge to uphold our peace come December 7th and beyond.

Asomdwe is pronounced Ah -- Soom ... errrrrm ... forget the rest if you are not ghanaian or cannot speak twi. I just realised the english language is so incomplete. Asomdwe however means PEACE. Exactly what we want after we vote. Why not download the app and "...promise to hold in high esteem our heritage won for us through the blood  and toil of our fathers."




Friday, August 17, 2012

Developers have feelings too

Edem Kumodzi
I went to town with my old man one day and he introduced me to a friend of his we met as "that's my small boy". Heyyyy I felt like dying. I so hate it when labeled with that tag. Small boy!! My mum too. She calls me on phone and goes like "where are you? What are you doing?". Ah!! Those are questions you ask kids and teens not a gray haired young man like me heading for extinction. I don't know about other professions but in my line of work I have heard things that made me almost jump off 5 storey buildings. The only reason I didn't jump was because I had debtors to chase. I had to get help from another developer on this article to tell us what he also dislikes most about this profession. Let me set the ball rolling.

So Michael what exactly do you do. I am a web developer. Oh I have this printer that's not working, can you check it for me? Oh my goodness!! Such fabulous display of idiotic ignorance. It's just like telling the bank manager the security guy called in sick so he should forget his swivel chair and do the watching. How dare you. No please I don't fix printers not even when I am showing off to a girl.

I met with a client to discuss work he wanted me to do for him and his opening statement was "I have this thing I want you to do for me. It's something easy so don't charge me plenty." Oh no no no no not again!! If it were that easy you would have done it yourself instead of getting me out on a sunny day to just listen to, listen to, listen to... I am so angry it just turned me into a stammerer.

Let me make room for another developers' comments before I cause more havoc. Edem Kumodzi works with Ringier WA as lead developer and has feelings too. These are his words not mine. "I hate dressing formal. Thats the main reason why I never fancied working in a corporate environment."

"I hate working with non-technical managers who cannot effectively manage technical projects. They have no clue what I do, pretend to understand when I try explaining and yet make the most noise when the time to blame the technical team comes."

"I hate Clients who can't effectively communicate what they want. They let you dig your entire brain trying to come up with something only to tell you later that, that's not what they asked for. (What did you even ask for in the beginning? Nothing!!!!). "

I really feel your pain on the last point but I guess that's our occupational hazard.


Wednesday, August 8, 2012

The Book of Condolence

Bernard Adjei Oppong
In my blog post on African Time I talked about how Africa is rising in the arena of technology and apps development. Bernard Adjei Oppong, an Android code ninja at Esoko Ltd. developed a great android app and I quote how he intro-d the app to us.
So i got this idea for an android app yesterday. A simple app to record and display condolence messages to our late president.To make it more interesting i added a  simple functionality for users to sign their signatures as well as append their pictures to their messages

As we (Ghanaians) mourn the death of our former President, John Atta-Mills, we all can't go to the castle to sign the state's book of condolence even if they let us. Imagine the stampede and heckles. Those endowed with weight will bully the less fortunate skinny ones like myself so they get to sign first. Ha! Fortunately this app saves us all that trouble. It provides a simple and great way for us to pay our last respects to our former president over the next 3 days of national mourning. Great thing is you don't even need to be in the country or even be a Ghanaian to sign this. All you need is an android device and an internet connection to download the app.

Download the app from here and get signing. #Morevim Bernard. +1






Wednesday, August 1, 2012

African time

These were some of the headlines that made news 5 years back. Africans at each others throat again. President XYZ stages a coupe to oust the incumbent government. War leaves many dead and gives rise to acute hunger. Oil pipeline explodes somewhere because the residents of the town pierced the pipelines to siphon oil. If it wasn't someone fighting another for power, it was someone drunk on power and belching misbehavior on us all. It was one bad news after another. The continent seemed to be breeding all the world's problems.


Fast forward 5 years and the headlines read. 3 African countries make it to the world software challenge. Ghanaian software company is only African company to win awards at ABC innovation challenge. Young boy makes one billion need-I-mention-the-currency-something-shillings from his mobile apps. Software company finds innovate ways to help farmers have better yields. For once the headlines about Africa are not just wars and rumors of wars. There is plenty of good news though we still have pockets of wars here and there. Like a snake, Africa is shedding off her old skin. New things are happening. Africa is rising. All eyes are on Africa. It's our time to shine. Our new meaning for African time.

I remember when the first technology boom happened in the west. I was too young and very non tech savvy - just beginning my tech carrier. After hearing how the tech boom in the West gave rise to companies the likes of Excite, Yahoo, Lycos, Google and Napster, I wished I was more tech savvy then to travel to the states to take part in the boom. Well, God heard my prayer and this time brought the tech boom right to my backyard or doorstep. Like the African proverb goes "Even a mad man will not allow you to step on his penis twice", which translates to, "no wise person makes the same mistake twice". If I missed the first boom I definitely won't be silly enough to let this technology boom in Africa pass me by. It's a great opportunity for all of us in technology to take advantage, get innovative and build sustainable technology-oriented businesses. Those not in tech can also come up with innovations and partner with technologists to build businesses.

If you are a developer and haven't started building something to take advantage of this boom, your dad will need to take your name out of his will. For those who have taken the path of wisdom I have only two things for you.

Let's be competitive: A competitor is an enemy. Whaaaat? Did you read the book upside down? A competitor is never an enemy. Don't stop talking to your friend because he built a competing product to yours. Competition makes us better. It brings out the best of our creativity. Let's embrace it. In getting competitive the sky should also be our starting point not the limit. You and I use Facebook, google search and twitter today because those apps broke free of the boundaries of their continents. You can do same and should aim at it and work towards it. 

Don't be fooled by short lived media hype: The pen they say is mightier than the sword. Well, that statement is somehow flawed if Achilles is holding the sword but mostly true if a seasoned journalist is holding the pen. Journalists can make mounds appear to be mountains. They can hype your not-so-good product till you even get confused and wonder if that's really your product they're talking about. Have a plan of what heights you want to take your product. Don't be complacent when the headline says wow you have one million users. No. We are so many billion people in this world. You should weep instead of stomping the streets like a raging caterpillar when all you raked in was one million users out of 14 or so billion people in this world. Don't relent till you've reached your zenith. 

Death to the African time you and I grew up to know. African time has been redefined.


Wednesday, July 18, 2012

A letter to my mentor while he still lives

Mark Davies
God has brought many people my way who have at various stages in my life helped shape me for the better but this man I write about today helped me in a very great way to be the kind of me I am today.

You'd often hear these nice things being poured out at funerals when the man can't even hear you. Such a smart and convenient way to hide our cowardice. I refuse to be a coward so Mark Davies this is for you from the depths of my heart especially the left ventricle.

It's amazing the interesting way some paths cross in this life. I got a job with Rising Data Solutions in the year 2002 as a coldfusion developer. Rising Data at that time had their office in the Busyinternet building. I had a deadline to meet and decided to stay late to get the work done. A few hours after work hours, this man just came up behind me to ask what I was doing. I told him I was working on an inventory system using coldfusion. "Oh interesting. I have a coldfusion project and will like you to take a look", Mark said. I had never met him in the building before and I knew all the other offices well enough to know he wasn't working in the building so I just discarded what he said. The next evening I met Mark again when I went to make some photocopies at Busyinternet's copy center. He prompted me again about the coldfusion project he wanted me to see so I followed him after making my copies. It was true. He actually had a coldfusion project he was working on himself and needed help fixing some bugs. That was how Mark and I met. He ended up paying me to do the work from scratch for him. It was later I got to know he owned Busyinternet. Cool guy. He no dey rush - as we say it here.

3 years later I ended up working for Mark fulltime and that's when positive hell broke loose. Mark is full of ideas, too many of them. He didn't teach me how to program but stretched my programming abilities with the kind of requirements he desired in his projects. Back then we didn't have all these cool JavaScript frameworks that cook everything for developers these days. His project requirements were clear and no joke. I had to deliver. I made google search my best friend. With that kind of training there is no project I am unable to handle today. Thanks Mark for forcing me to dig deeper for solutions and never accepting "it can't be done" as an option.

Where Mark really sharpened me was in the area of interface design - the reason why a lot of people know me today. For my clean, sleek and user friendly interfaces. Mark helped me attain that height. He took my becoming a UI pro so personal and made sure I iterated over designs until every dot and line was in its right place. He stocked the office with books and at other times came up with alternatives to my designs with most flaws fixed. He pushed me to get simpler and less sophisticated with designs, reminding me always that less was more. He constantly teased me I had line-itis because I loved to use lots of lines in my designs. Well, after going through his mill I am today a better interface designer and information architect.

After breaking away to start Kursor Solutions, Mark gave me business advice and even gave me a copy of the spreadsheet he used to make his 5 year projections for his businesses.

Unlike my other articles I am keeping this one short because - less is more :). My mouth can only say as much as I will forever be grateful BUT my heart knows the real value of what my mouth is saying, especially the left ventricle.




Wednesday, July 11, 2012

I said I won't hire you. Ibi force?

With the current global competitiveness and mass unemployment, the last thing you need is to successfully make it to an interview only to end up shooting yourself in the foot. I haven't attended too many interviews in my lifetime but have conducted several of them. I love interviews. It's so akin to an American Idol audition. You get to meet different characters and get to grill them as much as you want. Well, for some companies it goes beyond the grilling to really very petty things. Very few companies will be frank with you on these things because they are quite personal but for me I said I won't hire you and these are the reasons why.

I was very happy having a great conversation with my nose until you showed up for the interview. My nose asked me to shut up because it had to sneeze a few times to adjust to your terrible body odor. I sneezed
so hard tears filled my eyes. Yes, u forced me to shed those tears for your departure from the company even before your arrival. On a more serious note, will you really hire someone who makes everyone else catch a cold and frown the moment they step into the office? I won't. I said I wont until you buy that deodorant.

Please take a seat. From your CV I see you finished Mfantsipim School. Tell me. What house were you in? House B he answers. House B? Gentleman I also went to Mfantsipim and we have nothing like House B. Is this what you are bringing on board - Lies? If you can lie to me at your interview I wonder what you'll do when I ask for a project status update. I am definitely not hiring any liars. You have really insulted my intelligence. No I won't hire you.

Hi Cynthia, sorry we kept you waiting. How are you?
Fine.
You have a very impressive CV.
Thanks.
Do you have any siblings?
Yes.
...I waited a few seconds for more info but none came so I probed further. How many siblings?
Four.
... again I waited for more info but Cynthia gave me none so I asked.
How many boys, how many girls?
2 boys 2 girls.
My temper rises but I act professional against my wish. Your CV says you enjoyed working on your inventory project, what about it interests you?
Everything.
... That's it Cynthia!! I have had enough. I am trying to be as nice as I can in an interview and you're treating me like an ex boyfriend begging for a come back. Imagine asking Cynthia to take minutes at a meeting. She'll come back with a report like "meeting started. 4 people were present. We discussed. Some laughed. Some didn't. Closed after 30 minutes". Ah! I won't hire you.

After resigning from my last job I was brought in to help find someone to replace me. The above reasons are not fictitious but real reasons why I didn't hire some people who were brilliant. It sometimes goes beyond just having knowledge to being able to really fit within a team environment.

Check your body odor, communication skills, trustworthiness and team player ability. A word to the wise.


Friday, July 6, 2012

I want to see something first! Show me something

Kelvin: Boss long time. How be?
Me: cool man. How you doing?
Kelvin: I base cool. I have been trying call you since since. What happened to your number?
Me: Long story charley. Why have you been trying to hunt me down?
Kelvin: The client is now ready for the project but says he wants to see something first.
Me: Nope. Sorry. I don't do that. I won't give him even a dot until we sign and he pays a commitment fee.
Kelvin: Hmmm... I told him but he is proving difficult. He said he earlier on gave the work to some guy and paid him. The guy spent the cash and didn't deliver so he is now very careful.

At this point I am getting a little impatient with this Kelvin guy, especially for the last statement he made. I consulted my big head briefly and continued with the whatsapp chat.

Me: Assuming KLM lost his luggage when traveling to Germany. The next time he is boarding a plane to another country, will he say because KLM lost his luggage he will only pay the plane fare if he gets safely to his destination with his luggage?
Kelvin: hahahahaha
Me: yea so tell him. The same way he has been bitten once and now is scared to dish out cash before work is done, I have also been bitten more than once by clients who after seeing something get busy with other things and just waste my efforts. No way.

Prior to this conversation I met Kelvin some 30 days ago when I went to fix something on my iPhone. He had also come to the same shop to over-spec his new MacBook computer. As is usually the case with guys, it didn't take long for us to strike an acquaintance. I gave him my card, he got to know I was a developer and promised to get me some clients. I have heard that line more times than I have blinked in life so I just added his words to my archive of empty promises. Next day Kelvin called with a job. This client who now wants to see a demo before he makes a commitment to the project.

Many times developers fall victim to that popular client line "show me something first and we take it from there". I used to show them something. A few clients who are serious enough will after seeing a demo get fired up for action. They'll suggest changes and also bring data for the work to be completed. Many more clients don't really desire to have the websites. They were either forced by a relative or some circumstances to opt for a website. They also ask to see something, some demo. You spend precious hours cracking your hairy coconut just to please this client. After a day or two you come up with something you are so proud about and know will make this client yours forever. You call him and fix a day to show him this, not made-in-ghana but, made-in-heaven demo. A day before your appointment he calls you back and tells you he needs to travel out of town for a week. No shaking. A week is just 7 days you tell yourself as consolation. You call 9 days later to fix a new date for your demo. The client gives you another excuse. At this point you should see signs of your made-in-heaven demo efforts going to waste.

After experiencing that a few times I learnt my lesson and hope you don't make the same mistakes I made. Now I am so resolved never ever to even put a dot on paper if the client doesn't make a financial commitment to the project. It has helped me weed out all the non serious clients. It also means I don't loose should a client decide to pull the plugs after a demo. I still have the commitment fee that serves as compensation for work done on the demo. It's a decision that requires firmness because sometimes the clients can really rap. You may fall for their con lines.

There are however times I make exceptions to the rule and do demos before even signing a contract. These are ONLY with clients I have already done work for and trust their paying abilities. They have proven to be serious with every project they come up with.

If at this point you are still in doubt let's see how the other trades do their transactions. Will a carpenter finish building something for you before coming for payment? You at least pay for the materials and some down payment. Will any lawyer follow you to court without you first paying a deposit? How about admission to school. Will you ever be admitted without at least paying something to show you really are enrolled? The hospital. I don't know any docs who will operate on you and take the cash after a successful operation. What if you join your ancestors - will you send your ghost to come pay the medical bills? I have run out of examples. Give me some more in the comments.

"I want to see something first" - how annoying. If your clients want to see something encourage them to either get into tourism or pursue photography. They will definitely see more things there. I rest my case.


Wednesday, June 27, 2012

I want my 10%. Hidden charges associated with project pricing

This is a sequel to my article "Exactly how much should I charge for this job". In that article I talked about how to go about billing clients. This sequel stemmed from the tremendous user feedback I received hinting me on issues I left out they wanted to see addressed. So here goes.

The either silent or vocal 10%
Don't be mistaken, I am not referring to tithes. I am instead referring to the cut for the one who got you the contract. I tag it silent or vocal because depending on the character of the one who got you the job he may either decide to ask you or assume you know he has to get his cut. You always need to be plain and open about this with the one who got you the job. Ask him, how much will you charge me for getting me the job. It's important to ask first because some take less than the 10%, others take as much as 30% - greedy bastards. You can always bargain with the guy if you think he is biting too deep into your cake. Don't feel too bad about giving this 10 or more percent because it opens doors to more contracts just like tithes open the flood gates of heaven. Mind you, this 10% or more doesn't get recorded on your invoice. It's strictly between you and the guy who gave you the contract. Handle that transaction offline.

Withholding Tax
Some companies, mostly NGOs or companies with international roots withhold 5% of what you bill them as withholding tax. They are required by the laws of Ghana to do so. You need to factor this into your total cost.

Other Taxes
It is important to know what other taxes the company or client will charge you. Some won't tell you before hand and just hand you a cheque with all deductions made. Yea, I know the look that will be on your face. The first time I saw that look was at a friend's engagement. In Ghana, the man is required to give his bride's brother some money (akunta sika) at the ceremony. This friend of mine knew for a fact his bride had no brother. Half way through the ceremony this dude popped up like a virus alert and claimed to be the bride's brother. My friend couldn't argue and had to save face even though he hadn't bargained for this surprise. I don't want that happening to you because, you may end up fighting with your client or his accountant.

Maintenance and retainers
For some funny reason some clients assume you need to maintain what you did for them for free. Well, you need to state clearly what your policy is on maintenance of the work you are doing. Mostly it's good to do free maintenance for 3 months and begin billing for maintenance from the 4th month. Again, whatever the client will require you to do as maintenance can be broken down into hours. There are some fixes that take less than an hour. You can either do those fixes for free or defer billing for that fix until you have enough fixes that measure up to an hour and over.

Except where explicitly requested by the client your invoice can list summaries of major deliverables in the project, not really a fine-grained breakdown of how long it will take you to even open Microsoft Word to start typing the invoice.

My real world invoices
You asked for some invoices I had presented to clients. I am doing this just for you. Just because I love you too much. I usually wouldn't put my rates in the open and I expect you to keep them a secret (yea right!). Note that rates vary between developers and/or development companies. My charges may either work or not work for you. Your client may slap you for presenting them with outrageously ridiculous bills, my client may smile and say "when can we start work?" The invoices below are neither templates nor the status quo and are a mix of past and somehow present developments. You can leave comments on the invoices if you need clarifications. You can also 'borrow' my invoice format or let me know if you have one I can 'borrow' .. scratch my back let me scratch yours :)

1. Blog site
2. Car auction site
3. Community site
4. Another blog site but a richer client
5. Photography website
6. Basic website
7. Corporate basic website but the kind who get bored when you charge them cheap
8. NGO directory website


Wednesday, June 20, 2012

Exactly how much should I charge for this job

Thinking about how much to charge my client
For most developers it is hard to pick a horse when it comes to billing clients for work done for them. It's major to a developer as poverty eradication is to my country's government. Luckily for the developer there are options to choose from and pointers to picking the right horse.

Cut to the chase Mike. How much should I charge? The super simplest answer is... Don't charge. Give it out for free... and no, I haven't been smoking anything. I only said that was the super simplest answer. Obviously you don't like this option. Let's move down to the simplest answer. 

Charge based on a similar project you have already done for someone else. What if I haven't done any similar work for anyone? Let's move to the simpler answer. 

Take stock of what car, gadgets or dressing your client brings to your first two meetings. Evaluate that in monetary terms and charge something your client's worth. What if the client knows this trick and decides to come on foot, in shorts and Tshirt with a Nokia 3310 as the only gadget. He may even show up with a 1998 diary to show you how too broke he is to buy the latest diary. Hmmm!! That's a smart client but you are definitely smarter, the reason why he requires your services. Let's move, this time up to the hardest answer which is the professional approach many experienced developers use. Oh wait before we do that, there is a simple answer I missed. It used to be my favorite approach to billing back in the day. It's the "client must pay for my woes" approach and is best explained with a scenario.

Girlfriend is giving you pressure and has given you an ultimatum to marry her, not the traditional wedding but the 'leave-him-broke' one. You need to move out of your parents before the flamboyant wedding. You did a quick calculation and realized you needed approximately 25k to pull all these stunts off and still come out alive. Just then God smiled on you and sent this client your way. BAMM!! you hit him hard with all your woes. 30k. This is so very unprofessional but you can either get lucky or get jilted by your girlfriend.

The more professional approach
There are 2 forms of billing. Fixed project billing and time-spent based billing. For freelancers and developers doing side jobs, I'd recommend the time-spent approach. This approach requires that you do 2 very important things.
- Know your worth and 
- Determine your hourly rate (how much you'd charge for every hour you spend working)

It's important to have an hourly rate and also be able to track how much time you spend on a project. In determining this, you don't have the freedom to pick any random ridiculous hourly rate since there are standard rates for the software development industry - web development in this case. Based on what value you place on yourself, your hourly rate can either be a little above or below the industry standard. Multiplying your hourly rate by the total number of hours will give you the total cost of the project. Ahem!! That's second grade mathematics.

A few factors affect pricing both upwards and downwards (sounds like the stock market). 

Your environment:
It's no doubt that pricing cannot be the same even on the same continent. A developer in South Africa can charge much higher than a developer in Ghana. A developer in Ghana can charge much higher than a developer in Togo. South Africa has a more mature technology environment where clients know the value software adds to their businesses. This makes charging higher more meaningful and acceptable. The case in Ghana is different but worse in Togo. Though there are going web developer rates, you may hardly get any jobs or probably send clients to their early graves should you charge like a South African developer while in Ghana. Ask other developers around you what their rates are. That'll help you make an informed decision on what your rate should be.

Your positive track record and experience:
This is something you can use to your advantage only if your track record is positive. I am not hating on anyone but its no secret that Jay-Z can charge more for tickets to his show than Kanye West because, Jay-Z is the people's choice. He is top rated. Well, even though I jealously dare to say the ladies will pay more to go see Justin Bieber or Usher, I believe you get my point which is, people will always be willing to pay premium for the best. If you have developed a few great stuff that are in the public domain, they can serve as reasons for you to squeeze a little extra out of clients. There definitely will be some willing to pay. If you are an experienced developer you definitely won't be going with the industry-standard hourly rate. The client needs to pay for the maintenance of that gray hair.

If your track record has question marks, you may need to drop your rates a bit to get enough work to redeem your image.

After arriving at a total cost of the project what next?
Hourly rate x Total hours on project = Total cost of the project, is not the end of your world of pain. You need to consider a few more things before finally submitting the bill to the client.

Discounts
It's important to give first time clients some discount. Discounts have an invisible way of letting clients want to come back to you for further business. Don't be greedy. Do it! How much discount you give is entirely up to you but shouldn't end up with you insulting the client with every line of code you write. There are also times when after arriving at a total cost you genuinely know the client will not be able to foot that bill. Discount it for him. Clearly state your discounts on your invoices so clients know you are doing them a favour.

Insulting amounts
I won't be surprised if you don't believe this because I couldn't believe my eyes and ears either the day it happened to me. A client (a very big company) felt so insulted when I gave them  an invoice with an amount in the few thousands. The guy actually raged as though I had broken his only daughter's heart. All I did was present an honest bill based on how much time I was really going to spend on the project. He saw it as too small, which he interpreted as the work not being valuable enough. The lesson I learnt from that episode is what I asked you to do in paragraph 4 but thought I was kidding. Sometimes you really need to evaluate the worth of your client and give them a bill worth their status. Strange but that's what makes life interesting - the different characters and characteristics.

In conclusion
Just an advice. Never charge a client without hearing in full detail what their specifications are. Never! Not even if they promise to give you a befitting burial. Don't let them succeed in coercing you into giving them an 'estimated cost' based on your experience with a similar project. You'd regret if you did. You'd end up frowning throughout the lifespan of the project. Each line of comment of your code will end with :(