State of the Code 2019: Ivory Coast Developer Survey Results
Code d’Ivoire is a developer community founded in Abidjan March 2018. It functions primarily through our Slack organization, where our members can interact every day and keep a constant line of communication open. Our mission centers around the following objectives:
- Become a home for Ivorian coders, where members can find kindred spirits
- Share knowledge, best practices and technology needed to help the larger developer community grow in skills (“A rising tide lifts all boats”).
- Promote the coding craft and professions in Ivory Coast et help the country become an African and global showcase for coding abilities.
We’ve started a set of activities in Abidjan to further these goals along that can be summarized as:
- Produce written code tutorials that our currently shared on our community blog on Medium (https://medium.com/code-divoire)
- Produce video tutorials and lectures shared every Wednesday on our Youtube channel (https://www.youtube.com/c/codedivoire) in our Code Moderne (Modern Code) series.
- Showcase Made in CI (Ivory Coast) tools.
- Take a pulse of the coding profession and training through an annual survey, State of the Code.
The Annual State of the Code Survey
After the 2018 edition, we felt it necessary to separate the surveys between 2 audiences, professional developers on on side, and students/learners on another. For the first edition of the specialized annual student survey, we wanted to take the pulse on the state of code training in Côte d’Ivoire, more precisely:
- Who are the developers of Ivory Coast?
- What are the technologies, processes and languages they know and use?
- How were they trained?
- What are their achievements and challenges?
- How much do they earn?
- How do they feel about their craft?
- How do they feel about their ecosystem?
The costs associated with the survey this year were covered by par the Ivorian technology startup AKIL Technologies. The survey was conducted over 4 months (September to December 2019), using a 104-question questionnaire available online that was shared on the community’s social networks and by community members in order to gather the maximum possible responses, ending up with 178 respondents in total. Special thanks to our partners who facilitated the preparation and distribution of the survey this year and allowed us to maximize the number of respondents. Email us for any questions at codeivoire.io at gmail.com.
Survey Results
Given the length of the survey, we offer the following summary and you can go into the questions in more depth at this link.
Based on the results obtained in 2019, we can say that the majority of Ivorian developers are men (95% vs 5%), between 25 and 34 years old (60%), with less than 5 years of professional experience (60%) and most of them (54.5%) do web application development using MVC frameworks such as Laravel or Symfony (“Ivorian full stack ”). Half of the developers also work on mobile applications and specialisations such as Data Science, Machine Learning and IOTs generally only occupy 5 to 10% of the developers. Windows is the OS of choice (53%), and PHP, HTML, CSS and SQL are the languages most used in training.
Programming languages
In terms of usage, Javascript is the most used language in 2019 (82%), followed by PHP (74%) and HTML/CSS (70%). As in 2018, PHP retains its crown with 70% of developers who describe it as their first choice of programming language of 3, ahead of Javascript at 63%. This advantage is confirmed when it comes to choosing only one language for 2019and PHP clearly imposes itself at 44% of respondents against 17% for Javascript in second position. In terms of interest, the language that excites the most developers in terms of learning is Python at 31% followed by Javascript at 12%.
Frontend
84% of developers say they do frontend but this result should be taken with caution because as noted above, modern frontend development using SPAs is not yet a widespread and understood practice in Côte d’Ivoire. This figure surely includes “full stack” developers who produce multi-page applications (.jsp, .asp, .html , .php) rendered on the server side using frameworks like Laravel, Symfony etc. It’s not surprising then that in terms of usage, JQuery is the most used framework (55%) followed on the SPA side by Angular (40%), Vue (27%), React (26%), and AngularJS (25%). Note here the relative popularity of VueJS due to its integration with Laravel, which as we will see in the Backend side is the most popular backend framework.
88% of developers use a CSS approach for stylesheets, and 75% use Bootstrap as a framework. SCSS is used by 36% of respondents. In terms of build systems, Webpack clearly dominates at 44% followed by angular customization (24%). It should be noted that 24% of respondents still do not use build systems which probably means that we have applications in production that are not based on web artifacts (HTML, JS, CSS, images) not optimized.
The majority 52% of respondents do not practice unit testing, and for those that do, Jest at 18% is the framework of choice. 56% of devs use Typescript, and only 13% use GraphQL. In terms of IDE, no surprise, VS Code is the editor of choice, used by 54%, compared to 14% of Atom, the editor in second position.
In summary, we can see a slow but sure evolution towards the frontend SPA specialization used in modern stacks, and this specialization is of course parallel to the one that must necessarily operate on the backend rating, as we will see.
Backend
In terms of backend development, 92% of respondents say they have done backend development in 2019. Of this figure, 66% did development mainly in PHP, 15% in Java, 10% in NodeJS and 7% in Python.
PHP
92% of Ivorian PHP developers use version 7.x of the language and 95% use an object-oriented programming approach. 69% develop their backends with Laravel, which confirms by the framework its place as the reference PHP framework in Ivory Coast. Behind Laravel, the Wordpress CMS comes in second place at 34%, and Symfony in third place at 29%. 15% of devs still do pure PHP development without any framework. In terms of good practices such as unit testing, PHPUnit is used by 54% of devs (against 44% who don’t do unit testing). However, a majority do not use any code quality verification tool (47% against 28% for CodeSniffer), or build system (76% do not use any build and deploy system like Phing or Deployer). In terms of dependency management, Composer without surprises dominates at 88%. Here again, as we saw with the VS Code frontend is the IDE of choice at 47.5% of use against PHPStorm at 21.25%.
NodeJS
For the Javascript backend with NodeJS, which is only used by 10% of backend developers, the 10.x version is the most used (75%) and ExpressJS (83%) is the NodeJS framework of choice. React is the template engine of choice. PM2 is the most popular process manager. For best practices, 90% use Jest, 72% use ESLint and NPM (81%) is preferred to Webpack (72%) for builds, but Webpack is the preferred bundler (80%). Ivorian NodeJS developers prefer NPM (64%) to Yarn (36%). In terms of IDE, here again no surprise, VS Code absolutely dominates at 82%.
Java
16% of backend developers using Java, and version 8 of the language is the most used (75%) for the JDK as well as for Java EE. The Spring frameworks (Boot, MVC) are clearly dominant (72% and 68% respectively) and JHipster, the code generator is used by nearly a third of programmers. Maven at 80% is the standard dependency and build manager well ahead of Gradle. As for IDEs, here we find IntelliJ IDEA in the lead for J2EE development at 35% in front of Eclipse at 30%.
Python
In 2019 Python is the language that arouses the most interest from Ivorian developers and software students but which actual use in practice is not widespread (7% of backend developers). In this survey we found that 85.7% of these devs use Python for web development, followed by 57% for data analysis and 42% for machine learning. Version 3 of the language is used by 71% of the devs and Django is the most popular framework (71%). In terms of data science, Numpy and Tensorflow are the most used Python frameworks (33% each). Pipenv is the most popular dependency management tool. VSCode and SublimeText are tied as the IDE of choice.
General Backend Knowledge
In this section of the survey, we wanted to find out more about developers’ general knowledge of backend practices and concepts.
In terms of architectural concepts such as REST and API, 82% say they know the principles of REST architecture versus 94% who know the API concept. In terms of practical implementation, 69% say they have developed an API in 2019. 10% of devs used GraphQL and 36% used Firebase. 39% claim to have developed microservices in 2019, a number we find too high to be credible given other metrics in this survey.
Mobile
Mobile development in terms of craze and popularity comes second only to web development. The top 5 mobile development tools reveal as follows:
Ionic (39.32%)
Android Studio/Java (36.75%)
React Native (33.33%)
Flutter (31.62%)
Cordova (16.24%)
The popularity of Ionic is of course due to the fact that it makes cross platform development with HTML and Javascript possible, but it is the opinion of the community members that this dominance, and that of Android native development with Java is declining in favor of React Native and Flutter in particular, which is enjoying considerable buzz within the community. The majority of mobile apps developed are deployed on Android (97%), with iOS representing only 52% of deployment targets.
Databases
Here no surprise, MySQL at 92% is the queen of the market and in general, developers are satisfied with the performance and are not looking to migrate to other databases in the coming year (32%), except maybe the 31% that are thinking of migrating to MongoDB. PHPMyADmin and MySQL Workbench remain the database management tools of choice.
Project Management and Teamwork
How do the Ivorian devs work? The answers in this section give us specific insights. 84% say they use a source code management tool such as Github (73%), Git (53%), Gitlab (52%) and Bitbucket (29%). Github is also the most popular Git platform with 93% of respondents claiming to have a Github account, followed by Gitlab at 65%. 62.5% say they use Agile for project management, and 50% say they use Scrum. 20% work without project management techniques. For project management software, it is not JIRA (19%) that comes first but Trello with 51% of the votes. Emails are the most used communication method (89%), followed by instant messengers such as Slack (65%) and the telephone at 51%.
Devops and Deployments
Here again, compared to 2018, the numbers confirm that Continuous Integration is still an unknown practice in Ivory Coast, with 46% of developers claiming not to use any CI tools or systems. GitlabCI, through its free CI offering, manages though to be used by 31% of developers.
80% of applications are deployed manually or semi-manually and in terms of deployment platform, classical hosting providers such as OVH, GoDaddy, 1and1 continue to clearly dominate (63%) as in 2018. The consensus in the Code d’Ivoire community to explain this result is related to the fact that most of the applications developed in Côte d’Ivoire are PHP monoliths that lend themselves well to this kind of providers.
Cloud vendors like AWS have a high learning bar also for the level of local developers and customers are not always sufficiently informed about the benefits of the cloud, but are also reluctant to pay fees that can be very expensive compared to the local average.
For cloud providers, AWS leads the way with 36% of devs using its services, ahead of Google Cloud Platform and Heroku. Ansible, Chef and Puppet have almost no local traction and are not part of the ecosystem’s vocabulary at the moment, as are Docker, Kubernetes Vagrant.
Education
82% of the developers consider themselves to be self-taught, and 61% have a diploma from a Ecole Superieure (private college of higher education). 60% have a bachelor’s degree (3 years) or a master’s degree (4 to 5 years). 22% have a BTS and 14% have completed the engineering cycle.
In terms of interest in training, 51% have not taken any formal training in 2019, but in 2020, 55% are interested in devops training, 49% in mobile development training, 47% in frontend training and 46% in backend training.
In terms of English 47% claim to have some written technical knowledge in programming but only 37% say they can hold a basic conversation. 89% agree that a better understanding of English would make them better developers. Google Translate is used to translate search results and all agree that when it comes to English, written is much easier than spoken. In particular, it is much more difficult to learn new subjects in English because of the initial comprehension barrier.
Salaries and Contracts
55% of developers make less than 500,000 FCFA (760 euros/US $845) per month. 14% make less than 100,000 FCFA (152 euros/US $168) per month and 10% still work without salary or 8% have no fixed salary. In the community the finding was clear, the developers consider themselves underpaid and dissatisfied (87%) and the reflection arose in response to a higher level on the business model of Ivorian IT services companies that tend to be service providers. Given the reluctance of local companies to pay a fair price for development services, it is difficult for IT services companies to generate enough revenue to pay their developers higher salaries. The question was whether a pivot to a SAAS product business model (which of course meet the needs of local markets) would be more financially profitable.
In terms of motivation, 66% of the developers would like to be paid more but not far behind, 60% would like more opportunities to learn new technologies and work on innovative projects (54%). This can be directly linked to the general dissatisfaction with salaries but not surprisingly for those who know the local ecosystem, 78% of developers do side projects outside of work, which is locally called “gombo” or “freelance”. 66% acknowledge doing it for the additional income generated but a larger number 71% say they do it for the additional knowledge, which our community members rejected outright, attributing the high percentage to the fact that they want to clear their conscience because it is clear that the main motivation is financial.
Local job sites (63%), personal recommendations (60%) and word of mouth (52%) remain the best ways to get a new job.
61% of developers work mostly in the office, and 7% work remotely. 31% work flexibly but the majority would like to work more remotely.
93.58% of Ivorian developers are ready to leave Côte d’Ivoire for an opportunity abroad, with Canada leading the way with 84%, followed by the USA at 69% and France at 52%. These figures neither shocked nor surprised the community members and the discussion that followed turned on the fact that all recognized the difficulties of the local ecosystem (low or late salaries, lack of quality training) that encourage emigration in a way, but all agreed that these departures represent a danger for the local ecosystem because they create a vacuum in mentoring for the juniors, and in terms of skills the local market will not find appropriate local responses. For those who leave, we can’t judge them because everyone aspires to a better life, but a massive exodus represents a very complicated and deep problem. The question therefore arises for all actors in the local ecosystem: how to retain experienced local developers?
Conclusion
To finish this analysis, the last question asked respondents to rate the local ecosystem out of 100. Unsurprisingly, we end up with an average of 49/100, which is in par with the 2018 result and represents a manifestation of frustration with certain local factors, salaries being the major one. We remain optimistic about the future prospects although the realities on the ground are sometimes brutal. We have noticed an increase in the number of local structures that are being set up to address some of the shortcomings of the ecosystem, especially in terms of quality training, in addition to foreign structures that are beginning to both eye and actually set up shop in Côte d’Ivoire. Given our experience on the ground, we can say that any initiative must be based on a long-term vision because the needs are real and there is still a lot to be done in terms of capacity building. Given the length of the article, the raw data for the survey is available at this link. If you have any questions or suggestions, we can be reached at codeivoire.io at gmail.com.
We’re also already preparing the 2020 editions, so If you’re an organization interested in partnering with us, give us a shout at codeivoire.io at gmail.com.