It has been a long time since I wrote something on my blog. I’ve been up and around with life, work, and shipping stuff. Today, I briefly want to discuss something fascinating. This “something” isn’t about teaching you software engineering or even how to become a software engineer. Oh! Far from it. It is about myself learning how to become an engineer. My goal in this article is to tell you how I became a systems engineer and buttress things people often overlook.
Before working at Deimos Cloud, I was fascinated with writing code; I didn’t think about performance, load testing, unit integration tests, benchmarking, etc. I just wanted to code, code, and code. On the other hand, looking for a job was incredibly hard. I was writing TypeScript back then and got introductory calls for internships at companies like Uber and the rest. But that was it, introductions and nothing more. I soon realized I needed to do something to make my resume stand out as a twenty-one (21) years old software engineer.
I went ahead to build different open-source source projects. I was hell-bent on making sure that I released new open-source projects every month. I had to bring my work rate to its peak.
I started with Stacks—an interactive CLI that helps developers install different framework stacks.
🚨I made a tool called *stacks*. Stacks is an interactive CLI that helps you install your stack(MEAN, LAMP, LEMP, MEMP, DOCKER, etc.) quickly. You don't have to copy and paste commands from tons of blog posts anymore. 😌
— Obinna Odirionye (@odirionyeo) August 21, 2019
Here is a link: https://t.co/VbtfgkengM
RTs are appreciated! pic.twitter.com/Iip719lA0H
Stacks went ahead to trend on GitHub. This was an incredible moment for me. I could never have believed it if I had been told.
I want to sincerely thank y'all for the retweets and likes. I am completely mind-blown by this🤯. this tweet and tool blew beyond my expectation 🥺 and it is currently trending on @github today 😱. I don't have a Soundcloud account. I'm grateful. 💜💜💜https://t.co/sXwrmJ2tay https://t.co/UNKdg9VvWy pic.twitter.com/5FpYWfzdDs
— Obinna Odirionye (@odirionyeo) August 23, 2019
I then got super motivated and inspired and built another similar tool. It was called DevOps-pack
🚨I made a tool called *DevOps-pack*. It is an interactive CLI with an All-in-one starter pack that helps you provision your machine with your favorite tools. K8, Go, AWS, Nodejs, Terraform, Ansible, DotNetCore, etc.
— Obinna Odirionye (@odirionyeo) August 27, 2019
Here is a link: https://t.co/0Mq9C5wRfr
RTs are appreciated! pic.twitter.com/xA9ev4ejYt
At this point, I just wanted to keep releasing. It was like I could write an entire operating system. LMAO! Such adrenaline.
Soon, I was faced with the issue: what do I build next? How do I make something people will use? I asked myself. I stumbled across Prosper Otemuyiwa’s laravel-hackathon-starter, and I was like, yes! We should have this for Nodejs/TypeScript. I later stumbled upon a TypeScript hackathon starter, but I needed more to put me off developing the idea. As I explored the codebase, I didn’t particularly like how it was mapped out, from routing to third-party to authentication and others (right now, I only remember a little of it). I knew I could not build something like that in a month, and I had to study and read more to make it. While on this journey, I considered myself a Tooling Engineer. I don’t know if that was a thing, but I liked building tools and so liked the title.
In my search for more folks, I came across Sarah Drasner. I legitimately screamed when I went through her GitHub repos. Boy! Lots of tools! Her work and projects inspired me to keep building. I eventually released the Node.js Typescript Hackathon starter.
🚨 I made a template called *Hackathon Starter Kit*. A Node.js app with Signup, Login(Local, Github, Facebook, Twitter, Google, etc.), Realtime monitoring, CRUD, Mailing + PWA support and more. 🔥
— Obinna Odirionye (@odirionyeo) October 14, 2019
Demo: https://t.co/ogifRpT7Dh
Github: https://t.co/p7lq63WpFx
RTs are appreciated! pic.twitter.com/a20ovphDGO
It blew beyond what I expected, and I updated my resume with these projects. My cover letter looked fascinating, and I was now getting more interviews. I could not believe it; I finally landed a job at Demois Cloud.
After submitting more than 80 applications from June till October, and so many rejections 😭, hoping for a YES! I finally got a YES 🥳. I finally got a job as a DevOps engineer @DeimosCloud 🔥
— Obinna Odirionye (@odirionyeo) November 4, 2019
I hope this inspires someone out there not to give up and thank you @Raznerd 💚
One thing I can tell you is that it was just the beginning. On my team was Bakyboy (I alone call him that name) and Idowu, my colleagues, now my amazing friends. These folks were the best! I always ran to them if there were any issues. I remember deleting a staging cluster for a customer around 02:00 AM. I woke up Idowu, and I was sweating profusely at night. I was new on the block; in fact, I felt I would get fired. Well, I wasn’t.
Bakare was one of the engineers that fascinated me, and he was brilliant at many things. I did not understand how it was possible. He could write good software; he was very vast about many things in engineering. We were age mates, and I thought I had seen it all till I saw him writing a OCI Runtime in C++. He invited me and showed me the code. I looked at him like, “Who are you? I struggled with an MVC app, and boys are out here writing OCI runtimes. I knew I didn’t know as much as I needed to then. I asked him how and why he was this good. He said it was about reading and studying. Bakare reads a lot of engineering blogs and tutorials. Following the advice, all I had to do was to study and experiment. I went to different engineering blogs and sites. Before I went to bed, I must read one article related to engineering, and this helped me tremendously over the months; I found myself fixing issues I read somewhere. I found the root cause of the problems because I understood how the systems work. There was a time I wanted to know how interpreters work and decided to build a programming language on my native language (Igbo). I never actually finished it, but it was super cool and a great learning experience.
It is vital to understand the concept of how things work. Running an application is not enough; understand how the apps work, core runtime, and how tasks are scheduled. Those nitty-gritty things many overlook are how you solve problems better. One of many things you can ask me in my sleep is what happens in Kubernetes when you do kubectl apply -f apply.yaml
. These things helped me solve issues and view systems differently.
I have always been reading and still read a technical article each day before I sleep to date. I think one movie I started watching like two months ago that related to my way of life now as an engineer is The Good Doctor.
I want to leave you with some advice that Sarah Drasner gave me early in my career regarding how hard you should work. Do you need to have sleepless nights or code 18 hours a day?
I asked her when I was 21 years old.
Hello, Sarah, Good morning, Please I wanted to ask something, do you believe in work-life balance, I mean John Resig didn’t just work 40hrs/week to build jquery or Linus Torvalds for Linux, they probably spent a lot of hours and sacrificed their sleep. Does it mean if I want to be better, I probably have to pay the ultimate price. Also, why do a lot of great people tell us we need to sleep, enjoy life while if we dig deeper, we’d probably know that these great people worked extremely hard and made a lot of sacrifices along the way. I am really confused here ma’am
She said:
Yeah and your confusion is fair. I think it’s about balance. Neither are true- you shouldn’t code 100% of the time, and you need sleep. But putting the work in will yield better results.
You can work hard AND hang out with your friends and find downtime
Also you might find you start enjoying it so much you don’t mind it, and it doesn’t feel like paying a price.
I love coding and will turn down social activities for it sometimes. I’m sure that’s how Resig felt too.
That it was engrossing and fun and worth his time.
I have used this as a mantra in becoming an engineer. Engineering should be fun. Engineering should feel like something other than work. It should be something you enjoy and can be cultivated. It’s okay if it is not your passion, and you should do something else.
Thank you so much for reading, and I hope this was helpful to you one way or the other.
Thanks to Bọ́lájí Ayọ̀dejì for proofreading the draft of this post
— Jul 5, 2023
Made with ❤ and on Netlify.