Unlike in developed and more organized places like the USA where it's pretty easier to find great talent, I find a lot of people facing huge difficulties in hiring good developers in Cameroon and I can extrapolate that it's probably a similar situation in other African countries. The difficulty in finding talent is not due to the absence of it at least not completely but due to the absence of organized systems! For example, in the US there are many such platforms as Craiglist which can link up locals for professional reasons! However as the saying goes, talent is evenly distributed all over the world but opportunities are not! Hence challenges are faced by developers, computer engineers, and hirers in Cameroon and Africa. However, since this is about hiring (and goes to hirers directly) I am writing the miss-outs and mistakes I think most hirers or most people needing computer-related services in Cameroon and Africa face. This is however from the point of view of a developer and computer engineer being one myself.
Who are you looking to hire? IT expert(s)? Developer(s)/Programmer(s)? Engineer(s)?
Let's say, you are an entertainer and you run a local blog and news agency and you need a website where you can actually publish news articles. So you need someone to come up with this website for you! In this case, you are looking for the services of but not limited to an IT professional. Now again, imagine you own a shop and want to create an e-store for your business this time around you are in the range of needing the services of an IT professional or a developer non exclusively. Finally, imagine you are building or dream to build the next Amazon! or at least an Amazon for Cameroon this time around you are not just looking for an IT man or a developer who can build an app or website that looks exactly like Amazon! This time around you need engineers who understand the semantics of constructing systems from the roots!
Look closely, in the second case where you run a small store a simple WordPress plugin like WooCommerce can help an IT professional do the Job! But in the last case we are talking about data crunching, studying the behavior of buyers and suppliers, tracking them and coming up with behavioral datasets, AIs et al! You need not just an engineer but engineers in this case. So as someone who is looking forward to hiring or find the talent you must first identify the kind of talent you are looking for. This is quite difficult for non-tech savvy people as some IT professionals cannot even measure their own competences an examine their bounds hence sometimes they take on projects with genuine intentions and end up not delivering due not being able to examine the scope of requirements. It's also quite difficult for some entrepreneurs who themselves learned some IT to at least start their project to comprehend this! Sometimes it appears as easy but hey! Learning how to build a website or an app is like learning how to draw is an art! Anyone can get a professional site up with a dozen clicks on WordPress or Squarespace same with making apps!
This is one of the reasons we see house searching apps (like Airbnb) or taxi app (like uber) being built around us but they don't work as expected. Because it's built by people who don't understand the power of what is not seen! Imagine having a ticket reservation system where humans are required to complete the reservation manually and even move distances to do so! Things like that, to me is the result of hiring the wrong teams at least when the creators had/have the funds.
In a nutshell when hirers pay and get products like the examples above or not get any products at all like twice or thrice they become skeptical and paranoid. If you are unable to figure out what you need, find someone who can! (More light on this later in this write up). There's a difference between IT professionals, programmers/developers, and engineers!
Learn Scoping and Timing of Tech Projects!
Another huge miss-out for people looking to hire is the inability to examine the scope of what they want! Imagine you find someone who promises to build you a search engine like Google in one month! or to build you an operating system like windows in 6 months! Well, some of you really hire such people! Hilarious. It's a characteristic of incompetent people to promise you the world in days so be careful! A simple website may be carved out in a few hours but not a system!
There is a document known as the requirements document. In case you are unaware this document is very useful in the engineering or development process of any system but serves a use most hirers don't know it's a (legal) protection for the engineer and the hiring manager. In other for you to understand the scope and time of your project you need to, first of all, come up with what is required (non-technical) and then the IT man, developer, systems engineer of whoever can then produce you a technical one.
Now, this is the catch! Even though this document is meant to protect but hirers and "the other side" (IT men, developers, engineers) it actually protects the other side more and people from the other side use it to exploit the lack of experience of some hirers! Example!
If I write in the requirements document that, for example, you would be able to make "blog posts" that means exactly what it means with the exception of telling you how.
- It does not tell you how the interface would look.
- It does not say if this would be possible on a mobile device
- It actually excludes a lot of detail
This is why a developer can promise you he can build a site that works like Google (search) in a month! Because it's written in the document "You would be able to type a query, submit and have results from the web" however it excludes a lot of other detail but legally speaking even if an unqualified/ qualified and dishonest person ends up giving you something you would be able to do exactly what you wanted to search the web! You now have your own search engine! Not just as cool!
So you have to learn how to examine scopes and timeframes. It's better to hire someone who is slow and consistent in progress, communication, and reporting than hire someone who tells you to wait and shows you a final product at the very end! Because it would do exactly what you want but you would most probably not like it!
Payment and Motivation
Some people want the skills of an experienced software engineer but want to pay the fee for an entry-level IT man! Not only should you be able to pay for the system you need, but you should also be able to motivate those skills by painting a clear picture of what you want. Developers, engineers and all what not love to work on good platforms because they would be happy they built it! We like being part of successes too!
Payment here must not be upfront or be in the form of cash! I have encountered people who approached me themselves and asked me to do a free unpaid internship in certain places of interest to them! With Zero equity in the guise of I would be learning! The good news is developers know where they would learn and where they are going to just work for free and depreciate in knowledge! In essence what I am saying is, be willing to pay (cash, equity, motivation etc) and to lose control! (at least some and a lot)
Some people think because they own/created something they must lead every aspect of it and end up bringing their half-baked knowledge into everything which ruins the entire system. When finding people to control you must additionally find benevolent and smart dictators who listen and take hard decisions because too many cooks spoil the food!
Last tip: It may look easy but it's incredibly difficult to do all of the above especially when you don't have the funds! Good news is there is a cheaper alternative! Find someone who can do all of the above for you and make them a fair offer!