Showing posts with label Work. Show all posts
Showing posts with label Work. Show all posts

10 October 2019

Hafiz Adewuyi

From Lagos to Kaunas

I'm writing this one from a living room, in a one- (or two-) bedroom flat which lies along on Karaliaus Mindaugo avenue, Kaunas Lithuania. I'm sat behind a stark white four-seater dining table that is right below a chandelier whose white light beautifully illuminates the keys of my silver-painted HP laptop. It's been nearly 4 hours since I closed from work today and I'm feeling cheerful, positive, happy, grateful, privileged, blessed. Right now, there are no negative feelings in here.

This living room that I write from is the one which if all goes as planned, will be my abode for the next 11 months. It is hands down the best living space (by multiple indices) that I've ever lived in since I started paying rent in late 2016. And arguably the best overall space I've ever lived in since I was born (definitely top 2 though). I moved in here last weekend: Saturday. Since then, there's been no power outage in my flat.

Digital Explorers advert from the daily TechCabal newsletter

I've come a long way to be here, 7000+ km if you draw a sort-of-straight line between Lagos and Kaunas. It's a journey which all started serendipitously in early March 2019, when I learned about Digital Explorers from the daily TechCabal newsletter. At the time, I was over my then job at Access Bank and was eager for the next thing already. The first time I noticed the Digital explorers advert, I opened the link to the website, read about the program and found my way to the application form. The form looked intimidating though: about 20 questions and on top of that, I had to submit a video of me talking about myself. I can imagine that I started filling the form; with all the basic details about myself and then I must have stopped at the "Why do you want to be a part of the Digital explorers program" question. Difficult question, you'll agree? Looks too much to me like one whose answer is most likely to make or break your application. Nonetheless, I left the Chrome tab open.

Around the same period, even though I didn't complete the Digital explorers application myself, I made sure to inform a few colleagues of mine at the Access Bank head office: budding developers who were looking for opportunities to accelerate their programming skills. As chance would have it, one of them: Bayo actually followed through and completed this application.

April 1, 2019: the day that applications were closing for the first-ever track of the Digital explorers program, I got into an office corridor chat with Bayo. That was when he told me that he had actually completed his application. Remembering that one of the reasons I didn't complete my application was that I had to record a video 🙍‍♂️, I asked Bayo for how he'd crossed that hurdle. He explained that he had not uploaded the video as the application had requested. However, he was ready to send the video when Digital explorers got back to let him know that the video was missing from his application - who's to know if that’s the only reason that he didn't move past the application stage?

Not having much to do at work that day - I'd actually already dropped a resignation notice at Access Bank, I decided to go through with it; if Bayo can do it, why can't I? And so was it that I soon made my way that fateful Monday afternoon to the loo of the staff recreation centre to record myself talking about my career and my motivation for applying to be a Digital explorer. In another one or two hours, I had submitted my application and that came with a tinge of fulfilment.

Less than 24 hours later, I received an email with a link to a Codility coding challenge which I had to complete. If I remember correctly, I had a perfect score and I finished in good time. In other words, the test was not a tough one for me - who knows, maybe it's because I've been programming professionally for almost 7 years now. Within the next two weeks, I had completed a motivation and personality interview over a phone call with a member of the Afriko team (Afriko is the Lithuanian company leading the Digital explorers program). One week after the phone interview, I was invited to the final step of the program: a week-long training and hackathon program in Abuja Nigeria, happening in the second week of May 2019.

Interestingly, when this invite came, I was less than one week away from resuming as a software engineer at Carbon. For that reason, it was impractical for me to request time off to attend the Abuja Digital Explorers event. How would it sound that I was just three weeks into a job, still learning the ropes and then I'm requesting for a whole week off of work? First, I valued the opportunity to work at Carbon quite highly. Also, one of my highest values at this time of my life is honesty (it's actually because it's hard to think up lies and I'm mentally lazy), so going the route of lying about why I could not be at work for a whole week was not an option for me.

My response to the invite from Digital explorers was first of all tentative, then after I had discussed with my manager about me wanting to try out this opportunity to work abroad, I decided not to take time off work to attend the Abuja event. "Abroad work opportunity will come when I become even more adept at what I do through my job at Carbon", I consoled myself. However, the strong, personable and empathetic people of Afriko would not have it and they ensured that I attended the program, even if only for the last day. "The trip from Lagos to Abuja is an all-expense-paid one", they said. I had nothing to lose, so I said yes and flew to Abuja after work on May 10, 2019, for a jolly weekend of mixing with an ambitious crop of Nigerian techies and sleeping two nights in a room that is much nicer than my Lagos one at the time. Since I was aware that my chances of getting a job offer from a Lithuanian company after the program were slightly reduced as I was not able to participate in most of the week-long program, my main mission in Abuja was to chillax big time; mini-vacation if you will.

Just as I had expected, at the end of the hackathon Saturday (May 11, 2019), none of the companies who had representatives in Abuja had offered to interview me. I resigned myself to one more night of blissful sleep in a nice big Abuja hotel room and promised myself to double-down on my new Carbon job so I'd be better prepared to grab the next desirable abroad-work opportunity that I found.

Roughly one month after the Abuja hackathon - when I had absolutely no more hopes of becoming a Digital explorer, I got an email from an Afriko person. Receiving that email made my day. I remember jumping up from my office chair and telling my colleague Precious that I had just received an email that has made my day. This was before 8:00 in Lagos and I felt fulfilled enough to not do any other work for that day. Of course, my employer would have begged to differ, so as you would expect, I stayed back at work.

The email said that I had been invited for an interview for next week Tuesday by a hiring Manager at TransUnion Baltics. I confirmed my availability for the proposed time and went ahead to prepare for the interview. I went to the company website, read enough to get a sense of what they are all about - I was interested. Afterwards, I compiled a few questions that I would like to ask the panel during the interview.

Because the interview was on a weekday morning, I asked a friend to let me use his office for the interview. My plan was to complete the interview - which based on schedule would eat at most, one hour deep into my workday and then head to my office. My interview with three members of the engineering team at TransUnion went well, even though I couldn't place a bet on that I would proceed to the next stage. I made a few oversights in the live coding session and I didn’t even finish the tasks in the allotted time. I considered it a positive sign though that the hiring manager took his time to explain to me what it was like to work at his company and in his team after I had asked one or two of the plenty questions that I had prepared beforehand.

Roughly a week after the interview, I got an offer letter to join the TransUnion Baltics as a Senior Software Engineer 😭😭😭. After a bit of back and forth, I accepted the offer and well, here we are.


Welcome to Lithuania picture - Vilnius Airport

Tomorrow (Friday) marks the start of my second week in Lithuania. I am a pacesetter and I would love it to be that at the end of this journey, my company is happy to hire many more willing people from Nigeria who want to explore their world through working abroad. I am an ambassador for millions of talented humans back home with inadequate opportunities and I will be keeping some doors closed if I mess up this opportunity. Hopefully, I don't get carried away and I am able to keep that active in my subconscious throughout my time in Lithuania. Also, I am in for a year-long adventurous time in this beautiful and cold Baltic country. Care to come along?
-
Ačiū

---

PS

Do you have any questions for me related to the subject of this article? Ask quickly, anonymously if you want, by clicking here.
Read More

2 August 2019

Hafiz Adewuyi

Lagos-based Toyota Corrola salon car goes into retirement

Recently, I read a blog post that I wrote in 2013. For me, apart from being a nostalgic and entertaining read, it made me remember the days when my writing was not all serious and targeted. I used to write just because I got a creative impulse and I thought it'd be interesting to put that to use. I was writing for myself and in a sense, the writing was an end in and of itself.

Along the line though, perhaps triggered by the success of some people around me in commercializing blogs, my attention gradually shifted to stuff like page visits and page rank. I became particularly interested in the potential reach of my writings, more than my enjoyment of writing as a hobby. Ever since then, most article ideas that flow through my head get discarded because "this doesn't help anyone else" or "no one is going to be interested in this".

With that mindset, my writing became less and less frequent, because of the sheer stress involved in the filtering process. Most times, by the time I'm done thinking about how to present an idea in the way most beneficial to the supposedly reading public, I've already lost the zeal to write it.

This evening, while I was doing a few dishes, my eyes picked up the sheen of my car under the dim compound lighting through the kitchen window. Seeing the car shine gave me joy in that I can lay total claim to such a beautiful object. I think the reason that I actually took notice was that it had actually been a while since I'd seen the car shine that way. Yes, until this past weekend, the car had not gotten a wash for at least, one month 😳😳😳.

In the few seconds that followed that moment, a few thoughts followed. How happy I was when I first lay my eyes on that car 3 years ago. I also considered how little use the thing now gets used since I moved within 4 miles of my workplace in June. And of course, at that moment, the idea for this article was born. And to my surprise, my helpful article filter allowed it to pass. Surely, the filtration process has relaxed since I read that 2013 article.

I'm excited about this development because it just might mean that I'll be able to achieve better consistency in my writing. I don't know if I've ever said it publicly but I feel a burning desire to blog consistently. To make it clear, this desire does not exist to fulfil an end which consistently blogging is bound to lead me to. No. Blogging, which in the style that I do, generally means documenting my own experiences in a way that is freely and widely accessible to other people is in itself, an end for me.

-------------

My Green Toyota Corolla in a fine Lekki house
My car went into retirement in the last week of June 2019. This coincides with my relocating to a house which is 4 kilometres closer to my workplace than my previous place. The location of the new house means that I can get a Keke directly from the front of my house to the front of my workplace for 200 Naira (55 cents). On realizing this, I think it would have been silly for me on many levels to still keep driving my car to work on the regular.

Level 1: Transportation cost

My Toyota Corolla car is fuel economical. Hence, between my old place and my workplace, I used to spend between 500 and 600 Naira on petrol per day, which when you add the benefit of comfort of privacy you get in a car versus a Keke, it can't really be said to be expensive. That is until you remember that every day, yours sincerely had to shell out 360 Naira every day to pass through the Lekki Admiralty toll plaza. That takes my former daily transportation costs up to 900 Naira; more than twice what it now costs me for my daily work commute.

Level 2: Car maintenance

Beyond the running costings for using a car being more on a day-to-day basis, there's also the fact that the more use a car gets, the more frequently it has to be maintained. These days, I drive my car only on Saturdays and Sundays, mostly within my neighbourhood. In numbers, this means that my car now gets 71% more rest than it used to in the days when I drove it to work every day. Now, if that's not retirement, please tell me what is.

In terms of cost, using my car less than one-third the time that I used to means that instead of servicing it three or four times a year, I can now do that just once or if I'm being generous (or paranoid) twice a year. Similarly, the unexpected faults that tend to rear their heads every once in a while, leading to unanticipated spending are less likely to occur due to reduce wear and tear on the car.

Finally, if I was driving to work every day from my current house, I would be driving the car through some not-so-level roads. Every single day! That would take away a few more points from my well-maintained car scorecard.

Level 3: Commuting time

Beyond being a car spoiler, the poor state of the roads in the Lekki-VI alternative route (they're actually not that bad but I hate to drive on anything other than a paved road) between home and work means that a car can't be driven any much faster than a Keke can. The roads are quite bumpy, right from around Newmarket (Akiogun) road in Lekki until you get to Ligali Ayorinde street in VI.

Of course, the commuting time takes a leap at rush hour times. Again, at such times, I'd rather not be stuck in my car wasting away in traffic that I could breeze through using a Keke or Okada. When I used to drive to work every day, I regularly had to wait at the office till at least, 8 PM for rush-hour traffic to ease out enough to be tolerable for me.

However, since I started taking Keke to work with my car parked at home, I've been regularly leaving my work for home between 5 and 6 pm. In the worst traffic situations on my route, Kekes still manage to get through much faster than any car can. Also, if it's a total standstill, I'm free to walk or bike my way out of such before joining a Keke that has gone past the traffic.

Having said all that, I hereby wish my car a happy retirement.

PS

I think this article is lame. But what's wrong with being lame? Whenever I'm hesitant to do something because I might be seen as lame, I like to encourage myself by reminding myself that lameness is actually a positive trait in that it gives other people a reason to laugh. Hence, in as much as I manage to take the mockery light-heartedly, my lameness actually has a net positive effect in the world, so long as it does not involve directly causing damage to someone or something.
Read More

12 January 2018

Hafiz Adewuyi

How I found my first new job in Lagos

Or how I moved from my first job to another company in Lagos.


I write this article in the hope of inspiring someone to start seeing themselves, not as a victim but as the orchestrator of their career. I've spoken to too many people who feel frustrated with their job and like they're at the mercy of their current employer. While I acknowledge that my current job situation is far from being the standard for success, I must mention that I can't remember the last time I felt that way. 

I've benefitted immensely from knowing that irrespective of my current situation, the power to steer my career in a positive direction lies mostly with me. It's my sole responsibility to keep my head high enough above water to make the best out of the situation.

That said, I encourage you to share it with your friends who you think might be able to benefit from the shift in perspective that I hope this piece will help bring about.

---

If I were to summarize this article into a 140-character tweet, it would be to

"Pick one important pain your current employer's business faces and own it!" 

For me, the important business pain at my first job was a particularly unstable software product. So grave was the instability of this software product that many of the clients using it were sending unpleasant emails daily and threating to dump it every chance they got.

I would say I got lucky with the part of seeking out an important business pain. In my case, the important business pain sought me out. Not because I was the best for the job but because I was the most available. This immensely buggy and dirty codebase was literally dumped in my laps. So, for me, it was either own it or go home. You love your family and you've decided you want to spend more time with them, my CEO would sometimes joke when talking about something that could get one fired at the company.

For the first few months of my inheriting this software solution, my life was hell. I barely had a grasp of what the solution was meant to do and knew absolutely nothing about how it works. Yet, I was the first and last port of call for clients when they had any issues. The clients being the 8 different huge organizations who had licensed the software.

Yes, during that period, I achieved some progress, however marginal it might have been. For most issues that were brought to my desk, I had to defer to a more experienced colleague, having them do most of the heavy lifting to fix it. Then I would finish up by merely delivering the work to the client.

At this point, I had yet to take ownership of this problem and it was clear for everyone to see. Service delivery was poor because I often had to wait for someone else to leave their main responsibility for significant amounts of time before I could complete any task.

TURNING POINT

I remember vividly like it was yesterday, the particular issue that marked the turning point in my experience at that first job. The software solution in question is a payment gateway system. Nigerian banks were my company's clients and the end users of the solution were the bank's business-owning customers who wanted to accept payments on their website (and the customers using their website).

This particular Friday, one of the last emails that came in from a bank was about one of their valuable clients whose developer was finding it hard to connect his website with the payment gateway. Prior to this time, my default response when posed with this problem was to refer the customer to the payment gateway integration document. At best, I'd send them some supporting sample code which I had inherited from a predecessor.

But this time, something was different. I can't remember what it was but there must have been some peculiarities which prompted me to approach the case with some novelty. For the first time ever, I zeroed my mind on seeing this bank's customer through their integration; till their website was accepting real payments from customers.

The following weekend, with no one putting pressure on me as usual, I digested the payment gateway integration guide for the first time since I'd inherited it months back. I read it from start to end, making sure to truly understand the purpose of every instruction in the document. Once I was done with that, I decided to practicalize what I'd just learned. This I did by creating a barebones HTML payment form and integrating it with the payment gateway.

Once I was done that same weekend, I sent the code for the HTML integration I had done to the troubled merchant's developer. This, my friend, turned out to be all the help which he needed to complete his own integration. Furthermore, the end product of that weekend's grinding (the HTML code) became a silver bullet for much of the rest of my career at the company. I would go on to share it countless times after with other people who were seeking to work with the payment gateway.

---

A  couple of months after resolving that revolutionary issue, I had gone from being scared of what turmoil the next email might throw my life into to having dull days when there were too few emails from my clients. The software solution was now for the most part, stable and delivering its promised value to my company's clients with only occasional hitches.

My role evolved from me weathering storms day-in, day-out to being confident enough to reach out to clients, inquiring about how I could make the software more useful for them. From that to me having enough time and will to pay back some technical debt which the solution had incurred in its worse days. In essence, the fulfilment and gratitude I received from investing myself in that first customer's success got me addicted to focusing on my employer's customers' delight.

After a little over two years at my first employer, I got an offer from two different companies at the same time. Each of these offers came by way of my company's partners whom I had encountered through my work. Without a doubt, these people were convinced they needed some of my problem-solving aptitudes in their organization. Right now, I think back to one particular person I worked with who proudly describes me to people as resourceful.

Prior to my receiving these offers, I had interviewed with about 10 other companies at different times, all with a unanimous response of NO. In light of that, I had all but given up on my potential for success as a career programmer when they came in. So much so that I had resigned from my first job and was preparing to pivot when I got these offers. Offers which I effectively already had even before the first interview.
Read More

24 September 2017

Hafiz Adewuyi

How I became a Software Developer in Nigeria

I feel like most developer stories I come across are about people who have had a passion for computers since from an early age and were fortunate to get into programming in their childhood or teenagehood. My story was not quite like that, so I thought I'd add my voice to the pool and maybe encourage someone out there to reconsider their ineligibility for this career path. I think my story is very far from typical. Here we go.

------------------------------------------------------------------------------

It's funny that even though I also got the opportunity to be exposed to computers before 10, you can say I was not curious enough of a kid to want to figure out what made this thing work. Instead, my curiosity led me in a direction that saw me doing other things like:

  • Playing PC games installed off of pirated CDs from computer village, e.g. Total Games 2000 (which had a massive set of tacky but fun 2D games) and Age of Mythology
  • Chatting with random people on Yahoo messenger and other online social websites that pre-date Facebook
  • Trying to understand myself and feelings and address my social anxiety by drowning in a sea of self-help articles

What the heck is programming?

Bolu. He was my friend and coursemate in UNILAG and I don't think I even had a concept of what programming was until that very first discussion on it with him in my first-year room at Shodeinde Hall in UNILAG.

I think I might have asked him what the heck this programming thing he was always on about, was. I remember him trying to explain the concept to me by asking me to think about algorithms in terms of how one would go about instructing someone else to make a cup of tea. Anyway, despite his best efforts, Bolu was unable to get me to understand programming enough to think it was something I should try my hands on right away.

My first encounter with code

While most people say their education in Nigeria was a waste of time, I can't. My Electrical-Electronics Engineering major required me to complete two different introductory courses to programming with C++; one in the second year, the other in the third year.

Each time before second-year when I discussed programming with Bolu, it was always with a dread that was waived with the thought: "we'll cross the bridge when we get to it". The general belief amongst my classmates was that programming was so rocket-sciency that it took Bolu's level of genius to tackle, so I couldn't really be bothered.

Of course, when the second year came around, I was (like 90+ percent of my colleagues) not in the least prepared for the introductory C++ course. To make matters worse, halfway through the semester, even though I attended lectures, I found myself not understanding concepts even as simple as variables and operators. I don't think I was paying much attention, perhaps, because of my defeatist mindset.

A few weeks before the first programming test, I must have gotten into panic mode and beckoned to Bolu my friend to come rescue me. He agreed and he came around to my room in Jaja Hall to walk me through the concept of functions (methods) in C++. I think we chose that concept because despite my best studying efforts, I couldn't grasp the concept and why we even needed them at all. To me, they just existed to make my life harder in the name of sophistication. Of course, I think way differently now.

Luckily for me, Bolu successfully demystified the concept of functions that fateful afternoon and you can say that from that point onwards, my life never remained the same.

Finding my passion for programming

After the session with Bolu on functions, I took it upon myself to write my first function in a practical scenario. The first program I ever started and completed all on my own (if my memory serves me correctly) was a C++ console application to compute a student's semester GPA, given his grade in each course and the weight of each course. While making the program, I created my very own first set of C++ functions and suddenly, it all finally made sense to me.

A programmer in the zone
When you finally understand the language of the computer

The beauty of achieving this milestone was that it not only helped me finally see how functions work. No. It also completely shattered my previously strongly-held defeatist stance towards programming. I finally was able to conceptualize the possibilities ahead if I could get a computer to help me out by writing simple instructions. This realization fired up my curiosity and from that moment on, I spent most of my spare time studying the programming textbook and trying out what I was learning, on my laptop.

Needless to say, I aced my first test and eventually came out tops in the class at semester end, both in the second and third year. Writing those programming exams made me feel exactly like my maths exams in high school used to. And funny enough, the feeling is similar to that which I get when playing addictive games on the PC. I'd say what is common between those two exams was how confident I was in my being able to tackle any question thrown at me and how much I actually enjoy the process of getting thrown a totally new question, reading and digesting it, then going ahead to apply my skills to find a solution. The flame of passion was ignited.

Way before the end of my third year, I had personally completed the C++ programming textbook cover-to-cover. This was the only course in my five years at the university where I had enough motivation and interest in the material to pre-study, let alone, cover an entire textbook way before the exam period. The first and only time my lectures felt like revision sessions.

I was well-renowned by my colleagues as one of the programming dons of the class, perhaps only second to Bolu the one who was born programming. I like to think that this respect formed part of my drive to do so well at it. In fact, I remember one troublesome classmate of mine expressing his contempt for me for being so confident on the day of the third year programming exams as to be studying for another course. Meanwhile, he and most other guys were busy rehearsing code they had crammed, hoping they would have the chance to regurgitate at the exam hall. I really never understood the idea of cramming code but somehow, people were able to make relatively good grades by taking that approach.

During my third year, I also applied my new found skills to create a C++ console application that was pretty challenging for my level. Looking back now, I think doing it might have helped me develop some debugging skills early on. The idea of the program was simple. It could display any number from one (1) to a billion in words. So, if you enter 5467 into the console, it prints out "Five thousand, four hundred and sixty-seven". That was my proudest creation ever and I was always eager to show it off to anyone who cared to listen.

Losing it

This is the saddest part of this article, and it honestly makes me wish I could go back in time. But as there's no need to cry over spilt beans, let's just go ahead to see what happened after what was arguably the best year of my undergraduate life.

The third-year course was the final programming course in my curriculum as an elect-elect student. So, even though I had a passion, I really didn't have anyone push me hard enough to keep developing my skills outside of coursework. Perhaps, I even felt like I had arrived and I wasn't looking for anything that would displace me from my programming throne. Hence, that marked the end of programming in my life as well. The figures-to-words conversion program was the last complete program I wrote as a student of UNILAG.

In my final year, I got a chance to reignite my passion as a participant in the MIT AITI programme. Unfortunately, I could not cope with combining the expectations of my AITI team with my final year coursework. To complete my final year project, I had the huge task of learning to program with C++ QT and I wasn't making good progress with that. I was stuck and was not learned in the science of getting unstuck. This is meant to be easy. I was the programming guru in the third year, why is this so hard for me? Maybe this programming thing is not my thing after all.

This made for a bad state of mind to try and learn yet another language (Java for Android, I think) to deliver on my responsibilities as a member of an AITI startup. After a few weeks into the program, I told my AITI teammates (two of whom went on to found now stellar Prepclass), tail between my legs, that I couldn't do this anymore. After all, in my mind, I was in school first to excel at my coursework before anything else.

I managed to get my final year project to a barely working state before it was time to submit it. But then, after that ordeal, I lost all of my premature love for programming. I hated anything that made me feel incompetent, oblivious of the concept of a learning curve and that it's normal to go through a steep phase to master any skill, even if the basics made you feel like a genius.

A second chance

Before the final semester wound up, Appzone came to UNILAG for a graduate-intern recruitment drive for engineering students. They conducted an aptitude test in which I performed well enough to make it to the interview stage.

The interviews didn't really go well, because as you can probably tell, I really wasn't that much use as a programmer, in terms of productivity. I told them about my brief romance with programming in the second and third years of my studies and how I was the don. However, I was not able to justify why I did not keep programming after those introductory courses ended. I knew that only a miracle would get me into Appzone at this point, considering the number of more experienced programmers (including Bolu) who were also interviewed.

Getting my first job

Towards the end of the final exam period at UNILAG, the first set of successful candidates were made an offer by Appzone. Unsurprisingly, I did not make the list. However, I think there was some speculation that there would be a subsequent list. I was hopeful that if there was any validity to that, my name would fall on the second list.

A few weeks after final exams, I finally got the best call of my life (at the time) from Maryam, a member of the Appzone HR team. She was calling to let me know I was successful; that I had made the second list! A few of my more experienced classmates (including Bolu) who were on the first list had declined the offer. Hence, some room was created which allowed Appzone to accept me and two additional classmates into the paid internship program. What luck!

I resumed at Appzone just one month after finishing my final exams in UNILAG. All intern programmers were required undergo a rigorous and dare I say,  effective training process. First, we were taken through a series of lectures by our experienced colleagues to get us up to speed on the Nigerian banking industry and how Appzone's business fits in there.

Sitting through lectures was the easy part. After the lecture season, each of us (interns) was tasked with single-handedly building two different software projects from the ground up. Each of the projects is a less-sophisticated version of some of the company's existing products. Upon completing both projects, the intern is reasonably expected to have gained enough programming skills and banking domain knowledge to go live (start real work).

During the project period, each intern is attached to an experienced colleague who will be their mentor and first point of call whenever they get stuck. I was attached to Emeka, an elect-elect graduate of UNILAG two years ahead of me. And he made sure I would report my project progress to him, once a day in the least. Without a doubt, this kept me on my toes.

Final thoughts

I don't think I would have been able to overcome the steep learning curve to becoming a market-ready programmer without all the controls and aid put in place at Appzone to help me get there. Big-ups to Appzone for helping me through that delicate stage of my career and giving me a chance to mess up on the job. Heck, for even helping me to 'choose' a career.

Who knows what I'd be doing today if I didn't get that offer by a slim chance. I didn't have any skills and I lacked the drive to develop one on my own. So, I, like most other Nigerian graduates, was ready to settle for the first taker, irrespective of how interested I was in the work. Oh, someone thinks I can be useful at something? Great! Take me whole.

Also, I've changed a lot in the five years since graduating from school. My exposure to the 'real world' has immensely shaped my view of life and I now have a beyond superficial drive to give the best work that I can and be the best me that I can. Every living moment, I'm thinking about how best I can spend my time and resources to improve my chances at being an unarguable success at what I do.
Read More

23 August 2017

Hafiz Adewuyi

Happy Birthday: It's your turn to put the people in your life in their true place

Back when I worked at the bank, it was customary for a birthday celebrant to share cakes, small chops, drinks and sometimes, full meals (rice and chicken) to colleagues on their birthday. However, because it happens to be a bank head office, which has hundreds of staff in one location, except you fell into the generous manager's category, it was unlikely that your 'birthday bounty' would reach everyone in the office, even if the news of it definitely would.

Creative happy birthday design elements vector art Source

Of course, as a celebrant, this scarcity of resources puts you in a place where you have to choose which subset of staff would be recipients of your birthday bounty. The average celebrant's approach was to put their immediate team members (average of about 20 people) at the top of the beneficiaries list. Also, the celebrant's favourite managers and the less-favourite ones who happen to be the celebrant's direct/indirect managers usually have an automatic place on the list.

Outside these satisfy-them-or-die demographics, of course, lies everyone else. From this group, it is now clear that only the celebrant's favourites will get a taste of the bounty. Celebrants would typically write a (VIP) list and appoint a colleague as mercenary to dispatch the birthday bounty to this special group of people who are usually across different teams and sometimes, in another building entirely.

Everyone else, who of course cannot easily be shielded from the news that the birthday celebrant has skipped over them in their generosity spree is left to grapple with their new found knowledge of their importance (or lack thereof) to the celebrant.

Of course, inevitably (since I was no manager), most of the time, I was in the category of unimportant masses whom, if they were lucky, would get a tiny piece of sponge cake which has more icing than actual cake. Left with no choice but to look with envy at those special beings who happen to fall into today's celebrant's VIP list.

The worst of these times for me was when I actually felt betrayed by not having been put on the celebrant's VIP list. You know, those people who you think you actually have a good relationship with and if there were to be any such categorization as this, then you would definitely fall into their good books.

One example which happened earlier this year (2017) was particularly painful, so much so as to ruin most of my productivity for the rest of the day with surging emotions of anger. In my team of three or four developers, each member except me got a pack of small chops and a can of soft drink. The celebrant happened to be a member of the product management team with whom I used to work closely until recently when a change in my duties meant that we had very little work in common.

All that my lizard brain could interpret from this exclusion was that she didn't consider me as having contributed any noteworthy part to her achieving her career goals in the organization. My more reasonable side tried to convince me that this was probably just an innocent oversight. But no, this lizard was not having any of that palliative bullshit.

I got really mad because I felt that I deserved some of this birthday love for all the past times we had worked together to achieve some organizational goal. In fact, the only reason I didn't confront the celebrant that day was that I felt it was distasteful to question someone's intentions on their special day. After all, it's not like they actually owe me anything.


Being fully aware of how bad it makes me feel when I'm skipped over to receive a birthday bounty (especially when I think I deserve it), my stance was to just not share anything at all on my own birthday. For me, it's better that no one feels special and that everyone considers me a stingy mofo than to make some feel special and then alienate the rest of the unimportant masses.

As you can imagine, I had to argue this stance with my immediate team members severally.

My colleagues' argument You partake in the bounty of other (immediate) team members. Why then would you decide to go missing when it's your turn to pay it forward? How would you feel if, on a team member's birthday, you do not receive a bounty while every other team member does? This is what we're going to do to you if you refuse to declare a bounty on your own birthday.

My counter-argument You realize that at no point did I move to convince any other team member to declare a bounty? They did it of their own free will and I'm only happy to share out of their generosity. However, I think the magnanimity of it is eliminated if it becomes mandatory.

Like, what is the freaking point of buying food for everyone in the team if, in the ideal scenario, you would still get the favour back when other people pay it forward by sharing their bounties within the same team on their own birthday? We could as well just keep our monies to ourselves and buy ourselves a special meal every once in a while.
Read More

2 March 2017

Hafiz Adewuyi

Cardless and Cashless in a Victoria Island Lagos supermarket

Good morning!

On most weekdays, I have an early breakfast which is usually finalised with a very milky cup of Nescafe breakfast (milk+coffee+sugar) plus extra milk. Today is a weekday. And just as I started to feel the pangs, I remembered that I had used my last sachet of Nescafe breakfast two days ago.

A sachet of Nescafe breakfast
A sachet of Nescafe breakfast


I promptly headed down the office staircase with the intention of buying enough sachets to last a couple of weeks from the petty shop on the street. But a few steps to getting there, cheapskate remembered that a sachet of Nescafe from the shop had cost me 100 Naira yesterday. Cheapskate also remembered that I had purchased the string which just ran out at only 60 Naira per sachet from Hubmart, VI in February. Of course, cheapskate considers 40 Naira a significant difference when you're talking about a dozen items.

I quickly decided to head to Hubmart supermarket on Adeola Odeku. It's just a three-minute Keke Marwa ride away from my office. I got a Keke quickly and was at Hubmart in no time. I walked in and as usual, upon being visually bombarded with all the things that money can buy, I instantly forgot why I was there. After some five painful seconds of racking my brain, I regained my bearing and walked quickly towards the tea/beverages aisle.

I was happy to see that they had my Nescafe breakfast sachets in stock. I checked the price and voila; it was still 60 Naira per sachet! At this point, I remembered that I had only 520 Naira in my pocket, which I'd only realised when it was time to pay for the Keke. Having also left my ATM debit card back at the office, I was full of regret because it was the first day of a month; a perfect time to buy this and that.

I did some quick math and selected 7 sachets of Nescafe breakfast (100 Naira for return fare). In the time from aisle to counter, I found myself (for once) deeply empathising with recently established FinTech companies whose cause is to "fix payments in Nigeria". My thoughts: "I have money to pay (in my bank account), you have goods to sell that I want. Why should there be anything on earth standing in the way of converting that combo into a successful transaction"? Hubmart, like most retail businesses in Nigeria, accepts only cash and card (via POS) payments in-store.

I'm not the type to start non-routine discussions with strangers. So, when during checkout, I initiated a discussion with the cashier about alternative payments options, I realised I was deeply pained by this artificial limit on my spending power. Unable to say much as to why there were no additional payment options, she promptly advised me to discuss with her supervisor, pointing behind me to where he (the supervisor) was seated.

Of course, I took the offer. As soon as checkout was done, I made for the little glassed-off room at the corner of the store just behind the checkout aisle where the manager was seated, interacting with his colleagues. I greeted him cheerily even as he stood up to meet me. I made sure I was extra smiley and enthusiastic in my greeting, so he would be relaxed and not think I was here to fight him (as is usually the case when Nigerians ask to see the Manager in Nigeria). I went straight to the point, explaining to him my dilemma and inquiring into whether they were considering adding more payment options.

To my delight, he was empathetic. He let me know that they had been approached by a couple of solution providers seeking to help them out. He mentioned GTB 737 and a solution where you pay by tapping with your phone (PayAttitude I guess). He also told me why those solutions had not been adopted by their business. "While we understand the need to have multiple solutions, we've not found a way to integrate those solutions to our inventory management system to ensure that reconciliation does not become more painful as a result", he said. "Good enough", I replied, then bade him farewell before I made for the exit.

Now I wonder how a simple solution like NIBSS mCash which does not even print receipts at the moment is going to cater to a business with this kind of non-trivial concern. Of course, there's always a way. Someone just has to be ready to do the work to find it and tow it to the end.
Read More