This evening, we will be meeting Micheal Ikechi, a Senior Consultant at Andela Nigeria, and a software developer at the BBC News. He Graduated from the Prestigious University of Ilorin, Nigeria. He sees writing code as an art and enjoys telling stories about his style and journey. A good part of his personality has been shaped by working with a variety of teams to build awesome software. We at DevChronicles had the honor of having a short discussion with Micheal, where he discussed his life in and outside Tech; It is our pleasure to share it with you
Good Evening Micheal. To set things in motion, tell us a bit about Yourself?
Hello. I am Michael, a software engineer, brother to Michelle, Sharon and Akachi, son of Mr. and Mrs. Ikechi. I enjoy learning new things, having discussions about things, realistic or unrealistic, doesn’t matter, I love talking about them either way. I play the piano, a skill I picked up while growing up and has remained with me ever since. I enjoy playing video games I'm pretty much average at it though. I faff a lot, I think having fun while working is important and I love doing my best work. Sometimes, I'm hilarious.
I'm sure you are. Where do you work, and what do you do?
I work with Andela Nigeria as a senior consultant, and also at BBC News as a software Engineer. I build software systems.
Do you have Personal goals you were able to achieve over the years? If yes, tell me, what were they?
Leaving Lagos. I've said this a lot, and I'll keep saying it. Lagos is not good for anyone's sanity. It took its toll on me, and I soon realized that I didn't really have to just accept it. I could make another City my home, and thrive there. I Decided on Ibadan and I have had no regrets.
Do you have any none software development related hobbies?
Tweeting. Teaching too. I find I'm pretty decent at it when I put my mind to it. Sometimes, I make short videos explaining concepts. I love telling stories. They're a great way to teach things. A technique patented by our Lord Jesus Christ himself.
What do you read in your leisure?
Tweets, blog posts, Academic papers (when I can understand them), Technical documentation. I haven't picked up a good book in a while though...I miss it.
Do you have any application you would consider your favorite?
Well, I have an unhealthy twitter usage, but I'm not sure I would call it my favorite. The pool of applications to choose from is just too large.
What has been your most challenging project so far?
Weight loss. Weight gain was an old project, and I knocked that out of the park. But for this one✌️
I Can't really relate, I was born fit. What web platform do you enjoy using the most and what do you think it took to build it?
GitHub. It's so beautiful in its simplicity. I imagine it was built with tons of discipline, hard work, team commitment,and great business decisions.
Has there been any time when you had to develop a feature for a user but it didn’t turn out as expected? If so, where did the miscommunication occur, and what did that experience teach you?
Oh, it happens a lot. Users either don't know what they want, or change their minds all the time. So, I encourage showing prototypes early. If possible, point them to existing services that do what they want. A lot of bespoke solutions can be achieved with some careful Spreadsheet design. It means money off the table, but the customer is happy. They have what they need, and can use that till they actually need a solution their tools can't provide.
I have a situational question. So, let's say by 5am, while you are still asleep or while you're on a break(you devs don’t sleep), a call comes in and it's from your project manager, saying the user community is having intermittent access problems on a web application you worked on. And at first, it sounds like an issue with one of the VMs on the load balancer that's managed by the network team. How do you proceed?
Call the DevOps guy. More seriously, handling it depends on the environment the issue happened in. For environments, I like having:
- Dev
- Staging
- UAT
- Production If Production is broken, it's all hands on deck. First, roll back to a previously known good build, or do as much as possible to get it back up and running. Only after, do we have a post-mortem to figure out what went wrong. A UAT (User-Acceptance Test) environment is where the next generation of production code lives. It partially mirrors production, by (at least), pointing to the same Datastore. This way, if an issue would happen on production, it very likely would be caught in UAT before it gets there.Only after extensive regression testing do we switch the production and UAT servers, so UAT becomes the new production. Users shouldn't notice a thing.But if anything breaks, you can just switch them again till you can get things fixed. So, you can see how my reaction would depend on which environment gets broken.
Yes, I do see that. There should be a nugget or two of wisdom our audience can get from that. What project have you worked on that you're least proud of? What would you have done differently?
I'm not sure how to answer this one. I've had my share of projects that didn't see the light of day, but none I'm not proud of. I'm at least proud of the experiences gained, the people I’ve worked with, and the things we did.
Follow up question, what project have you worked on that you're most proud of?
I'm usually most proud of projects I'm working on at that moment. Right now, I'm focused on building a tool to ensure wealth continuity. I managed to convince a friend to work on it with me, and it's been great. I can see myself using it in my daily life, and can see how it'll affect the way people think about wealth. How that'll play out is something I'm excited to see.
To you, what's the best way to integrate 5 different style sheets into a website?
Load them on different pages.
What's been your most challenging Project as a Developer?
A while back, I did some consulting for an organisation. They needed to build a SaaS product, and they'd been disappointed too many times by other consultants, so I was the last straw before they scrapped their entire dev team and focused on something else. I was determined the team would not fail, so I did everything I could, putting structures in place so the team could deliver. We went quite the distance, till I burnt out and had to leave.
Wow, I do hope you had no regrets. Do you have any preferred Development Environment?
Let's see, I like VS Code, probably only because I've used it a lot though. I like Visual Studio for things I can't easily do with VS Code. For Operating Systems, I've used the popular ones: Windows and Unix-based systems, so I'm okay with them.
What else do you want to improve about yourself?
I'd like to go out more. COVID isn't really helping with that at the moment.(Laughs)
Do you have a favorite Dish, and how is it prepared?
Not really. I like food in general.
What's the one job you'll love to be doing, if you weren't into building software?
Maybe toy-making, or some kind of manufacturing. I dabble with the idea of building more than software, but physical things that people can interact with.There's teaching too, or lawyering. I like logical systems, and the law is just one of such. "This and this is true, unless that is true, then this and this are false". That kind of thing, places where I can think of ways to (legally)bend things in my favor are kind of fun.
Words to fellow developers out there?
Stay safe
Avoid SARS!!!!
Do good work
Keep your head up high
Raise a PR to an open-source project every now and then.
Do pro-bono work when you can spare the time.
Remember, users have feelings.
If you get an opportunity to build systems that helps keep the government in check, do it with all your might.
Thank you for having me.
There you have it, there's no doubt Michael is making waves in the tech world, we're really pleased with what he's doing and really wish him well in life. That's all for this week; you will be hearing from us soon.
You can reach Micheal on:
LinkedIn: linkedin.com/in/michaelikechi
Twitter: twitter.com/mykeels
Github: github.com/mykeels