The new Exquis
,

How it started: SaaS application developer. How it’s going: VP of Engineering

How it started vs How it's going

Guest bio: Abubakri Oyewo Olaitan is a software engineer with 7+ years experience. An expert SaaS based application developer who has worked in successful startups. Has solid grasp of Javascript, Nodejs, ReactJs, VueJs, ElectronJS, PHP, Java, Typescript and many more. He is a code mentor and has mentored  a good number of newbies who have transitioned into tech and thriving currently in the tech world.

Looking for your next tech job? Do you live in the US?
Land multiple interviews and secure a tech job.

Welcome to Tech Stories where we share original stories of techies in the tech industry. Learn more about Exquis.

Abubakri: Thank you everyone. I’m glad to be here. I’m Oyewo Abubakri Olaitan. I’m a Fullstack Software Engineer. I’ve been doing this for almost a decade now. Currently, I’m the VP of Engineering at a tech company. I’m based in Nigeria, working remotely with a company based in the United States. Looking to share some of my experience with you all. 

Exquis: Thank you so much for that brief introduction, Mr Abubakri. Can you tell us how you got into tech?

Abubakri: I got into tech as far back as 2014/2015 but prior to that, when I was in the University, I majored in Mathematics. I had the opportunity to relate with folks in Computer Science. It was then that I had an interest in programming. That was around 2010/2011. At that time, I was learning HTML, CSS, python, and Java. I also remembered that I learnt .NET. 

Asides that, I had the opportunity to work across different operating systems. I worked on Windows, Linux, and I also learnt networking and quite a number of technologies that cut across the computer domain. In 2015, when I graduated from the university, I had the opportunity to work in a school. In that school, I created an ERP system that automated their day-to-day operations and student results. 

After that, I started working solo for some time, where I was building SAAS-based applications for schools. I was able to have some number of clients that subscribed to my products. Unfortunately, I couldn’t scale the product. I later joined a startup that was started by a friend of mine. We were working on a tax mobilization system for the federal government in Nigeria.

We observed that it was very difficult for the Nigerian government to mobilize tax especially for those who are in the informal sector. We developed a USSD application because our users use feature phones not smartphones. We were able to present it to some government officials at that time and they were interested in engaging us but after some time, we put a hold on that program.

We also featured in a hackathon organized by the federal government of Nigeria. This hackathon was about building products that will enable business between the government and the citizens. We were the first runner-up in that competition. 

After that, we started another startup where we were focused on building applications to digitize the traditional thrift banking sector in Nigeria. That’s the “Ajo” system. We created an app, it’s available on the Playstore right now. We also have some number of clients who subscribed to our products and services.

After that time, I joined another startup where I worked on SAAS products (chrome-based applications). I then joined Exquis App Factory where I worked on a number of projects. That’s my brief journey.

Exquis: It’s a brief journey that’s really not brief (smiles) because you have quite a number of experiences. Thank you for letting us know all of these. You’ve learnt a lot of programming languages. In your experience, what languages would you ask a newbie to learn and why?

Abubakri: You have to learn a programming language to help you get into tech. You also have to learn another programming language to sustain you as a techie. For someone who is not conversant with what tech entails, you want to learn HTML, CSS, Javascript, then React. That way, you can start your journey because these are things you can easily relate with but you also observe that there are a lot of people in that sector already. That’s for you getting into tech.

To sustain yourself, and to ensure that you’re relevant in the tech space, you want to learn enterprise languages like Java, C++, Rust. These are the kinds of languages that when you learn, you will always be needed at all times and it will be less competitive for you to get a job and switch up your career.

You also want to learn about architecture and leadership – product management essentially and things that have to do with engineering leadership.

Exquis: That’s a good one. A lot of people think that full stack programming takes a long time to learn. In your own case, how long did it take you to learn before you got into the industry and started making all the apps you were making, how long did that take you?

Abubakri: Typically, it depends on how you learn. Some people can learn very fast and some are quite slow learners but it should take you between 6 – 9 months for you to get started. For you to be very solid, you will spend like 2 – 3 years. By that time, you should have reached a senior level in those beginner languages. If you now want to be specialized, you can start focusing on that.

Exquis: A lot of people think that programmers are busy people, they don’t have work-life balance. In your experience, how have you been able to manage your career, such that on a social scale, you’re not odd? Tell us about your tips and tricks for achieving work-life balance.

Abubakri: That’s a bit tricky but I can speak from my own experience. In the first years of your journey into the tech world, it’s going to be very busy, let’s say the first three years. That’s because you’re acquiring knowledge. You will be spending a lot of time coding and trying to understand how things work. As soon as you achieve some level of expertise, your busy-ness will naturally reduce. You might start spending less and less time coding. But you have to keep on learning and mentoring others to keep your skills sharpened. You also want to spend time with your family. You can schedule your time around these things. 

Another thing is, let’s say you join another company, the first 3 months can be very hectic trying to acclimatize yourself with the system. After this, the time you spend working gets reduced. But in essence, what will make you not burn out is your level of knowledge, how deep your knowledge and expertise is. The deeper your knowledge, the lesser amount of time you will spend coding.

Exquis: What are the career options or roles available in full stack development and what should one expect when applying to jobs after learning programming languages?

Abubakri: Tech is divided into 4 parts: the human interaction part, the operations and development (DevOps), backend, and frontend. 

For the human interaction part, you want to learn Product Management, Project Management, Scrum. If you learn Scrum, you know that you want to come and manage developers. If you learn Product Management, you want to assist people on how they design products and see that they build products that people need.

There’s also the marketing aspect of it but these are just the human aspect.

If you’re also into technical writing, this is also part of the human interaction aspect. If you learn technical writing, you know that when you join tech, you can be writing content for products, white papers, and documenting technologies, APIs and so on.

For someone coming to the frontend and backend aspect, where you’re building things that people will interact with, you want to learn HTML, CSS, Javascript. You want to learn Android development perhaps with Java and Kotlin, or you want to learn Swift to build applications for those who are using AndroidOS, or Flutter to build a cross-platform application on Android and iOS, or ReactNative that works on both Android and iOS. 

You also want to learn Javascript generally to build cross-platform applications (on Android, iOS, Desktop and the web). Javascript will be there for you to work on things like pixels. Languages like Java, PHP, Python, will be to build backend services, video streaming, database management, and that kind of stuff. These things provide interactions.

You can also learn the C++, C, or even Javascript sometimes if you want to do embedded programming. That’s writing codes to control machines. 

The reality is that learning Javascript alone  can help you move into any aspect of tech, even Blockchain. It is very important that you learn Javascript.

Exquis: Being a full stack developer is confused with being a full stack engineer. What’s the difference?

Abubakri: People use different titles. You can call yourself a senior engineer but in another company, you might just be a junior developer or engineer. Titles have their contexts and the context determines what they really mean. 

If you say someone is a developer, he might just be coding both on the frontend and the backend. But for an engineer, he’s probably also participating in the design process using design thinking. He’s participating in the architecturing of the system, managing people and writing code. 

For an engineer, what they do might be quite encompassing but for a developer, it is specific.

Exquis: While you were learning tech, how did you learn? Were there platforms you learnt from? Were you learning on your own? What approach did you take?

Abubakri: At the beginning, I was self-taught and most people who started 7 or 8 years ago are self-taught developers. But today, because people hear that tech is lucrative, they want to join the “bandwagon” (smiles). When they start learning, they get confused in a way. They feel like they will need someone to mentor them to move and ensure that they get into tech.

So, we started having mentorship but in those good old days, you had to go to the university to learn it (studying Computer Science but you won’t go into the details). You get a book to learn Java on your own but there are some other things that people don’t get to learn like architecture, object oriented programming, data structures and algorithms, and how to build applications. These are things that people don’t learn but when they get into tech, they get confused.

But being a Mathematician, I learnt these things. I even built a framework. It’s not a popular framework. If you understand architecture, you can build a framework. Right now, if you ask engineers to build a framework, they can say they can’t do that.

Most of the learning was self-taught. That was how it was for a lot of people but today, with mentorship, the learning curve is reduced. If you have a problem and you have a mentor, you can reach out to your mentor to ask for assistance but in those old days, the only mentor we had was books and some very good friends that are also smart.

Erick: I’m currently learning Java. My question is, would you kindly refer me to a good site or book that will propel my learning? What advice would you give me before giving me the references?

Abubakri: Java is a very robust language. It has been around for more than 30 years. You can imagine that it’s very hard for you to say you want to condense 30 years worth of knowledge to 1 year. 

What you would want to do is to have a roadmap. With that roadmap, you can start learning gradually. To be honest, it’s a very long journey. That depends on your patience.

Another thing is that you would want to learn object orientation while you’re learning Java as well as Spring framework. Learn the Java syntax, data structures, object orientation, and the Spring framework. That’s all.

Start your journey gradually. Don’t be in a rush. It takes time to master Java.

I can share you links to websites you can follow: W3schools and Baeldung.

Facebook
Twitter
LinkedIn