This is a story about how I fell in love with WordPress (and web) even after being misguided towards the career-path of Electrical Engineering and that of a jack of all trades, but WordPress community was where I found my true self.
Before I start writing this essay, I’d like to talk a little about HeroPress.
You see, I have been involved with this initiative for more than a year now. It was 23rd, January 2015 when I first posted about its Kickstarter campaign in the Advanced WordPress Facebook group. A few days later Matt Cromwell wrote a piece about Values and Pitfalls of HeroPress where we ended up with 200+ comments and a discussion about the name i.e. HeroPress.
I won’t bore you with more details, but you can read about my views in the following screenshot.
Anywho, here we are — after a year — with 45+ fantastic HeroPress essays published. Topher has done a brilliant job of managing HeroPress. And he has been persistent in asking me to write an essay here.
But to be honest, I have had been trying to avoid it since I AM NO HERO.
I guess most of you don’t know that I am 24 years old — so, I don’t have that 30-years of experience or anything to share, but — I pride myself on being naturally keen and incessantly curious. You can always see me talking about the bleeding edge software and WP. I take a holistic approach towards software development and consider it a way of life. I crave leadership and envision collaboration over competition.
So, I am going to write my story — as I think of it — in the form of parts which represent different stages of my life. Before any of that, let me prefix the content of this post by confessing one more thing. I am not good at writing about myself. Maybe it’s the imposter syndrome. But thanks to Chris Lema, I’m changing!
Part #1: Introduction to the Software World
How it all started? How did I end up as a software developer?
It All Started in Late 90’s
I got my first computer in late 90’s. It ran on Windows 95 and Google was not around at that time. I have a few vague memories of playing Prince Of Persia Game considering I was seven years old and all.
What you need to know about my immediate family is that about half of them are Electrical Engineers and half of them are Doctors. While I belong to the family of doctors (my father, sister, and a brother), I always liked engineering. How? It’s a kind of funny story. I heard about one of my cousins studying Java while she was studying Electrical Engineering and that was my first introduction to the software world.
What happened was that we bought a movie, and no one knew how to play it with a computer. We had to wait until my cousin (the engineer) visited us and played it on a media player. And I was like Wooo! How did you know to do that? (Yeah, I was a kid back then). And she said that it was pretty easy.
As a matter of fact, she had a book about Java programming with her, and she told me a bit about it. That was the day I got hooked up; I knew that software was my thing. And for whatever reason I needed to learn it.
Computer Software over Computer Games
I was so amazed by the software world that even before I was ten years old, I left playing computer games. While most of the friends — my age — were buying Gaming CDs, I bought CDs with Microsoft Office, MP3Cutters, 90 Audio/Video players, JetPlayer, WinAMP, Windows Media Player skins, and finally started tweaking Windows visual kits which led me to modify the registry and that was all so freaking amazing.
Would you care to listen to something? Trust me: it’s totally worth it. Oh, and while you’re listening, you may feel a firey trickle of memories in your brain.
All right, here we go:
Wasn’t it great? I have spent about six to seven years listening to those irritating bing-bongs.
Yes, broadband was late to the party here. If my recollection of lost isn’t misleading me, then it was in 2008 when I first got to use a 512 kbps internet connection. Before that all I had was a dial-up internet connection — I mean, go figure!
Yahoo GeoCities & HotMail
In 2001, I started to spend my pocket money on buying internet cards that would provide me with 4 hours of dial-up internet connection per week. I had a few web pages under my name at Yahoo GeoCities (which at that time meant a world to me) while creating HotMail accounts and keeping them alive (as they would expire if you don’t use them — no cloud at all). The days when MSN messenger was the new black.
Part #2: Introduction to Programming
How I got introduced to programming and what I did without anyone to guide but a dial-up internet access?
That Website I Built
I remember browsing a website about funny pictures (something like funnypics.cjb.net) and discovering a company CJB.net that provided free web space and a subdomain i.e. YourSubDomain.CJB.net. While I discovered it on my own, less did I know I was in it (web development) for the life.
And you know what I ripped off that funny pictures website and tried to host it with CJB.net. Regardless, the images didn’t work, and that’s how I got into HTML and then CSS. I remember searching for free .com domain names with a friend and looking for how to buy one.
Since that day, I along with one of my friends started searching about how could we get our own .com domain and buy a hosting account. Without anyone to guide us, it was a real struggle at that time. I have learned this the hard way that self-motivation can lead you to your goals if you are motivated enough you do find your way around things.
Then my sister bought a Symbian Series 60 Nokia smartphone and boy I started experimenting with it. I had installed a Python Script Shell inside it after hacking its ROM, and I started writing patches to disable stuff for security or fun e.g. I had written a patch that once activated would render your cell phone useless unless you press a certain combination of keys.
It was a security lock without an apparent lock (there’s your Startup idea). And the camera app that would keep recording the video even after you exit the camera app (yep! not proud of that, don’t ask). I actually would fiddle around with machine language, a bit of C++ and Python for writing these patches. I learned this stuff via an online community. There was a forum called Symbian-Freak where I became active and finally ended up on the beta testing team for new Nokia Apps with the official Nokia Developers group.
Later in 2011, when I was a serious blogger, I built about 200+ Android apps for fun and to earn money via AdSense. All these apps had nothing else but a web wrapper in them, with a few PLR articles, they were niche apps and I made a few bucks daily per app. That was a fun experiment/portfolio until Google started cracking down and I left it for good.
Then I got into building forum based sites…
Forum Scripts: phpBB and vBulletin
In 2005, after writing about 30 Symbian patches, I had started to build up an audience of my own, and it was the right time to start my forums. So, that’s what I did, I started a phpBB based forums site and built a small community around it.
Later that year, I created a premium membership community based on vBulletin, but that didn’t go well because of the payment gateway issues here. I spent a lot of time contributing in the official forums of phpBB (since it was an open source forum software, I kind of always preferred it over vBulletin).
By the time I was 15, I was already running a forum based community with 2,000+ members (about 100 of them were daily active visitors) and knew my way around editing HTML/CSS, FTP uploading, managing a hosting account and installing scripts. I confess I would download the nulled versions of themes and plugins to play around with. Then I would install them on ByetHost‘s free hosting accounts, and I think I learned a lot through that. (To my surprise they are somehow still providing free hosting).
With a dial-up internet connection, I would build sites based on Joomla, a very few over Drupal until one day I got to know about WordPress. It was a member of my forum, who later turned into a client and wanted me to build a WordPress blog for him along with phpBB based forum. I remember learning how to make WordPress themes since I never really got my head around using a pre-built theme and modifying it. Guess that’s how I got serious about WP development. More on that later.
Part #3: Graduation in Electrical Engineering
It was August 2009, I had already tasted 512 kbps internet connection and had started to wonder about what I could do with all that speed. Though, it was the time for me to opt for a particular field of Engineering. I have had been a bright student throughout my life. At that point, I had enough merit to choose any field of engineering and join the local university of my choice.
While Electrical Engineering was the top merit field Computer Science, on the other hand, was not. I discussed it with whomever I could (read as all the Electrical Engineers in my family), and everyone told me to go along with EE instead of CS. And I did just that.
Guess they were all a bit biased towards Electrical Engineering and didn’t know that I was passionate about software. I was quite young at that time to have made the right decision on my own but after about a year I knew that I had made a big mistake. I must have had gone along with my instincts i.e. Software Engineering. So, then I started to work hard to keep up with both EE and CS. I started studying Software Eng. courses and started freelancing.
Following is what I was doing as side projects while I was studying Electrical Engineering.
Social Engine Websites
Without going into the useless details of why it was banned, all I can say is that our government blocked access to Facebook for like a year or so. I saw this as an opportunity knocking right at my door and embarked on a journey of building my version of Facebook only five years so late than the real one.
For me, it was about making something quick and getting it out there before anyone can. So, I started researching one too many scripts at the same time. I remember there was JomSocial for Joomla, phpDolphin a PHP-based open source social script, PHPfox and last but not the least SocialEngine script.
While I tested all of these, I finally went ahead and started using SocialEngine script and built a Facebook-like template for it with Smarty framework. After the basic stuff had been done, I launched my social networking website called Doomple. I ran it for a year or so, there were 22,000+ registrations, but sadly it didn’t follow the Google AdSense TOS (as in people would post whatever they wanted), and I couldn’t make much money out of it.
There was no one to guide me; I tried to get in touch with the final year students of CS (while I was in the second semester of Electrical Eng.) and they seemed to have less idea about it than I did. Long story short, I sold that website to a client and landed an internship at a local software house (during the summer break after the 2nd semester while I was 17).
Misguided as I was — add to it when someone told me that learning a lot of programming languages might help — I started learning to program and, this time, I was not kidding. I had already learned C language in the first semester and then Data Structures as they were a part of my Electrical Engineering course, so, it was incredible.
An interesting story here is that I started teaching software programming to my juniors on my own time. By that time I had studied subjects like Object Oriented Programming, Databases, Algorithms, Computer Architecture and Operating Systems.
But my experience with web development i.e. HTML/CSS, PHP and WordPress was what I taught. There was only one course about Web in complete four years of in our Computer Science dept., so, students who were interested in web development started attending my workshops and talks about Web and WordPress.
In the last two years of my engineering, I managed to teach at thirty-three workshops about web development and graphics design as a part of IET UET Chapter (A students’ society). It was hugely reassuring and was labour of love.
Blogging & Internet Marketing
I had been blogging since 2002, though, I was not a regular blogger until 2007 when I started a WordPress blog. I always loved to write (though, I have a newfound love for reading now).
So, it was the second semester of electrical engineering in UET Lahore when I left all my blogs and started focusing at Freakify.com (sold it in 2013) from where after six months I started learning about Affiliate income. Then came Google’s Panda update and I started SEO services at the Warrior Forums, which in the beginning led me to earn more than I used to — as a programmer.
After that, I started building small products, small guides about blogging, internet marketing, and SEO link building. I invested some money in the hosting business with FB marketing, though, it was a big loss at the end.
In programming, my first project was worth $50 and then $100 which kept on increasing until it hit $250 and it stayed $250 for quite some time. At that point, I realized that people who knew — how to design? — were getting paid better.
Then I started to blog about design at Freakify, and I started learning Adobe Photoshop, Illustrator, After Effects andPremiere. My strategy was simple. “I am not a god-gifted designer or sketch artist, but if I put enough time in it, I could learn the craft,” so, that’s what I did. I’d design something for free like the banners for a local workshops/society functions etc. I’d write and curate lots of design related resources at the blog, and then I started freelancing.
I started trying out Fiverr and spent three months to get more than 250 orders done — in the category of logo designs. Designing a logo for $5 was a good way to practice my design skills (esp. while making $500 a month out of it).
On one side, I was a programmer/designer on the other I had blogging skills. Which led me to two things, first one was earning via developing sites and the second one was making money via blogging i.e. Internet Marketing and Google AdSense.
A year went by, and I became someone who knew how to program, who was so-so at design, who had an experience of running a blog, who was making enough affiliate income, and who was earning through SEO link building services.
I thought, “Now we’re getting somewhere”.
But it was all so confusing. Only then, I started what I called was a better workflow — a perspective that helped me to start focusing on what I wanted to do (i.e. WordPress). It was what kept me alive back then (I mean in all that confusion and mess of a career-path). My workflow led me to optimize myself, be more productive and multitask.
I started hiring people. I’d teach a class, or give a talk and would try and find students like me willing to earn a few bucks by working over a few side-projects.
I listed down all my fears and the scary shit. I planned a way to deal with all of it. I had more than three schedules daily, e.g. If I woke up for at 6 AM, I had a different plan to follow, and if I woke up at 10 PM then, my routine was different. Finally, I had a third schedule, a different one for when I didn’t feel like working at all.
Whatever Happened to Electrical Engineering?
By now, I am sure most of you are wondering about what happened to my Electrical Engineering degree? Well, all I can tell you is that I knew that software was my thing. I was getting more and more serious about WordPress development; I had already hired three employees and just add to that all the effort of learning to program and design.
I didn’t drop out; I completed my Electrical Engineering degree with 3.4 out 4 CGPA, which I think is OK with all that was going on along the sidelines. What do you say? I did score A+ in all the computer related subjects and in my final year project which was — Any guesses? — A web interface with automation via PLC (Somewhat along the lines of SCADA and IoT).
I graduated in 2013, left the Electrical Engineering career even with a job offer from the company that had sponsored my final year project and that was all it. I knew my EE background helps me a lot, but I had to shift towards software programming.
Job or Entrepreneurship?
I have nothing against being an employee, a freelancer or an entrepreneur. I believe all three of them are career-paths, and there is no shame in choosing any one of them. I talked about it a while ago at a WordPress meetup. (Check the slides Zoom out for better visibility since it’s made for resolution up to 1920.)
This was a hard decision but the day I graduated, one of my clients for whom I had done contract SEO/SMM work for, called me and invited me to have lunch with him, which turned into an interview and I landed a job at a multinational agency as a senior software engineer/marketer. I left that job after seven months when another firm offered me twice the opportunity for growth and of course, some monetary benefits.
I like to think of my first employment as a step towards figuring myself out. At the second agency I worked with, there within three months I got them a project of 30 Million PKR ($300,000) which eased my way for getting promoted to the Chief Marketing & Sales Executive.
I left this job after about six months. That’s a bummer. The reason for leaving this company was more personal and less technical. The management allowed people to smoke a lot, and I was not comfortable with that. Add to it, some bonuses that I never got and when they started abusing my skill set both as a developer and designer. I mean it was okay until I was handling the workload of two employees.
Finally, an entrepreneur who joined his company as the 6th employee. Now I had EE’s Degree; I could get a job in that field whenever I wanted — by struggling for it of course. But I was running a group of small companies and everything was based WordPress. I kept coming back to at this one script until one day I decided to dive all in.
Part #4: This Part of My Life Is Called … WordPress
Long story short, for more than four years — as a freelancer — I tested my skill set both as a designer (Adobe Photoshop, After Effects, Premiere, Illustrator) and as a web developer (LAMP/LEMP/Node — Full Stack WP Frontend Fanatic). After all that, I decided that WordPress was my thing.
I don’t know how (guess it was an article by Jonathan Wold), but I took a leap of faith and instead of learning all the new languages at random, I decided to commit to WordPress. 2015 was the second year of this commitment, and I feel like I am on the right track.
My Open Source Contributions
One of the people I am most inspired by is Matt Mullenweg (co-founder of WordPress). I haven’t ever got a chance to meet him in person, but in 2014 when he wrote about Five for the Future, I committed to open source contributions in my new year’s resolution. To which, I contributed 10% – 20% of all the productive time I had in every single month of 2015.
While my contributions are pretty negligible and insignificant, I did spend a good deal of time in these repositories, reading the source code and getting the hang of GitHub, throughout this year. I used a simple Perl script (here’s my gist) to fetch all this data and then hand picked a few of them.
- WordPress 4.2 Powell: My first ever core contribution for WordPress. I cannot explain the feeling. It was a long time coming, a dream of having to be able to do something like this, Oh My… I felt privileged to find my name in the WP core and that I somehow managed to affect 30+ Million websites. (What’s next? Shooting for stars.. the core commit access!).
- WordPress 4.4 Clifford: Six core contributions in this one and I wrote about it here.
- WP REST API: 12 commits so far, I am pretty excited about the REST API. I have experimented with it and am building a product which pretty much relies upon the REST API with ReactJS.
- TwentySixteen Theme: I contributed a few patches for cross browser compatibility of box-sizing in the next year’s default WP theme.
- WooCommerce: In 2015 alone, I have written more than 50 articles about WooCommerce. It was only fair that I contributed a little to this excellent piece of software.
- Easy Digital Download Same is the case with EDD, I wrote about it for more than 20 times and contributed a few source code docs improvements in agreement with WP standards.
- EDD Starter Theme Later in this post I will discuss a premium theme that I built called ProductPress. While developing this product, I was exploring EDD’s starter theme by Pippin and contributed a few source code improvements in it.
- Chasis: I started using Vagrants for local setup of WP. Chassis is a virtual server for WordPress, designed for simplicity and speed. I contributed to the installation instructions in this one.
- WP Calypso: I am super excited about Calypso that is why I wrote this piece A Prediction, Calypso & What I Think Is the Next WordPress! And I contributed to the project. I plan to add more while I read its source code next year.
- Editus (formerly Lasso): Nick has built a pretty good editor. I used Editus for a month or so and contributed a security patch to update TGMPA’s security vulnerability.
- Titan Framework: I wrote more than 25 articles about this framework. My friend Benjamin did an amazing job building this lean and mean piece of software. My small contribution to this project just states the fact that I like this framework and am one of its backers.
- Timber: It is a plugin to write WordPress themes with Object-Oriented Code and the Twig Template Engine. I improved the source code docs standards in this plugin. I’ll be writing about it in January.
- Lean Theme: Being a theme developer, I find it kind of interesting to read how other theme devs code a bare bones theme. While I maintain one called Neat, I found Lean theme to be an interesting fork of Some-Like-it-neat. Contributed a
capital_P_dangit()correction if you know what I mean ⓦ.
What Does WordPress Mean to Me?
As I said, this part of my life is called … WordPress (hint: watch The Pursuit of Happyness).
Shifting from Electrical Engineering to Software Engineering without a mentor was a hard thing to do, though, WordPress made it a lot easier for me. I am committed to WordPress. It has provided me with a way actually to change my career path forever. The awesome WordPress community has helped me every day — in one way or another — to get where I am.
Right now, everything I do is related to WordPress. I work remotely and contribute to 25% of the web daily. I write about it at sites like Tuts+, TorqueMag, SitePoint, etc. I hang out and share WordPress news at ManageWP.org; I develop WordPress themes and plugins. My focus is towards building quality WordPress products. I run a local meetup about WordPress in Lahore, a WordPress non-profit initiative to contribute 30-50 hours of free WordPress training every single month. I am practically a WordPress evangelist, and I couldn’t be happier.
I wrote this essay to share my story and believe me; it was a hard thing to open up. All I can tell you is that with self-motivation if you put your mind to it, WordPress can change your life as it has changed mine.
If you are struggling with a similar situation, where you want to adopt software development as a career, then don’t hesitate to contact me or reach out at Twitter (@mrahmadawais). I’ll aim to help everyone I can.