š Reflections on 2018 ā My Year In Review
A Year of Open Source, Public Speaking, New Job, New House, and the Big NEWS!

2018 was a great year for me, both personally and professionally. Last year when I wrote my first year in review, I didnāt know the real impact of these reflections and year-in-reviews. But it has helped me in fighting my self imposter syndrome, holding myself accountable (at least to my inner me), keeping a log for myself, and most importantly, seeing how I improve myself as a person and as a developer over the years.
This time, I got very late in writing and publishing this review for so many reasons. (At the end youāll know why I was late). But, Iām happy that at least I am doing it now, itās still the ̶f̶i̶r̶s̶t̶, second month of 2019. And I believe it still counts. ā Note to self to be on time next year.
š¤ Who is Wajahat Karim?
From this year on, I am going to redefine to myself who I am each year. This will help me give the perspective on my evolution and self-improvement when I read my earlier reviews. So, letās start now:
My name is Wajahat Karim. I am a 7+ years experienced android developer, an active open source contributor, a blogger, a writer of two books, and a new public speaker. I am doing a full-time job as Senior Android Developer at Contour Software by working remotely for Trapeze Group (Canada) on an enterprise level android app about maps and route finding.
š Start of 2018
So, last year after a good response on my first year in review, I promised myself to keep a track of all the happenings and progress of my whole year so that I can publish it in the next year in review. But, lazy me, I couldnāt collect everything. I was looking for some app other than the social media like Facebook, Instagram etc. to keep my progress private and digital. But I couldnāt find a good one. And then I kept this idea to create one and keep it all open source.
I know I know. It hasnāt much and I havenāt worked a lot on it. Life happened thatās why. But, I have full intention to work on it at some point and finish it. Iāll try to do it this year just to keep my year progress in order.
š New House = New Lifestyle
The starting of the my 2018 year wasnāt an ideal one. It was rather exhausting one. We recently (November 2017) moved to a new house, so it was a tough time to adjust to the new neighborhood, make new friends, memorize new travel plans and routes etc. On top of it, we had these huge loans and debts to repay to all the people who helped us in our tough time with purchasing our dream house. (We love you all ā¤ļø and will always be grateful to you šļø).
We were on track of clearing debts month by month and sacrificing almost everything such as the pizzas, movies, shopping etc. Told you this was exhausting time. And then January passed and come 1st February. This exhausting starting became a ādisaster startingā.
I got fired from my newly joined job out of blue.
Why? Because my employer was crazy. Or because I was stupid enough to join that company in the first place. Or because I was tired of fighting negative energy and dirty politics at my previous job. Or because I wanted to switch the job faster. The employer couldnāt achieve the projects they bid for and I was hired early. Way too early. And now I was a useless resource on payroll for them. So, they asked me nicely to go home and cleared all my dues. So, does asking nicely to go home without any prior notice counts as nice? I donāt think so.
To That Employer: It was not nice. It wasnāt even close to the nice. You shattered my life in an already tough time. I wonāt be able to forget that horrible day and that humiliation you caused. At least you could have asked for an apology. Maybe that could have given me some relief.
I spent two months in that toxic workplace and it made me a lot depressed already. I was living like a dead man walking. I had already started looking for new job, but I wasnāt ready to leave before I get any new job to keep the income steady.
In order to appreciate the life and good things, you must experience the bad or even worse things first.
The only good thing in that company was a very good friend who gave me hope, positive energy, made my day laughable, spent good time, and gave best memories.
To You āThe Partner in Crime (Syed Nazar Muhammad): Although it was a short span we worked together and it was a very toxic place. I wish we could have met under better conditions and good workplace, where we couldāve taught and learned few things from each other and made great apps for Android and iOS. But let me say this: A very special and big THANK YOU FOR EVERYTHING including those long lunch breaks and the unlimited teas we had together. Thank You
š» Freelancing = Nightmare
Thatās a bold statement. I know. But, at least itās been true for me for all these years. I know a lot of good people who are doing freelancing & service providing full-time and part-time, and they are earning good money working from home in their own flexible timings. I have tried it too many times on all platforms, with local and international clients. But, itās not a thing for me. Period. I canāt do freelancing. And I wonāt do freelancing. Thatās confirmed from my side.
I had already started looking for a new job. But until I get any new job, I had an ongoing freelancing project. I thought to finish it and get some money to keep the income steady. I had made a lot of commitments of clearing debts on time to the people who lend me their money. But now the game was all different. I had to arrange the money for household expenses, utility bills etc. Let alone to repay the debts. So, this freelancing project became a mean to survival for me.
But when you are in tough time, usually everything becomes upside down. And that happened with me. This freelance project became a literal nightmare for me. It kept me up all nights. It diverted my focus and attention from the interviews. It basically ruined my life. And when I got payment, it was already too late. I told my friends and family about why I am unable to pay the debts. Most of them were very supportive and understanding and helped me get through it all without any more problems. But I was doing more like taking more debts from new people and repaying to the old people in order to extend my timelines.
It got depressing actually. I was so tensed all the time that anyone could see it on my face. And on top of it, I had this horrible client, his unlimited calls, messages, non-stop pressure, unrealistic deadlines, and non-ending amount of changes and work. Yeah, you could argue that I wasnāt managing it better or something like that. Well, I told you. Freelancing is not for me. Period.
š Looking For Job = Depression
Before that horrible job, I had almost worked for 4 years non-stop and I hadnāt updated my resume even. So, I basically forgot how to look for job and how to pass all these weird interviews and time-wasting hiring processes. I have learned so many things in all these years and have got better in Android development with about 100+ apps in my portfolio. It has come to a point that when I get any requirement to develop in android, chances are that I had already worked on something similar. So, my Bitbucket account had become a better and personalized StackOverflow, Github, Gists, or whatever resources you search for answers.
Then I had this whole experience of open source, android libraries, and a good Github profile. Did you know that one of my open source library, EasyFlipView, has been downloaded over 40,000 times by Android developers around the globe.

And then, by grace of ALLAH, I am the co-author of two worldwide published books, Learning Android Intents (~300 pages) and Mastering Android Game Development with Untiy (~400 pages) by Packt Pub. Thank you Packt Publishing for the opportunities to be part of these awesome books.

So, I was under-impression that I have got all these good things, good profile, Github, books, portfolio etc. How hard it would be to get a job? Instead of me looking for job, there would be line of recruiters who would be looking for me. Silly me, right? But turned out that nobody cares about these things much. All they (recruiters) care about is whatās the definition of inheritance and whatās the difference between abstract classes and interfaces. Or if I can write Dijkstra algorithm on white board or not? I gave about 40+ interviews in 2 months time. And it became so depressing and frustrating that I stopped believing in myself. My confident was all time low.
I was like: āAm I a developer really? What Iāve done all these years? Do these libraries I made are of my own or am I just a fake clown? Do I really deserve to be android developer or developer at all?ā
I wrote about it in an other article and how I restored my self-confidence and got an amazing job.
What I learned was that apparently, it wasnāt just me. There are 1000s of good developers who are, how do I say it, collateral damage of this whole broken hiring process. Where instead of looking skills in practice and action, recruiters look in the theory, GPA, so-called pure definitions, and what-nots. Recently, a very active open source contributor shared his experience on medium about all his horrible encounters of bad recruiting.
š¼ New (Remote) Job = Happiness
So, after about 40+ interviews, countless written tests, online tests, unlimited questions, silly projects and tasks, sleepless nights, worried face, exhausted mind, awesome support of wife, family, & friends, and 2 monthsā struggle, I got a wonderful job with great salary and perks, flexible timings, work-from-home ability and almost no-politics culture.
Thank you Contour Software and Trapeze Group (Canada) for giving me the opportunity to work on such a large scaled project.

Before this job, my all jobs has been mostly about service providing and consumer-based apps. But at Contour Software, I have been fortunate enough to work on an enterprise-level app for Android and become a part of real team. We follow strict agile methodology here and being entirely new to agile and scrum, this has been a real crazy and challenging experience with a lots of new things I learned.
I donāt know why I didnāt tried agile before, but now that I have grasped the concept and understood how it works. Now, I am following this for my personal projects (More on these later) as well. Itās like I am doing one-man scrum system. I have an article planned to write about it and what I have achieved so far.
Since the job at Contour Software provides flexible timings and work from home ability, I started exploring this more. I started enjoying the freedom and this made my life a lot easier and to focus on personal, family and professional parts with more attention and confidence. Also, working remotely often mixes your work and home and blurs the separating line between, so this becomes a challenge as well. (I have planned an article on it as well about how to manage remote work and personal life this year).
š Open Source = Motivation
My whole 2018 was everything about open source and contributing to it. I refer to myself as an āaccidental open source contributorā because honestly speaking, I got into open source accidentally. Sometimes, when you are scared of something and you are escaping from it, then in nervousness and fear you donāt really care which way to go and you are just running and running to whatever path you see first. Thatās my story of getting into open source. I was escaping from freelancing and end up becoming an open source contributor.

I started creating open source projects and android libraries a lot. Beside job (remote), I was doing only this.
No freelancing.
No startups.
No side projects.
I was spending 3ā4 hours a day creating new libraries, doing new experiments, fixing bugs, answering to the issues, and contributing to other projects like Mozilla Mobile etc. And to get more serious in Open Source, I participated in #100DaysOfCode challenge on Twitter. It was tough to work each single day and contribute something, but it was rewarding, enjoyable, and a life experience. I shared my whole experience and what I got from it in this article here.
Spoiler Alert: I got 6 job offers from abroad, 4 freelance projects, and local/global recognition.
š Medium Clap Android Library
Inspired from Ohans Emmanuel and his experiment on creating this beautiful Medium clap effect, I tried to create this effect in Android just to learn a few things about view animations. (Thank you Ohans Emmanuel for your amazing article and inspiration) And in matter of few hours on an celebration holiday (it was the 2nd day of Eid-ul-Azha), I created a basic prototype. I thought of writing an article about how I created it, but later I changed my mind and focused on bundling this whole experiment in an open source Android library for re-usability.

I came back to work after few days vacation, and polished this library, created demos, wrote an amazing Read Me, shared it on Twitter, Reddit, Facebook and voila. I thought of writing an article after few days, but lazy me, I still havenāt wrote about it. Damn it Wajahat!.
I honestly donāt know what and how happened. But this library went crazy. It got featured in many newsletters. And then this became #1 on Github Trending in Kotlin language from 22nd June, 2018 to 24th June, 2018. That was like a dream come true for me.
This whole experience of putting Medium Clap Android library on Github and seeing the feedback of other developers was the most beautiful thing I enjoyed in 2018. This was more like a highlight of the whole year for me. This brought so much amazing opportunities for me (more on this later) and got featured in many newsletters that I couldnāt even think of.

āļø Easy Validation Android Library
Launched in mid-June 2018, this project is an ambiguous one for me. With the objective of providing an easy text and input validation method utilizing the power of Kotlin extensions, this library has about 6 different modules for different purposes. I have developed two modules yet and I am slowly working on others. Also, I am getting many contributions from other developers and this is getting more stabilized and polished.
I wrote a detailed article on this library and how I created it as well. You can read that here, if you want or not. No pressure.
š Easy Flip View Pager Android Library
Another interesting library of me, I created this solely for myself for an Android app side project I am currently working on. This library allows android developers to create page/card flip animations for their ViewPager in their Android apps. Inspired from Star Liuās Onboarding Bookstore animation (UpLabs), I wanted to have this same animation effect in my android app. It took me a while, but I managed to create it. You can check a demo of this library in below image.

In just 2 months time, this library has surpassed 300 starts on Github and more than 1000 downloads by Android developers for their apps. I also wrote an article about it on how and why I created this library. Again you can read it, if you want or not. No pressure.
š» Hacktoberfest Challenge
This was my first time that I participated in the Hacktoberfest Challenge organized and sponsored by Github, Digital Ocean, and Twilio. The objective of the challenge was to create at-least 5 pull requests on Github and earn a limited-edition T-shirt. I submitted 7 pull requests on Github in projects like Mozilla Components, Travel Mate, and some of my own like MediumClap, EasyValidation etc. And yeah, I got the t-shirts and beautiful swag for it as well. Thank you Github, Digital Ocean and Twilio.


Overall, this is the summary of my open source activity in 2018 in one single tweet.

















