What makes a great software engineer? How can Nigeria balance the influx of untrained “quacks” with the need for innovation? And why should homegrown talent be the answer to national challenges? In this exclusive interview, veteran engineer Mr. Oluseyi Akinkugbe Ojo takes us behind the scenes of his career and lays out a bold vision for the future of software engineering in Nigeria.
Welcome to The Interviewers Magazine, sir. Can you take us into your world as it relates to your education, profession and contributions to your field of work/study?
My name is Mr Oluseyi Atanda Akinkugbe Ojo. I am from Ogbomosho, the son of S.T Ojo the Otun of Ogbomosho, and my mother Chief Sabinah Akinkugbe is from Ondo, she was the first Iya Alaje of Ondo town, both of blessed memories. I hold a BSc degree in Business Information Systems from University of East London (UEL) and have over 25 years experience as front and backend developer with additional DevOps skills.
Currently, I work as a software engineering consultant developing and supporting tariff calculation systems used in the UK’s Customs Handling of Import and Export Freight (CHIEF). I have also worked as a consultant with Oracle Corporation on the Utility Customer Choice Suite (UCCS) application, used in pricing and demand forecasting of electricity and gas in the United Kingdom. Some of the clients I have worked for includes British Gas, N-Power and EDF Energy. My experience also spans across geospatial applications for street and address data collation and mapping. Additionally, I have developed and managed student information systems.
The field of engineering has various branches, and software engineering happens to be one of them. How can you explain this concept to a layman in terms of software engineering as a discipline and as a profession?
Software engineering is the concept of applying engineering principles to a full life cycle of application development. This includes requirement gathering, analysis, design, development, testing, release and maintenance of mobile application or business software to meet user needs.
How do you tackle challenges you often faced while working on a project, how you overcame it, and what you learned?
Whatever requires development will always involve alterations here and there, in the concept of software development, defects within your application must be reduced to minimal to enable the application to scale through the user acceptance test. One of my strengths is strong analysis and fixing of defects, which has enabled me to help many projects in meeting up with deadlines.
What is the place of software engineers in Nigeria’s engineering landscape in terms of job opportunities for new graduates and the prospects of job security?
I think the opportunity is now opening up massively. There are still many opportunities to be tapped from all sectors in Nigeria regarding providing solutions through software development. So the job opportunity is right there for graduates to grab.
There is a steady influx of quacks, or non-professionals, into the field of software engineering in Nigeria. For example, visits to computer markets reveal many of the quacks operating as software engineers. They are into phone, and computer programming and repairs, web, and software development etc. most often than not, their activities cause a lot of problems for their clients, what are your thoughts about this phenomenon?
First, anyone trying to cut cost by not approaching a registered software vendor, will always find themselves to be blamed. Secondly, any application development must go through what we call user acceptance test (UAT) which allows a tester from the stakeholder’s side to test every user story (Agile methodology) and make sure that it all meets the requirement before rolling it out to production. If these two points are followed, it’ll be difficult to have a substandard product in the market.
Would you advocate for non-professionals to leave the scene so only trained software engineers operate? Do you think the country has enough software engineers to meet its needs?
Being a software developer or engineer is not just about holding a degree. What makes one to be a professional is more to do with the experience in the field. So in my opinion, there might be a lot of software engineer degree holders that lacks the experience to qualify them as professionals, and the reason for this is not farfetched, which is basically that Nigeria is not yet fully dependent on computer systems and data processing.
In the recent concluded national elections in 2023, INEC blamed “technical hitches” for the malfunction of many devices. As a professional software engineer, how can you explain this situation to an average Nigerian who was not satisfied with that explanation?
The gadget that wasn’t working could be due to network coverage or malfunctioning of the device in which the software application is installed, both of these factors are actually not software related, but I will give brief suggestion or opinion to mitigate the problem.
Network coverage issue: The application could be developed in a way that voter records will be stored temporarily on the device when a network connection is lost, and will automatically upload to the server when a connection to the server is established.
Device/terminal issue: Two to three backup devices should be available at each polling booth, in case of hardware failures. Finally, I would be available to work with the INEC to develop a more robust application if the opportunity is given (laughter).
What differentiates a good software engineer from a great one?
A great software engineer must be very logical and know how to write reusable and well readable codes with adequate unit testing skills. They should be able to write codes that other developers could support with minimal guidance. Also, a great software developer can develop both client and server codes, i.e. front and backend development skills
What do you believe are the key principles of software engineering?
Key principles of software engineering that I’ll mention here includes
1. Modularity: Breaks down a complex system into smaller, independent and reusable units called modules.
2. Abstraction: Hides complex implementation details, providing a simpler high level view of a system.
3. Encapsulation: Bundles data and methods that operate on the data within a single unit, controlling access to the data.
What advice would you give the various stakeholders and management of our universities to do to improve the quality of syllabus taught in the school of software engineering?
Basically, Universities should include real life scenarios that students could develop as projects, and make it marketable, valuable or tag such project after completion with a price award to make it recognised nationally.
Nigeria has produced many software engineers, yet the country still relies on the services of foreign software providers for the development of their sensitive software programs. How do you respond to this, and what advice would you give the government?
Foreigners did not create our business issues or breaches of business rules, we did as a people. So every problem is local and should always be handled locally. For instance, I personally have identified several loopholes in our banking system, and I have analysed it and know of how certain business rules could be enforced to patch the gaps identified.

