Oluwaseyi Fatunmole is a software engineer with over 5 years’ experience in the field. He majorly builds hybrid mobile applications for cutting across Android and iOS ecosystems hence he has been building fintech, edutech, ecommerce, investment and other business related systems.
Oluwaseyi has recently explored system architecture and backend development and currently works as a Senior Software Engineer in Lagos, Nigeria. He is also a technical writer having some insightful articles out there.
“For me, this path relates to my personality. I have always had this flare for arithmetic, logic and figures. Becoming a programmer was a way for me to express what I already had within me.
“I didn’t find this path instantly, at some point I worked in telecommunications and as a network operation specialist; I eventually switched to software engineering”, he said.
In this interview with Techeconomy Oluwaseyi Fatunmole said, so far, it’s been great, challenging, but fulfilling.
Excerpt:
TE: What differentiate a full stack software engineer from others?
Oluwaseyi Fatunmole: Well, I am an advocate of mastery in any stack one picks up. For me, my core is Mobile Application Development, but that doesn’t mean we cannot expand our knowledge or diversify when the need arises. A full stack engineer is simply one who has had the opportunity and time to work on both ends of the system (Front and Back).
Even at this, One would still be heavier and at one of these stacks.Thats just the reality being a Full stack engineer.
TE: What are the key technologies and programming languages you work with in your role as a Software engineer?
Oluwaseyi Fatunmole: Like I earlier mentioned, my core is Hybrid Mobile Development and the key technologies I work with are Flutter, Dart, Firebase (Cloud Firestore, Realtime Database). On the backend, i work with C#, .Net.
TE: How do you approach designing and developing scalable and efficient software solutions?
Oluwaseyi Fatunmole: Scalability is key in any development process. We have a lot of applications out there that cannot withstand some rigorous or unexpected exceptions. These systems are difficult to scale when there’s need for updates or advancements. That’s why it’s important to undergo the core Software development Life cycle while building. Also I am big on system architecture and proper documentation of thought processes as Use cases.
This helps the engineers have a foresight and understanding of what they need to do with a properly documented pattern or process to fall back to when things go south. I recommend Atlassian Confluence as a proper use case/design documentation tool for the development team to follow.
Also, individual system architectures, design patterns, coding standards and principles matter.
This makes the individual applications perform at optimized levels and reduces exception and crash rate to the minimum.
TE: What role do you think AI and machine learning play in the future of Software development?
Oluwaseyi Fatunmole: I believe the invention of artificial intelligence is amazing and huge. However, AIs would make your work easier but not do your job. There’s the human thought process that has to be implemented dynamically and manually.
AI would not replace software engineers, AI would only make our jobs easier by providing guidelines or documentations based on what it is fed to do.
AI would properly provide templates to build upon which I believe is a brilliant and efficient usage of this technology as it generally makes our work as software developers less tasking and automatically reduces error margin.
TE: Can you share a challenging project you worked on recently and how you overcame any obstacles or technical challenges?
Oluwaseyi Fatunmole: Oh yeah, this was developing a payment system which required our services to work XML (SOAP APIS).
This was some challenge because it wasn’t the normal process of integrating REST API service and particularly there was an unimaginably slim timeline to deliver this.
Overcoming it was not really an issue, as I just had to pay more attention to this type of service but it cost us a few days added to the delivery due date. This got us through this phase successfully.
TE: In your opinion, what are the most important qualities or skills a successful Software engineer should possess?
Oluwaseyi Fatunmole: For me, being a Software Developer is different from being a Software Engineer. A developer is just like a builder who is concerned about putting bricks together to achieve the desired structure based on what has been stated and given in the blueprint.
An Engineer, worries about more. An engineer would be concerned about the type of bricks used, the quality and other important stuff that makes the building a standard one.
This is really the same as we have in technology. A software engineer, be it frontend, or backend must understand processes outside just developing in their stack.
A mobile engineer must also understand how the mobile application can be developed for optimized experience, how to reduce application sizes, deployment processes and even contribute to how data is processed and sent from the backend, above all to understand system architecture.
These skills would help increase the standard of the system to be built and enable the team to work with bright and better ideas.
TE: How do you stay updated with the latest trends and technologies in the software development industry?
Oluwaseyi Fatunmole: This is one of the core values of being in technology. We have advancements every day so we must always stay up to date to keep up with standards in the industry and tech market. I learn every day. I pick new courses and ensure I complete them within a specified timeline. With proper discipline, this is very well achievable.
TE: What advice would you give to aspiring Software engineers who are just starting their careers?
Oluwaseyi Fatunmole: It’s not an easy journey. You can be stuck and frustrated for days so you need to know why you are doing this. The drive shouldn’t be money; else you might get disappointed at the early stages. Yes, money would come but that shouldn’t be the drive. Understand your journey and stick to it. Let the goal be mastery of a particular stack or technology.
Every other thing such as gigs, money, and recognition will come as far as you have done your due diligence. In all, it’s going to be a great journey if you can make the sacrifice.
TE: How do you ensure the security and privacy of the software applications you develop?
Oluwaseyi Fatunmole: We have a lot of security related implementations one can adopt. For mobile applications, one must understand a lot of parameters, functions contained in the androidmanifest.xml file for Android as well as the info.plist file for IOS. These files contain a lot of parameters that need to be set to intensify app security if properly understood.
Issues such as intent spoofing by hackers can be solved by just setting the parameter to false in this file.
Generally, I also adopt encryption algorithms and usage of hashing for sensitive data. We have AES encryption algorithm, you can also convert sensitive data using any of the SHA 2 algorithms.
Also understanding when to use the mobile apps local storage and not to. Keeping sensitive data such as user auth-token, password on the device can pose a security threat. This is why we have the likes of Providers to help handle data during runtime.
I run vulnerability assessment checks on the software as well; this would identify all risks based on their level, medium, low and high. There are a lot of things to consider in this scenario , let me just stop at this few
TE: Can you discuss the importance of collaboration and teamwork in software engineering projects, especially in a full-stack development environment?
Oluwaseyi Fatunmole: Collaboration is one of the major ingredients every team needs to deploy and release software successfully.
One cannot do it alone. You need the collaboration of the backend, frontend, mobile, devops, quality assurance engineers, UI/UX designers, Software Architect and product managers to achieve a standardized system, thereby ensuring the solution is built within the required timeline.
Without teamwork, these cannot be achieved, hence resulting into delayed timelines and in most cases unfinished products.
TE: Do you agree that AI will eventually take over the jobs of software engineers?
Oluwaseyi Fatunmole: No! AI won’t write you logic based on what you feel at that moment. Humans will be needed to configure what AI does. Like i mentioned earlier, AIs would make our work easier and reduce the error margin but won’t take engineers’ jobs.
TE: What advice would you give upcoming software engineers?
Oluwaseyi Fatunmole: It’s not an easy journey. You can be stuck and frustrated for days so you need to know why you are doing this. The drive shouldn’t be money; else you might get disappointed at the early stages.
Yes, money would come but that shouldn’t be the drive. Understand your journey and stick to it. Let the goal be mastery of a particular stack or technology.
Every other thing such as gigs, money, and recognition will come as far as you have done your due diligence. In all, it’s going to be a great journey if you can make the sacrifice.
Wow you sounded great in your field, your experience in what u have done has motivated me to do well in my area of hard work…please keep sharing your experiences and keep encouraging young men out there,
Thanks