Rwanda has remarkably developed its economy in the last two decades. This development attracted the eyes of more investors to invest their money in what is now being called "Singapore of Africa". Looking the way that the economy is becoming more twisted with technology nowadays, it won't be a lie to say that this gives more opportunities to Rwandan young developers. However, in this case, the argument is whether these young people are able to take advantage of those opportunities as they are expected to.
It is clear for everyone that the government of Rwanda invested in the education of its youth, and there are clear signs like programs such as one laptop per child and smart-learning approach that is being taken these days. It is no brainer that this was intended to ensure that young people have a significant contribution to the development of the country in terms of technology. But when you look at the outcomes, they look quite disappointing compared to what you may expect from all that government's input. It may sound a bit dramatic but that is the reality on the ground. When you do a simple research and assess the number of Rwandan developers [,who studied in Rwandan institutions], who are in senior management positions in Rwandan big tech companies, you will find that the number is not pleasing as you would expect. Some may say that it is due to the prejudice of the employers who may be underestimating the ability of local graduates and quality of local education institutions. But when you look on the other side and check the competence of those who graduated from public universities and highschools, you will start to understand the worries of those employers.
I will give you my personal testimony as someone who has graduated from a public highschool in a combination which included computer science as a major. When I finished my advanced level studies, my friends and relatives regarded me as a software developer to the extent that when one the institutions they worked for needed to develop a website or a simple data management system, they would ask me if may be interested and take that job. I was quite disappointed by my skills compared to what they expected me to possess. However, their expectations were fair, considering the three years that i have spent learning computer science, even though they were missing two points which are : what and how we were studying the course.
To be honest, the learning approach was not much poor as the curriculum we were following was basically intended to ensure that learners have the basic knowledge of as many programming tools as possible in those three years. But that doesn’t help in regard to what people expect us to have gained in highschool.
Starting with the learning approach I have mentioned above, it is not all bad as some people may see it. It has its advantages and disadvantages. It was good to have a notion on as many programming languages as possible because it helped to not get lost whenever you may find yourself in the development community where they use one those languages. This also made our CVs look like they are incredible because when we were listing the languages that we are comfortable with, it was quite a long list including C++, java, C, SQL, javascript and some others that you may read which were not on the curriculum.
The second issue here is expectations which is what was frustrating for me. When we considered ourselves comfortable with all those programming languages I have mentioned above, we were basing on marks we were getting in CATs and exams which was the problem because the problems we solved in those academic tests were far different from what those languages solve in real life. This got more complicated when I graduated where people expected me to be someone who may help them in their real life programming challenges but to be honest I wasn't the guy they were looking for. Everything was basic.
In my opinion,this is a problem that Rwanda is going to continue facing as long as they do not modify their teaching approach regarding computer science. I consider myself lucky to have been admitted in andela training program because I got a real chance to be in an environment where I can unleash my programming potential. I have been in the program for nearly five months but the achievements are unbelievable. Working with real life projects boosted my development as a web developer even though we used new technologies,like node js and react js, which was my first time to use them. Despite the fact that i was introduced to new technologies, i managed to deliver what i was required which were amazing projects including complete personal portfolio website, Restful API and various features on a joint-project of a travel agency we were working on.
My journey in Andela made me think of a possible solution that can increase the competence of young programmers who graduate in our local institutions. The solution suggests that instead of trying to give the only basic knowledge about a set of programming languages, they can choose the base languages like C++a and SQL[for database management] which I have seen that it has some similarities in syntax and logic with a couple of other programming languages like Java, JS, PHP, etc.let’s say that is going to take at least first year t of advanced level, taking into consideration that the students who major in computer science have other courses to take apart from programming. Then, in the following years there may be an establishment of a schema where each student should deliver and present a project which aims at mastering certain concepts at the end of an academic trimester. In that way, when a teacher wants to teach a class about a certain concept instead of giving examples referring to the ones written in the books, they may use students’ projects as typical examples. For example, i remember in grade 11, we were studying database normalisation but, it was a really complicated concept due to limited examples which were in the books and also the fact that we were not using it in anywhere, except answering the questions in quizzes, made it difficult for us to understand its importance. However, when I started working with database tables in Andela it was easy for me to spot where I needed to normalize a table.
To sum up, I can say that in order for Rwanda to have more of the youth to start getting jobs in local and foreign big companies, they should start to invest in the way that they can help those young people build strong and attractive portfolios in the early days of their career.
However, all of those were my opinions, let me know, in the comments, what you think that can be done for Rwanda to become a giant tech hub of Africa.