A day in the life of a software engineer from Nigeria.
This article was originally published on the Aeeiee Blog.
January 2021 Update: This article was originally written in 2020. It’s now 2021 and thankfully, many more companies are learning to cope better with COVID. Let’s hope that this year brings in an effective Vaccine and things go back to some sort of normalcy.
2020 has been a year! There has been enough significant events in this year to take up at least 5 years. With the COVID-19 global pandemic hitting businesses this year, it has been a difficult time for many businesses. It has also forced many businesses to transition to remote work and a widespread acceptance of remote work as the future of many white collar jobs.
Transitioning a company to one that allows for remote work is a difficult process on its own but making that change during a pandemic is even more difficult. Luckily for us at Aeeiee, as a software company, making that transition has not been too arduous and I believe the key to this has been in the recruitment and training process.
With staff members across the US, India, and Nigeria, having a process that works and allows everyone to collaborate effectively is key to ensuring high quality output within a remote development team.
Starting at Aeeiee
I joined Aeeiee in September of 2020 as the company started to ramp up its staff strength and transition to remote work. As someone who has been through several recruitment processes, I particularly liked the one at Aeeiee. The entire process from application to getting an offer took about 2 weeks — meaning that if you apply here, you aren’t left in limbo trying to figure out whether or not you’ll be offered a role and how quickly you will get a response to your application.
The interview process
The first stage was a timed online exam. It contained an aptitude test, an English test, and a couple of coding challenges. The second stage was to write an essay summarising an excerpt from the book The Falsification of Afrikan Consciousness, by Dr. Amos Wilson — a text I found very insightful, making it more than just a part of the recruitment process for me.
The final interview was a 15 min presentation on any topic of choice with the rest of the Aeeiee team present. They got to ask me both technical and career related questions. I was impressed that other members of the team got a say in selecting the teammates they may potentially work with which clearly showed that the opinion of each person on the team was highly valued — another reason to join the team at Aeeiee.
A day in the life of an Aeeiee Dev
At Aeeiee we are an Agile company, utilizing the Scrum methodology with “sprints” lasting 2 weeks. This means that we break down our projects into small tasks, weigh them, in other words — determine how long or difficult a piece of work is and then focus intensely on completing those tasks within the sprint.
Here’s a quick breakdown of what a typical day at Aeeiee looks like for me. All times below are in Nigerian time (WAT).
7:00am — I typically wake up around this time. Toss and turn for a bit, get up, grab my running shoes and head out the door for my every-other-day run. I’m training with the Nike run app and loving that. I’m training to hopefully run a 10K at the next Lagos City Marathon and if I don’t hit that goal, I will run at a 5k meet instead.
Once done with my run, I’d typically get in a strawberry smoothie with a dash of tigernut milk (considered a superfood) or a salad — getting all the nutrients you can get in is important for your mind to run optimally as a dev.
Afterwards, I’d typically get some rest, read tech blogs or spend time writing down ideas on open source projects I’d like to build or contribute to. Or maybe just run any errands I need to.
12:00pm — 12:15pm: Clock in for the day. At this time, the team in the US is still asleep while the team in India has gotten through a couple of hours of their workday already.
We use Tsheets to track our time and tasks — I love the app and I’d totally recommend it. Bear in mind that it’s still a little buggy and acts weird sometimes. We track our time in 15 min increments.
After clocking in, I check my emails and slack messages first to see if there are any urgent requests or information I need to know.
Once done with that, I head over to our Jira board (we manage our workflow using Jira and use Confluence for documentation) to check if my team lead has left any new comments for me on the tickets I’m working on.
12:15pm — 2:30pm: Start work on a new ticket or continue work on a ticket I’ve been working on.
2:30pm — 2:45pm: Jump on our daily stand-up call. On this call we talk about what we did the previous day and what we plan to get done for the day. We also bring up any blockers we may be having. This is an interesting call because while it’s already afternoon here in Lagos, it’s late in the evening in India and it’s the early hours of the morning in Arizona.
2:45pm — 3:00pm: I’d typically take a short break at this point. Protect your eyes! They’re the only ones you got! I also make sure to get in about 4–5L of water each day
3:00pm — 4:30pm: Continue work on the ticket I’m working on. I may hop on a call with teammates to get help or help out anyone else with their ticket. In between these times, I’m thinking about lunch and what to have — Jollof rice, Plantains, Àmàlà, or more recently, since its re-emergence as a social media sensation on TikTok, I’ve been considering Fufu. I’m also attempting to make a mental decision on whether to order from a restaurant nearby or cook something.
4:30pm — 5:30pm: At this point, I’m usually a little jittery and so I take a 1-hour break. I’d eat some lunch and maybe take a walk down the street.
5:30pm — 5:45pm: Get back to work. Daydream a little while mentally trying to get my mind back into work mode.
5:45–8:00pm: I may be on any one of Google/Stackexchange/YouTube or the Php docs looking for anything that may help me get my ticket over the line. If I’m able to complete the ticket by the end of the day, I’ll move the ticket to in review to trigger a code review.
Code reviews are something we take seriously at Aeeiee as it helps us ensure everyone is writing code in a similar way that makes it easy for any new developer joining the project to maintain the code. It also ensures that we’re architecting code in a streamlined manner and following best practices.
8:00pm: I clock out for the day and make mental notes of questions or thoughts I may have had during the day that I need to speak to anyone on the team about at the next standup.
The most important things at Aeeiee
Our CEO always says there’s one thing that’s the most important thing at Aeeiee — and that is correctly tracking time. But, I think there are 2 things. And those 2 things are what helps us get better each day — Time tracking and Training. In my first month at Aeeiee, I spent the entire month learning the Aeeiee development stack — PHP and WordPress while also learning Jira and working in Agile.
The productivity gains from those training are immense. As every developer will agree, a software training course cannot cover every use case and you may still need a number of resources to complete tasks but it’s always a good way to lay a solid foundation for learning more advanced concepts in the future.
The best thing about training at Aeeiee? You get to do them on company time which means you’re paid to do them!
Team bonding at Aeeiee
On Wednesdays, we have a one hour gaming session. So far it has been a great way to bond with everyone else on the team. We’ve played games like Among us, Call of Duty, and Charades amongst others! Everyone gets to suggest a new game to play every now and then.
Every 2nd Friday after we complete our Sprint retrospective, we do this thing where one or two members of the team basically tell us their life stories. We haven’t gotten through to hearing everyone’s story yet but I’ve found these stories incredibly fascinating and I really believe that they’ve made us a closer knit team. It makes you see your teammates as people with stories and experiences and not just developers who write code.
Wrapping it all up!
Working remotely as a developer at Aeeiee has been great! The lifestyle is certainly something I’d choose over and over again. Luckily for us at Aeeiee, we’ve been able to find a balance around the usual downsides that come with remote work; not being able to disconnect from work, being overworked amongst others. We try to make sure our projects are well scoped out and planned ahead of time to ensure that developers do not have to work overtime unless absolutely necessary. Also, between our daily standups, journeylines and gaming sessions, we’ve been able to find a system that works and allows us deliver high quality work for clients.
What are you waiting for? Come join the team!