Thus Spaketh Idd Salim

Coding

My 3 challenges to all coders for a better 2012

by on Dec.20, 2011, under Coding, Personal

Tuko down wasee. ki IT.

Kubalini na hiyo stori iishe, so that we can move on and ameliorate our locus standi.

Haki, why lie? Tuko down kama BJ ya CD. Kaa dance-floor ya Rezorous. Kama mixing ya DJ Joe Mfalme. Acha nisiendelee na examples niambiwe nimetukanana.

Some people I know wamekubali, and working hard to fix this. Some people I know bado wana skills za Adebayor, but wanadhani hao world-class striker.

Cheki. The IT profession is being taken as a con. Projects haziishi. I have been in this situation before. So, I asked myself, “Salim, what is the problem? Is it the money? Is it distractions? Is it skill-level?”. Na sasa I have compiled a list of things we need to do in 2012, to COMMAND some RESPECT in this modafoka.

It is about time all this bullshiite stopped. Na I, personally,  will be a MAJOR player in 2012 in this course.

Hizi ndizo issues.

Psyche/Ability vs Capacity issues: The top, top coders are few. The versatiles ones (msee mnoma graphics + Code + Servers + Networking) are even fewer. So, this types  get ALOT of jobs. The end-product? NONE of the jobs get finished.

Why? Here is why. A project has 3 parts. The easy bit (wireframes, configs), the interesting and challenging (code, DB, unit-tests) bit na the fuckin-boring bit (UAT, training and documentation). Most projects reach a phase where it just BORES the coder. The money is never an issue. Hata kama unalipa msee 200k per week, bado atafika place ashindwe kumaliza. Unakuta project 1 and 2 zimefika boring-phase (i.e. 70% done) na msee ameanza project 3.

Projects zinakuwa kama madem. Wakati project one inanyesha (reaches boring phase), unaanza na 2. The 2 inakuwa tamu sana. Unalenga one. Client ameanza ku-call? But 2 inakusugua poa. One inaanza kupata software-rot. Hata ushasahau what you were coding. Thought process isha-lost. Ukiirudia ni kama unaanza tena.

Solution: Learn the skills on how to finish a BORING project. (or at least the boring bits). Here are some pointers:

Tunaweza na tutafanya vs Tumefanya issues: A client talks through a problem and you can already see the solution. An overview by the client, only gives birth to an overview by the developer. But the devil and all his 72 sluts are in the details. A simple project becomes a night-mare when that SMALL item that you thought uta-google, returns ZERO results and, to the client, is the BACKBONE of the system.

Solution: The assumption that all we need to do is WIN the project quote and we will get a coder to do that, should always be frowned upon. If you have NEVER done a system before for fun, chances are that you will NOT be able to do it for money. Experiment alot with ALL the things a language can do.

Java? Use regexes, XML, RMI, RPC, Hibernate, Spring, J2ME, Android. Experiment. Experiment. Experiment.

PHP? Do OO. Do classes. Do ORM. Do MemCached. Do Regexes. Try Curl, not fopen(url). Try Mysql and Postgres. Experiment. Experiment. Experiment.

So that when the time comes, Umefanya. Si Utafanya.

Mobile vs Web issues: We all know that Manual na Auto driving are different. Any gal worth her salt will tell you that kidole si ulimi. Any investment broker will tell you that shares are not bonds. And that is what we need to respect.

The challenge here is to get deep. Don’t beat around her bushes. Get in there. Know it deep. Kama unafanya Android, understand simple things like the 20-small–individual-image-files vs one-big-image-file network/phone IO considerations. Understand simple technologies like XML, JSON etc. Don’t just re-use googleCode, challenge yourself beyond the project scope. Beyond the money.

Learn to be good. Super good! Always criticize yourself. Not just good enough to finish a project and get paid and laid.

Do a FULL project bila googling or using the manual. Ask a coder you know is good for a copy of their pet projects. Read their code and make love to it. Understand it. Feel it. Know it. Don’t cram it. Challenge yourself to Reiwrite it. That is the ONLY way ya kuwa mnoma.

Expectations:

These done, then we can finally call ourselves “wanoma”. We are super-good, we can code bila googling, we have ‘faced and solved’ any challenge a client can throw our way, we deliver 10 days before due-date. Everytime.

@Buggz79 call this Integrity. @Mmuendo calls it ‘a perfect balance between relations and delivery’, @mbuguanjihia calls it ‘leaving the client speechless’. I call it “kuwa mnoma”.

This is what I will do in 2012. Are you with me?

Back to code.

Wazi.

2 Comments more...

The 4 types of CODERS all people/investors should avoid

by on Dec.06, 2011, under Coding, Personal

Beware of the trapThis thought-process in the form of an article was requested by NipateNdaniYaMtandao as a flipside of this article that I wrote last week about the coder’s night/day-mares.

There are alot of posers who promise a client heaven and end up disappointing the people. This brings a bad name to coders in general.

Jobs start getting sent to India and Sri Lanka. Why? Because the client had ONE bad experience.

S/he said:

next tym write on how investors can notice fake coders and run from them lyk a plague :) …wanadanganya they can do magic n they cant even do anything…they lie to clients then make guys hate kenyan coders after such experiences…u knw many clients will pay u money to develop something they want,if u cant hack say so early, dont hepa  jus coz the guy is in a high office n cant come get you at the ihub or at some hostel.

Before that, however, I would like to add another type of people coders need to avoid. As Brian Wangila pointed out:

The common one I have met is “You just do this one cheap for me and I’ll refer you to my many big friends”…RUN AWAY VERY FAST!!

I have met quite a number of these. This is commonly referred to as the “You just get one foot inside” crew. Yeah. They they break the foot. The “By the time we are done with you, you will go straight to CMC or DT Dobie” people. These people pretend/claim/purport to know everyone in town. They were either in school with them, hang out with them every week or play golf with them. “He is married to my sisters, half cousin’s nephew”.  You have a system you want to sell to Safaricom? Don’t worry. Bob Collymore is my close friend since childhood. I am Evah’s neighbor. I bought Nzioka a few drinks last week. Run like a hawker after sighting a Kanjo.

Now, back to the lecture at hand.

I speak from personal experience. Being once a coder in distress. Once a hand2mouth coder. Once a code-for-food IT pro. Ask anyone I tried to do a side-project with from 2010 backwards and you will be filled with stories of gloom. I was often described as : “Someone who is very talented, but cannot focus enough to finish a system”.

Ofcourse, alot has changed. But every day, I see young people in the same predicament. The CORE problem is valuation. Of under-valuation, for that matter. Needing to make 120k a month, a coder who under-values his/her worth will take on 4+ jobs in one month, each worth 20k-30k, just to get enough money to cater for their expenses. There is stark reference between this coder and one who will NOT take a small job. Nowadays, I am slowly finding myself doing ONE project for a whole month for, let’s say, USD 2500, Instead of 6 projects for USD 400 each. The 6 will kill you, you will deliver NONE and now, you owe 6 people money you don’t have.

I once had a rich-kid client bring a heavily armed flying-squad team to my place of work because of a USD 1200 owing on a delayed project. It was like a movie. 8-Armed men to arrest Salim. But that is a story for another day. That will NEVER happen again.

I have fewer clients nowadays, but they pay like a modafaka. And I am happy. And the clients are happy. That, I believe, is the way to live.

So, how does an investor/client pin-point a hand2mouth coder.

1 – I/We can do it all

The most common trait is the ‘YES’, ‘YES’, ‘YES’ response. You want a system that has Mobile, MobileWeb, iOS, Android and a J2ME interface? They can do it all. They have not specialized in anything and know a little bit of alot. I am not saying that people who know alot are phony. No. There are people I know who are diverse enough to do the 5 genres above, and more. But they are few and VERY expensive. What should give you a good-night’s sleep is the talk of collaborations. “We can do Web and Mobile, but will partner in our own contractual terms with our Sister/Fellow Company B that will do the Android version”.

This is a statement of acceptance of ones limits and a proof of access to a network of experts and specialists.

2 – They are too young

Ok. Gone are the ‘Kazi kwa vijana, Pesa kwa Wazee’ days. In IT, one can be as good and as awesome at 18, like one at 40. But as a Kenyan coder who has been trained the Kenyan way, there are things you JUST have not been exposed to, and it takes time and age to get the access/experience needed. A 24 year-old who claims to have managed a corporate-grade BSD and NT network, worked with Iso8583 and has mastered the FIX protocol, is a liar. With some exceptions, ofcourse.

My personal belief is that one needs to be at least 30+ years to really KNOW so much as to be able to make a Million Dollar Company in Kenya. You do not have to share this belief. Passion is ageless. I know some people at iHub and NaiLab who are under 30 but have the passion of a 32 year old. But when it comes to recommendation and investments, I will always pick experience and maturity over sheer exuberance and raw bravado much.

3 – It will only take a week

If the time-lines are too good to be true, they probably are. This cannot be overemphasized. A web design job that comes with branding and merchandise cannot take 4 days. A Social-network cannot be built from scratch in 2 weeks. Well, it can be downloaded from the web and painted blue in two days, but most of the times, that is not what you are looking for as a client.

4 – We will do it at half-price

This is the project-hijacker crew. Be wary of a deal that is too good. If a company X has quoted an amount A, then company Y quotes A/2, then maybe Company Y needs the money, more that they want to deliver your project. Think about it.

Nikiendelea nitaambiwa nimetukanana.

Back to code.

Wazi.

9 Comments more...

The 5 types of people all CODERS should avoid

by on Dec.02, 2011, under Coding, Personal

I am your best bet.

In my life and times in the Kenyan TechScene (real, tech, not tekemangumi), I have met all kinds of people. All types of naysayers and arm-chair critics. All kinds of cooks and watchmen who think they can speak intelligently about computer network security just because they have 5-year experience in handling the server room Solex keys.

But that is not the topic for this blog post. I am taking 5 minutes of your very busy lives to tell you about 5 types of people you should run away from as fast as possible, only if fleeing is not an option.

1 – The “My young brother is also a coder” crew

I have met countless members of this crew. These are people who are doing you ‘a favor’ by giving you a project. So, they expect you to accept the lowest price for the job. Instead of the 120k you ask for the job, they will want you to accept 15k and, as a bonus, baby-sit their cat for a day, just to show them how much you appreciate their kindness.

I mean, they could have given this system to their brother who is in the US and can do it in a week, but they decided to support local employment and Kazi kwa Vijana by giving you the project that you say will take 6 weeks.

2 – The “I used to code a few years back” gang

If I had a boob for every time I have heard this story, I would have my own Mount TitiManjaro. These are normally old/older people who did 14 lines of Cobol code in 1992 and some HelloWorld Pascal code in a NONAME001.pas file in 1997. Then they decided they are better cooks than coders. Now, they can stand infront of men and women and bleet, “I used to code, nikaacha. Najua Java Kiasi na C prus-prus nusu. Hata najua kuadika SQerr Statemates.”.

They will belittle every use of technology that you employ with the hope that you won’t charge alot. Or at all. #CoderSpirit. Avoid these like a plague.

3 – The “You develop it for FREE then we share on the profits” team

Ok. You know yourself. The 11+ (and counting) people who have approached me with ideas and systems. We discuss the details, discuss the workings and revenue models. Sometimes, I, Stupidly, start the project. Then the question arises, “What’s your budget for the work?”. And they look at me as if I have asked them to lick their elbow. “Salim, this is a BIG project with limitless potential. I can pay you 200k now, or give you 20% shares that will be worth millions once the system gets traction.”. Well, biatch, f**kin pay me!

I have my own dreams. Don’t involve me in yours.

Picture this. You call your landlord and tell him: “Mr Landlord. Sina rent for the next 6 months, but kuna system Noma naunda na once imeiva, then nitakulipa rent ya 5 years. Acha nikae keja for free for now.”. What will the landlord say?

4 – The “I am the genius, you are just a coder” type

This is close to the above. Only they see themselves as master thinkers and strategists. They will want you to drop all you are doing, and ‘take this golden chance join them’. Everything else makes no sense, if it is not from them.

You are just a tool to actualize their awesomeness. All you do is code. Kama si hao, your code means nothing.

Try this for a day. Take away your code, and watch all their BIG ideas turn to vapor. Just like that.

Ideas are like bar-talk about getting laid. Everyone has 1000 of them. But it is Code that changes Ideas to PRODUCTS.

5 – The “Don’t worry about money”

“Wewe chora code. Achana na stori za doo.”, they tell you. Then after work, they drop you at the Matatu stage in their BMW. You have 200 bob in the pocket. You are the coder, without who, the company/partnership will collapse. But you are a coder, right? You code for love. Not money. Clubbing ni ya idlers. Gari ni za masonko. Madem wote ni mapoko. Sio?

Don’t believe that fallacy. If you are not earning over 100k per month as a coder over 22 years, then hauko serious. Money is KEY to your peace. Your happiness. Your productivity. Get the money. I cannot overemphasize this.

Back to code.

Wazi.

19 Comments :, more...

The challenge of online reputation management in Kenya

by on Nov.29, 2011, under Coding, Personal

Dem speaketh from dem azzes

They say, you can take a rabid Dog to Lodwar, but once it gets fare to Nairobi, it will return as just a tanned rabid dog. Nothing More. And the tan disappears. And then it goes back to it’s rabid ways – Chapa-nese Saying.

The big question, when it comes to online content and freedoms, remains : how do we handle the e-smearers and gutter-press? The perpetual/full-time ones and the seasonal ones (e.g. Next year because of elections).

It is a sad state on the net. I have talked about this before, but I will expound on it a bit, sharing the content’s of today’s meeting. There are over 30, 000 bloggers in Kenya. Yes. It is so easy nowadays that any idiot with a spare KSSH 1000 can open a .com blog in 13 minutes flat. For the broke types, all it takes now is a .ning or a .blogspot domain and BAM!! You have online presence.

But let us get a little analytic. Let us discuss the problem, then possible solutions.

Do a quick google search for any mover or shaker in their space. You will find gutter-press, or as we call them, ‘name-squaraders’ who use these names to drive traffic to their pitiful sites with the hope that GoogleAds will score them some coins. Yours truly has also not been spared.

These people are the online equivalent of muggers. They masquarade as writers and steal your time and intelligence from you, as their readers.

Anything will be smeared. Even KenyansForKenya campaign was smeared. The effort. Leave alone the aftermath.

Election is coming next year and it is sad that among us are 10-dollar hoes and sons of 2-dollar hoes that will get paid by some politicians to spread hate in their anonymous blogs. According to the politicians, these are the voices of youth in Kenya. To the rest of us who have a brain, these are debris at the bottom of the food-chain.

So, we cannot ignore the problem. We can only think of possible solutions.

Possible solutions

Well, there is always the Colombian solution of lead. But then again, being civilized people, we don’t want to make a martyr off a online pest, and so, the need for civilized solutions come.

1 – Legal Solution

The new constitution accords us freedom of speech and expression. It also protects every citizen from defamation, character assassination and false-ful representation. That means, you cannot just wake up one morning, and because hujadishi siku tatu, you write what you feel about someone you wish you were. If you can not get the e-pests to pull down the blog-post, legal systems are here to help. More on this soon.

2 – Positive Content

If for every negative content, there are 9 positive ones on a subject, the weighted mean and the indexing on Google etc would suffocate and lower the rankings of the the negative articles.

3 – Censorship

The KIXP and the ISPs would be great players here. We could easily create a vetting system and if a blog or a blog-post hits a negative sentiment threshold of 30%, it could be blocked, perpetually from an ISP level.

4 – Google Blocking

The Google team (Not referring to Google Kenya here) [see google site for removal] has always expressed willingness to remove from its indexes such content. The domain could be blocked from search indexes, too.

5 – Hacking

Most of the blogs are (duh!) on the web and so, this could be a good option. Last option. Bring down the service. For the broke ones who use .ning and .blogspot, this brings a big challenge. You would not be targeting a WHOLE setup (ning or blogspot), not just a pesky blog. Based on terms and conditions on the service, the service could be contacted and if they fail to bring down the blog, we would use ISP-level censorship to block the domain.

Those are my 3 cents.

Back to code.

Wazi!

2 Comments :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Kenyan Blogs Webring Member

Possibly related