It all started like play.
On March 4th 2017, I saw an email notification on my Infinix Note 2. It was from Andela. Wondering what it’s content was, I pressed my thumb to the screen.
Andela was starting something called Android Learning Community — an initiative to train people in android development. I had applied to be a part of the community before I even got to know the privileges obtainable.
I’m grateful I applied. I needed it. I started developing android apps officially in April 2015 when I interned in an amazing company called ITVessel and learnt android application development with guidance from Mr Tope — a programmer who worked in the company. After I left ITVessel, I needed to rev up my android developer life. I started work on projects but did not complete them. I read and watched videos on different android development concepts but did not put them to much practical use. For instance, I did not understand UI Testing. I even doubted the necessity of it. RxJava was an interesting topic but I did not achieve so much with it too. I at some point even started reading about Kotlin (many months before it became officially supported by google). Pardon my naivety but this was me before I got into this program. I seriously needed some structure to understand fully (in a balanced way) the different concepts I had accumulated. I was perhaps information obese and with ‘incomplete’ information at that.
Anyway, back to the mail. Reading the contents of this mail got me excited. I needed to apply and this time I was required to make a relatively simple application — retrieve top Nigerian github users, display them in a list, add a share functionality and show user details when an item in the list is clicked. I started the project, completed it after a few days and submitted. It was not so difficult.
On March 21st 2017, I received an email (titled “ ALC Program Candidate — The wait is over!!!) congratulating me. I was to join about 119 others who were picked to begin this program. Andela — in partnership with Udacity sponsored our training on Udacity’s special course preparation for the Associate Android Developer Exam — The associate android developer exam fasttrack course.
The Associate Android Developer certification is an entry-level examination by Google. It costs $149 and it is divided into two parts — The project part and the exit interview. For the first stage, you are given an uncompleted project to add features, debug errors and add UI tests to. The exit interview attempts to confirm whether or not you did the projects yourself and to assess your understanding of fundamental principles in android application development.
The structure Andela introduced was beautiful. The 120 scholars were grouped into 20 groups. Each group was responsible for the success of all its members as each group was graded based on the number of successful completions of the video tutorials for every week. My team mates were (and are) phenomenally awesome. We had a good team leader and we fired away- pushing ourselves. It did not take long before we were in the top three groups. Andela gave away free T shirts for achieving this ‘feat’.
When I say “we fired away”, it is not to say that we moved at blazing speeds all through, we did have our times. We were a motley team — a combination of students, a NYSC guy (me), a full time worker and a person who was to start NYSC soon. I work in a University in Makurdi, Nigeria so I had to balance work with spending hours on Udacity tutorials. The tutorials were intensive and very efficient. Udacity packed three projects in between the videos. Professional reviewers went through my code and shared insights and suggestions into how I could write better android apps. After a short while, the projects started coming in. The first one (Popular Movies App (part 1)) tested my knowledge and rocked the foundation of my android life. I failed twice. Thankfully my reviewer was kind enough to point out areas I made mistakes and I eventually passed the stage. I did the part two to the popular movies app, passed that too. By the time I got to start work on the final project (the baking app), I understood the basics of what to do. I wrote the required project app, passed and at this stage had to write the exams.
All this while, Andela was doing a lot to ensure we had great chances of passing the certification. Kudos to such a great company. They organized hangouts with professionals, even organized a project-hon. They through their actions made it clear, you would fail only if you deliberately decide to — we would be here pushing you on.
By the time I attempted the AAD certification, an ALC colleague Ozymandias(Philip Okonkwo) had written the exams and passed. I registered for the exam 12AM on Saturday to spend the next 48 hours working on the project. Weekend was perfect for me — I did not have to go to work. By 5AM that same day, I had finished adding a few features. By Sunday night, I had two bugs I had not fixed but I could not give up. I was tensed up by this time. Thanks to God, I finished the project, did my tests — they ran perfectly and after a few minutes past 11, I submitted the project. Fingers crossed now. The project tested my proficiency in android application debugging, UI Testing using Espresso (yay!), handling time consuming operations on background threads, maintaining user states during configuration changes, persisting data etc.
A few days later, I received an email saying I passed the project stage. Woohoo! I needed to pass an exit interview to seal the victory. I was so grateful to God for seeing me through the first stage. I scheduled my interview and waited. On the day of the interview, I went through my project, noted potential questions and ensured I practiced good answers to them. My interviewer came online and we had a session that lasted about 15 minutes. He (the interviewer) confirmed my name and email address. He asked about the project I worked on and also asked a few questions in general about Android development.I finished the interview and waited for my results. Thanks to God, after a few days, I got a mail telling me I passed!!!
Throughout this roughly 4 months journey I learnt some lessons I want to share.
- Proper structure is a big plus every time (especially in preparing for a big event). Before I got this opportunity, I spent months in Android development darting around, checking out fads, writing code without particularly having a good structure to help me make significant progress in my journey. Andela helped provide structure and also provided access to Udacity’s course — an enormously effective course that helped me prepare for the certification. The structure not only helped me prepare adequately well, it added balance to my code writing. I now know why some concepts are the way they are. I got to understand better ways of writing certain code snippets. The advantages I got through this lovely structure are so numerous.
- Never give up. I know, there are hundreds of articles highlighting this point but my experience with the online coursework and certification helped reinforce this. In the end, it did not matter that I failed twice. The failures taught me a lot — I’m sure I learnt much more than I would learnt had I not failed. I basically failed forwards.
- Maintain a good inspiring social circle — my team mates taught me a lot. They dreamt big and we kept reminding ourselves that we had to keep moving. We cheered ourselves on. It is interesting to note that I am yet to meet these awesome people.
- Give back to humanity — Andela’s program is extremely impressive; donating a large sum of money to help train ‘random’ people who passed the application process. They helped make me a Google certified Associate Android Developer. Their service is a great reminder to sometimes give opportunities to people and just trust that they would make the most of it. After all, talent is evenly distributed all over the world, opportunity isn’t. Life is not all about getting scholarships, opportunities and stuff all the time, it is also about giving back. Indeed, it is more blessed to give than to receive.
- Study smart. I would advise anyone who wants to write the AAD to register for the Udacity program. Apart from preparing you efficiently well, it adds balance to your android development skills. However you can, the rule is simple — study smart.
- Keep moving — One of my favorite quotes is from TY Bello’s song “We are the future”. The quote is “How can they say that we have finished? We have just begun”. Getting certified by Google is a big feat to me but it is a pedestal — a stepping stone to greater heights. Keep pushing. Never get comfortable with where you are.
- Do meaningful projects! — All the knowledge you have is utterly useless if you can not apply it to projects that solve life applicable problems. Don’t be that journalistic programmer who always talks about new concepts but does nothing with the knowledge. Knowledge is potential power, you need to convert it to kinetic power!
I hope you had a nice read. Its safe to say I am just beginning my android journey but I would be firing on by God’s Grace. Thanks to Andela(and the awesome facilitators) and Udacity for this great opportunity given me. I do believe I would make the most of it.
Edit(18/12/2017) : Thank you very much everyone for reading and for your nice comments and encouragement. While writing this article, I was working on an app that is now published in the playstore. The app is called Lexica and it solves a problem I faced several months ago. I realized I could not get word definitions from my favorite apps (Quora, Notes, Web browser, PDF reader). I had to open a dictionary to check for the meaning thus interrupting my reading process and experience. I checked online for apps that could solve this problem (as there is no need to reinvent the wheel several times). I found a few but I wasn’t satisfied with so I decided to make one that solved the problem the way I wanted. Lexica was born after several months. Lexica lets you get word definitions from documents and apps — you do not need to have a dictionary installed. Lexica has a growing user base and I’m excited about the fact that it is a solution to users. Lexica is free. I am very open to suggestions and critiques to improve on it as the aim is simple — making users’ reading experience better and simpler. Big thanks to the amazing testers for the wonderful feedback so far. Please download, share, review and let me know what you think. Here is the link again — Lexica. If I could add an additional lesson I am learning, it is that of partnerships with people on projects — many times you cannot do great things alone. I worked with Merriam Webster’s API and two brilliant people — Farouk Musa and Eit Neves who handled the UI mockups and logo designs respectively. Big thanks to God, them and the good guys at Merriam Webster Developer Center for their contributions to making Lexica a success.