⚠️ I’m currently writing the 2018 Year In Review — hoping to publish it next week.
2017 was an incredible year for me, both personally and professionally. If you’re a regular visitor to my blog you know that I write the year in reviews to fight with my imposter syndrome, to hold myself accountable, to keep a log of what I do, and to see how I improve myself as a developer over the years.
This review, in particular, will help you understand the life of a full-time open source developer, the job market, and other cool stuff.
This time around I got late in publishing and writing this review for so many reasons. But hey, I am doing it now, it’s still the f̶i̶r̶s̶t̶, s̶e̶c̶o̶n̶d̶, third month of 2018 so, I hope it still counts — note to the future self.
It’s a long read, like over 6,000 words. Parts of this article were written in Dev, 2017, and then Jan/Feb 2018. While instead of waiting more, I just hit the publish button (at the end you’ll know what I was waiting for and why I got late).
Web Contributions: My other web contributions are to improve code/docs, fix bugs, and patch security in a variety of community software like Bootstrap, Oh My ZSH, Cobalt2 themes for Sublime Text/Slack/iTerm, Editus, CSS Grid Playground by MozillaDev, GatsbyJS, etc.
But at the core of my heart, I am a teacher! I come from a family of teachers, both my grandparents and my parents teach higher education — I can’t help but think that’s genetic. The love for teaching others what I self-learned has helped me do wonderful things, that I am actually proud of.
I love to talk, I am what they call a social animal. Conferences, monthly meetups, brain dump, yeah that’s me.
It was a humble moment for me to get recognized as community influencer when I was asked to give a TED talk at a TEDx event in Lahore.
I have fought with my stage fright to become an established speaker on the web, open source, and WordPress events, including international peer-reviewed presentations at IETEC Loop Conference, Brainiac Conference, ICOSST, etc.
One thing I forgot to mention is that I am an Electrical Engineer (just like ten other engineers in my family, cousins, etc.) — so even though I did my majors in Computer Science — I learned a lot about web and development on my own. That’s why I teach and blog about it! That’s why most of us do it, I guess.
Web Community Influencer: I have taught over 5,000 software engineering students and ran community outreach programs throughout my career.
I have 12+ years of Industrial/Entrepreneurial experience.
Led one web-services based startup to more than a million dollar per anum revenue before it was acquired.
I have successfully sold two of my companies and several products in different USD six-figure acquisitions.
In the Y- Combinator’s Plan9 Ideas Battle I received the second best idea award and got incubated for a short while.
So, every year you start with all that motivation to win over the world, break your own records, and who knows what else. This time it was different for me. I got married in Dec 2016 and took about three months off. A lot happened in that time. Maedah and I were able to get settled in LHR and took care of a lot of pending chores related to our new house. Though, we didn’t get enough time to travel — that was a bummer. ☠
It was February already, and I had started working on a huge project of mine Vacation Rentals — It’s like Airbnb for WordPress. A massive project that extends WordPress for Vacation Rentals booking, indexing, curating, etc. I recommend you take a look at its documentation to understand it better.
But the start of 2017, for me, was all about Writy.io.
Writy.io A New WordPress Editor That Never Got Released!
🤔 Writy’s Motivation: The idea was to innovate the writing experience for WordPress and build a SaaS platform on top of it. I actually posted a teaser in a post that’s linked below. Sadly, all of that time I didn’t know Matt Mullenweg was going to announce a new open source WordPress editor that now we know by the name of Gutenberg.
⚡ Gutenberg Was Announced: As soon as I got to know about Gutenberg (WCUS 2016), I stopped developing Writy. By the end of March 2017, I was knee deep in the Gutenberg project, attending the meetings and posting the notes at Make. In a way, I had accepted that for whatever reason I am not going to compete this new editor Gutenberg, and actually improve upon it by giving back my time to as a full-time open sourcerer.
😩Loss of thousands of dollars: The idea of spending thousands of dollars in buying a domain, getting the designs ready, spending four months building 43% of Writy — and now suspending this project took a toll on me. My wife would advise me what to do and what not to do, and honestly — she kept me sane through this phase of tough transition.
✅Building Gutenberg Boilerplate: Anywho, I dove right in. Started building Gutenberg blocks. Had lots of chats with the Gutenberg team, especially Joen. I went ahead, studied the source code, received a lot of help from the Gutenberg team (Matias Ventura, James Nylen, Riad Benguella, Andrew Duthie, Joen, etc.) to finally build a boilerplate.
🛠 The Gutenberg Boilerplate was meant to get WordPress developers excited about the new editor. I released it to the public in July 2017. I think Gutenberg was at version 0.4.0 at that time. Yeah, way too early.
🙈 STEP #6: Get distracted and research about different mics, audio systems (learn Audacity again, and step it up a little — to learn Adobe Audition this time), get these new mics shipped here (since not available in the local market), fight with customs officials (they didn’t let me ship it), get my sister-in-law Nida to buy the Rode podcaster in London and get it shipped to Qatar, from where my brother-in-law Usman brought it to Lahore. There we go, another month spent.
🕸 STEP #7: Buy six domains for different courses I am going to record because we are too excited aren’t we? Set up two domains first — let’s do a free and a pro course.
💸 STEP #8: Since I am an open sourcerer — I thought, I should make my first course free — not sure why. Spent two weeks pinning down the details of a free + pro course and recorded 90% of the free course.
😩 REVIEW PROGRESS: Now after all this, I was three and a half months into my next big endeavor (sold two of my commercial products and a share to my partners to support my time on this). I had all the equipment, all the details, domains, servers, frameworks, custom landing pages, heck even had built myself a custom course platform but instead of recording the last four videos I was left with, here’s what I chose to do. Engineers!
🏗 STEP #11: Over-engineer the course platform
✅ I should know who’s taking my course, their name is the least I could ask for, but not at the registration page (that would mean low conversion rates), but after they log in for the first time. Built another custom solution for this.
✅ The registration should happen with WP REST API and my users should get a login URL at the first time. A custom solution was built again.
✅ Oops — WP REST API: Does NOT Trigger New User Notifications! Create a core trac ticket to patch the WordPress core #40477.
✅ How about the ability to know a user’s progress? How many videos a user has watched, and maybe send them an email if they left at 60% progress. — That’d be cool? But how do I do emails this time?
✅ Instead of embedding Vimeo Pro, let’s stream it via an HTML5 player. Yet another custom HTML5 player was built, with custom speed controls and interaction with the playlist.
🙃 STEP #12: Launch the course? 🤔 hmm… ⁉
So, yes. I did actually do all that and spent about five months on this.
✅ It was a hard thing to watch myself dwell in to the pool of over-engineering. I was selling some of my commercial projects and selling out my shares in couple others so, it was kind of a part-time thingy. I had no choice, couldn’t do much else.
✅ I was also doing 10 to 15 hours per week of contract work and five hours of consultancy during this time. So, at least it was not all that bad.
But what bothers me most is I never got around releasing any of it, that’s the sucker here. BUT I hope to release my courses this year. 💯
Here’s a teaser of what I had built for my first course, which is about teaching you folks about WordPress REST API.
🔥 That’s not all. I am building more courses and I hope to actually launch this time. — Hahaha. I know what you’re thinking. Stop it. 😏
This goes to state the fact that I am into marketing as well. I think no developer can ever be successful if they can’t market themselves better. So, it was an incredible milestone for me when I got verified on Twitter.
✅ On this meetup, we gathered a bunch of software engineering students and I taught them why Open Source & Git is so important. We had great sponsors i.e. DigitalOcean + GitHub — they also sponsored our pizza. 🍕
Every now and then I get on a podcast and talk about stuff I work on. This time around it was about Open Source as a Life Style. I did this podcast with the good folks at PressThis Podcast — run by David Vogelpohl – Vice President of Web Strategy – WP Engine.
Since we are talking about WPEngine, I’d like to shout out to Heather J. Brunner, one of the best female CEO’s I know off. She’s led WPEngine to a great deal of success and her passion for open source has helped me complete several open source projects, with WPEngine as a backer.
I got a lot of press and media mentions throughout 2017, in the form of quotes from different articles that I had written and my comments on the current state of WordPress, Gutenberg, or the reason behind giving back to the community, as well as advice on becoming an open sourcerer, etc.
🌟 One of the mentions that I felt really proud of; was when the co-founder of WordPress — Matt Mullenweg said amazing things about one of my recent projects called the create-guten-block toolkit — which I’ll talk more about at the end.
“It’s a good chance to thank you, Ahmad, for putting together the create-guten-block toolkit. It’s really cool, and I have seen it to be the intro for a lot of people and to kindov learn what Gutenberg is.
So, it’s an awesome awesome contribution to the community.”
Apart from this, I got featured in WPTavern, Inc, SMB, Entrepreneur, Tuts+ by Envato, TorqueMag, Inc, Yahoo for Small Business, CodePen, Dev.to, and CreativeMarket blog, SitePoint, and a good deal of other online publications.
📚 I have combined all the newsletters Maedah and I used to send from different sites like from AhmadAwais.com. MaedahBatool.com, TheDevCouple.com, WPMetaList.com, WP-Pakistan.com, etc. into one single newsletter which now has over 23,000 developers, designers, C Level Business folks as subscribers and is continuously growing.
I’ve been a full-time open source developer for about two years now. It’s been a huge undertaking. But like many of you out there, I have learned a lot by myself.
So, as much as my father is proud of me for completing my Electrical Engineering degree with good grades (and not for dropping out of Executive MBA) — I credit all of my accomplishments to a trait of self-learning. Yay! 🙌
💯 When you learn tech stuff by yourself — you realize how hard it is for others. That’s the reason why I write, talk, arrange meetups, and do a lot of teaching. Meanwhile, to help developers online, I have chosen to open source a lot of my code at GitHub and I spend time on StackOverflow as well.
StackOverflow has helped me a lot. So many folks give back their time to teach and to help other developers on this network that it’s mere impact on the software community is nothing short of being historic.
In 2017 my StackOverflow profile grew over 300%:
😲 ~3,500,000 million developers received helped by reading the answers to technical questions I posted. It’s huge.
🙈 My profile reputation grew 340% from ~1,400 to ~6,000 putting it in top 0.75% StackOverflow members and 77th in PK.
CAREER GROWTH Open Source,TheDevCouple, Google’s Job Offer!
Today, I am going to discuss several things here, how I chose to go full-time open source, several private crowdfunding campaigns I ran with my wife, and how did I end up interviewing at the big G i.e. Google.
So, here goes nothing…
Open Source & TheDevCouple Campaign!
I was giving back 30% to 50% of my productive time to open source back in 2015. Stepped it up in 2016 a lot and I finally started getting the feeling that I’ll be using my rainy day money sooner than I had planned for.
🤔 With an added expenses of getting married at the end of 2016 and working full-time on open source + Writy going down as a suspended side project— I knew I had to reach out to the community for supporting my work or find a new job.
🔰 So, I did just that. First of all, it was a decision between starting with a Kickstarter like Daniel or an Indiegogo campaign like JJJ, but then I got cold feet. What if nobody cared? That would be insulting — my mind starting playing games with me — imposter syndrome took control.
🙈 But before all that, I didn’t have one thing that I could promise. I do a lot of stuff. Contribute to the core, different WP components, Gutenberg, and I also maintain hundreds of my own open source projects.
🙃 So, I decided why not try GiveWP or build a custom donation Patreon page for my campaign. I actually went ahead and bought YearWithWP.com. Started setting it up and then gave up on it. I thought I’m wasting my time on stuff that mattered less. I should be doing FOSS and not this.
🚀 While all of this was happening I had already reached out to a couple of WordPress businesses and told them about what I was thinking of doing. In about a month I had 11 businesses on-board ready to support my open source work. I never saw that coming. AH.
💯 I have to give credit to Robert Abela from WP Security Audit Log he was not only my first sponsor in this campaign but he also encouraged me to move forward with my plan. BTW check out his plugin, it’s a good one. I use it myself. One of my apprentices, Ashar, builds it.
🤔 So, within three months of this whole campaign, I was able to find over 20 WordPress businesses which either directly benefited from my open source software packages or generally wanted to support my work.
Following are the set of awesome companies that sponsored my time on open source, helped me and my wife rebootTheDevCouple in many different ways, like building a team and taking on a new apprentice and contributing back to WordPress. Definitely, check them out or read more about it →
⛩ All the partners who supported and paid for at least a week of my time on open source were a big deal to me. So, my wife and I rebooted the TheDevCouple blog and started writing long-form-reviews with extensive details on our sponsors’ products as a way to thank them in return.
🌟 I only partnered with the businesses I believed in. It was not a blind decision to reach out to any of these businesses and we had long sessions of discussions before jumping into this sort of sponsor/partner relation. As a thank you to all of my partners, we did the following:
✅ Listed each partner (with a sophisticated algorithm) under ~600 posts throughout five blogs/sites we had, to increase word-of-mouth.
✅ Listed each partner on partner pages, their deals, and on 100’s of GitHub repositories as project backers. This was huge. Second most clicked resources as per GitHub traffic are developers checking out these awesome backers.
✅ Shared products, reviews, and updates about our partners through 20+ social media channels like Twitter, Facebook, and LinkedIn accounts we handle. Each partner and their reviews also made it to our newsletter of 23k+ subscribers.
⛽ This sponsorship was meant to support my time on open source but rather my wife’s management turned it into something completely different. She was able to bring in Saqib as our apprentice, we were able to increase the local meetups, and last but not the least I got time to release three times as many open source packages as I did back in 2016.
I know I released this project in Jan 2018 but I have had been working on it for about the last three months of 2017. So, yes this is the open source project I want to highlight here.
This project is what I am most excited about this year. It has helped thousands of developers get started with the block development for the new WordPress editor called Gutenberg.
🎡 Bit of a backstory for this project is that I had already created Gutenberg Boilerplate but it went stale with every new major release of Gutenberg. It was really hard to update that as well. Also, I wanted to create a webpack starter for WordPress. But not just that, I was creating an ESLint + Prettier configuration starter for WordPress as well.
— there’s a lot more than what I could fit in the confines of a single post here. But this should give you an idea of what I am up to. For more read here →
Looking For The Next Big Opportunity!
So, without further ado, let me share this with you that I am in the job market looking for the next big opportunity for me. I’m humbled and honored to be at the receiving end of multiple job offers and proposals to apply from incredible companies like Google, Facebook, eBay, DigitalOcean, Intel, Amazon, 10up, etc.
⏰ This has been the biggest reason behind delay on publishing this post. I wanted to publish it after joining a company but… in short, I am currently interviewing and have not settled for a single company yet.
I had made up my mind of getting a job at the start of 2017. Here’s what I wrote in a blog post that I never published…
If your company wants a full stack web developer with a proven track record of open source leadership. One who should care deeply about your next-gen web project and get other developers excited about it as well. All of that while leading a team of engineers that would go on to make a DENT™ in JS and web-standards, then do reach out. I want to do all that and humbly feel like the best candidate for such a position.
🐳 For about five years now, I have had been doing my own thing. Created several startups and led them to diff acquisitions + a services-based company, created and sold products, did lots of open source work.
👉 WordPress is 30% of the web, so it attracted a huge amount of attention (more than anyone of us had expected) and the issue became one of those unicorn GitHub issues, with lots of discussion happening and people ranting.
🦁 I had long discussions and chats with folks like Dan Abramov, Andrew Clark from the Core React team, Evan You creator of Vue.js, Dan who built Inferno.js, Patrick creator of Marko.js from eBay, and more Googlers than I could count — who work on projects like Angular, AMP, Chrome, etc. — That was awesome.
📺 Later that week, I presented fine folks at Facebook why we need a GPL compatible license for WordPress, the push from Matt Mullenweg and the open source community led to Facebook relicensing React and its sister projects under the MIT license.
— All of this brought the open source community together and many major tech companies started looking at WordPress as a very serious player in the open web. Rightly so. Many discovered that it now has a REST API.
😲 To my surprise, I found out that engineers and developers at giant tech companies like Google, Facebook, Intel, etc. were using some of the software packages that I had open sourced like Gutenberg Boilerplate and then create-guten-block.
💯 It was a proud moment for me as an open source developer. #AH. Many wanted to discuss this and consulted with me about Gutenberg and what’s next with WordPress in the release of 5.0. I did contract consultation work and also pitched a project at Google.
👨💻 Soon after that, I started receiving emails from engineers (not recruiters) at Google, Intel, DO, 10up, Amazon, etc. asking me to either apply for a particular job they had in mind or direct job offers to lead a team.
🙈 I’ve been at the receiving end of many recruiters’ emails like these before but this time it was different, it was engineers actually using my code. I had discussions with Googlers about the future of WordPress and how they wanted to improve the web by improving WordPress.
🐼 So, I did what any engineer in my position would do. I said NO! Haha, that’s true. But then after a few more calls from different devs/engineers, long and hard discussions with my wife (and later our families), we decided to give it a go. Yes, both Maedah and I are interviewing at the moment.
🦊 So, my wife and I took Dec/Jan/Feb off, to interview at a few companies, including the ones I shared above. Both our interviews at Google went quite well, our recruiter came back with good-news-feedback from our interviewers and moved us to the HC stage. Then we had lots of issues related to all the relocation to the HQ and US immigration, etc. and at the time of writing this is where we are. I’ll update this when we both make a decision.
⛑ There are companies and job offers that would relocate us to a new country, which is a huge undertaking, and there are companies equally as good that are interested in hiring us as remote employees. This is one of the most overwhelming (in a good way) and confusing (decision paralysis) time of my life. #TrueStory.
Well, that’s a million dollar question ain’t it. The thing is, after doing my own thing for so long and finally accepting the fact that I am going to work for an awesome tech company in a month or two from now — I am still going through the interviews at a few companies. Here’s what my state of mind looks like at the moment:
👞 Don’t want to be the guy with red-shoes i.e. this next decision means a lot to me. I am not a change my employer every year kindov guy. While I am ready to relocate, it a decision that favors loyalty.
For all of that, I am trying to make the best choice right now. I suppose I’ll be interviewing at four more companies before I hibernate and come back with a decision to where I want to work next.
✊ I shared all of this not for any other purpose but to hold myself accountable (there were so many days when I wanted to not write a review that had no proper ending), share my journey as a software engineer, and to help new developers understand the landscape, life, and workflows of a for-now full-time open source developer.
I spent a lot of time writing, compiling, and publishing this post. It would mean the world to me if you Tweet this post or share it on your preferred social channel — Facebook, LinkedIn, or your company Slack channel (I am on the job hunt, of course, that’d be great).
I made lots of friends this last year. Which was the best part of it really! Lost and gained weight with my irregular jogging routine, and relatively recently I have joined a gym to be more serious about my health. All in all, it was a great year — lots of memories.
TheDevTakeaway: Developers' Newsletter!