It would be safe to say that so much has changed in the past two years of my life. In light of thinking on this fact today, I decided it would be good to document my journey in web development and provide some insight for those just getting started.
October 3 years ago (October 2009) I was a sophomore in college at the wonderful Appalachian State University. I’ve always been pretty good with handling finances, but it just so happened that I was struggling to keep money in the bank. I was the stereotypical “poor” college student, yet unlike most college students who say they are poor, I really was.
I lived from paycheck to paycheck working at a local Cotillion teaching ballroom dancing and social etiquette alongside of the occasional carpet cleaning job. I remember many times eating macaroni and cheese for lunch and supper, and although I was still (and still am) blessed beyond all measure by Jesus, I hated the feeling of wondering if I would have enough money in the bank to get me by until the next paycheck. Jesus was always (and always is) faithful to provide me with money from somewhere (on multiple occasions I received checks in the mail from people who I still don’t know), but that didn’t mean I couldn’t work harder to provide.
So I decided to do something about it.
I did what lots of people do when they need money fast – I typed in “how to make money online” in Google and started searching.
I came across article writing and decided to give it a shot. I saw that it didn’t pay much, but with every article accepted I would get paid immediately. Immediate payment was nice, so one Sunday afternoon I sat down and began writing articles. I wrote 10 or 12 of them that afternoon, submitted them all and waited.
Two days later all but one of them were approved and I earned $27.
$27 wasn’t a lot, but it was $27 more than I had so I was incredibly excited. The next few months I powered through more than 75 articles on whatever topics intrigued me that day: singing, cleaning, poetry, sports, etc. I ended up making somewhere around $500 for all the articles I had written (including revenues from pageviews).
As Christmas break came, I sat down and really thought about the sustainability of this whole article writing and marketing thing. I came to the conclusion that the benefit I was receiving wasn’t worth the work I was putting into it (who could’ve seen that one coming?), so I went back to the drawing board.
I began to think to myself, “What if I had my own website where I wrote and marketed articles myself? Maybe then I would get some more money from pageviews and such.” Piece of cake, right?
I had always liked web stuff and had been fairly adept at fighting viruses on PCs, so I figured I would give this website thing a shot. Somehow I came across WordPress and decided it was the right way to go, especially with their “famous 5-minute installation”.
I went ahead and bought my first domain name and hosting and downloaded WordPress. I learned that I needed to setup a database and use FTP in order to upload WordPress to my server. Somehow (by the grace of God) I figured out how to create the database, but for the life of me could not figure out how to work FTP. Specifically, I had no clue what a “root” folder was, and so after 6 hours (yes, 6) of trying to upload WordPress, I quit.
I was so upset that I spent $60 for absolutely nothing and almost got sick to my stomach. $60 is a lot of money when you really don’t have much to begin with. I thought about getting a refund for the hosting, but the hubris in me (and the providence of God) stopped me from doing it.
6 weeks later (around the middle fo February) I decided to give it another shot. Boone, NC had an abnormally cold and wintery season that year, and it just so happened that we were snowed in for a couple days in a row. I tried uploading WordPress and after 30 minutes I finally got it figured out (even though my first install was domain.com/wordpress). I was so excited I couldn’t help but pace the room and think of all the new possibilities for making some extra income.
I had been reading about SEO and niche sites when I was writing articles so I decided to put my knowledge to the test. I created my own niche site and started writing away. I got accepted for Google AdSense and thought I had it made.
That is, until a couple months later my AdSense account got banned for no apparent reason. I was floored. I had made only a handful of change, but it was crushing nonetheless (I successfully appealed the ban some months later to my surprise).
I then decided that I needed to go another route in order to make some extra money. I had become somewhat intrigued by tweaking my website design and had started to get the hang of CSS. I already knew some HTML from a class in high school, so I thought I would give development a try and see what would happen.
When I read about Thesis for WordPress and all of its awesome SEO capabilities and easy-to-use options in May 2010, I decided to purchase it and run with it. I had never used PHP before, but the concept of hooks and filters seemed easy enough. Use what you want, replace what you need.
No matter how many times people tell you web development is easy, learning a new language is still incredibly difficult. Learning syntax, nuances and best practices for a new programming language is likened to learning a spoken language. Sure, looking back now I wonder how I got so confused and frustrated, but that doesn’t change the fact that is was really tough in the beginning.
I can remember spending countless hours watching and reading tutorials on how to work with PHP and integrate it with HTML. Arrays, objects, functions, language constructs – none of it really made sense. I understood how to make something work, but I didn’t understand why it worked, and that just left me feeling like I was crawling in the dark all the time. Just in case you were wondering, that isn’t the most enjoyable place to be.
Summer rolled around and my dad knew I was trying to get into web development. He needed a website for his business, and so as a nice gift and gesture to get me started on my feet, he gave me $500 to build the website. I was so excited I could hardly stand it. 7 weeks later, I produced my first ever website (which considering it was my first website, I still don’t think it was all too bad :-)): http://glbuilding.com.
Even though 7 weeks is an incredibly long time to do a website, it really did take me that long to figure out how to make everything work. I was happy with the finished product, and so far the return on investment for my dad has been absolutely remarkable.
I was serving as the worship guy at a local church in Boone and got the privilege of doing their website for them as well. This time the website took half the time to make, and I really began to enjoy the development aspect of building websites. I still had no clue what half of PHP meant or how WordPress interacted with it, but one thing I knew for certain…
If I could get efficient at building websites, this could be a really good way to make extra money on the side.
So, on September 1, 2010, I officially created the business I now run today: Thomas Griffin Media. I got my EIN, went down to the Town Hall and filled out my application, gave them a check and had my business license. I can remember going by Cookout afterward and grabbing a milkshake. I couldn’t help but think of what the future would hold, and I knew it looked promising.
I’m a businessman by nature, so I believe that is really what propelled me to get contracts in the beginning – that and advertising on Google (which much to my surprise always had a positive ROI). From September to the end of the year, I made something like $5,000 doing whatever web design and development projects came my way. $5,000 was a ton of money for me in such a short period of time, so when I came home for Christmas break at the end of 2010 I sat down and made out a budget.
You see, I was engaged to be married September 2011. After a bunch of incredibly frustrating phone call interviews for jobs, I really, really hated the idea of going to work for “the man”. I had been through Dave Ramsey’s Total Money Makeover book and course (which I cannot recommend highly enough – I still use it to this day), so I knew that I needed to figure out a budget for my upcoming living expenses.
It wasn’t just about me anymore – I was going to have to provide for myself and my future wife. After digging through expenses and getting advice from my parents, I finally came up with a number – the amount of money I needed to make per month to get by.
Starting January 2011, I would do a 3 month trial run. I wrote out that if I made less than that number for any one of those months, I would quit web development and hunt for a job. I figured it this way – if I didn’t pursue web development, I would have enough money from those jobs during those months to get me buy until I found a job.
I didn’t miss that budget once during those 3 months and have yet to come under that budget to this day.
I really didn’t start to grasp WordPress until the spring of 2011. I had moved away from Thesis to the Genesis Framework (which I still use and highly recommend) and began to learn how the templating system in WordPress really worked. This proved to be vital in my growth as a developer.
But the most crucial piece of my development was learning about this function in PHP: print_r().
Yes, up until this past September I had never heard of or used functions such as print_r() and var_dump(). It is no wonder that PHP didn’t make sense to me. Before I learned the function print_r(), I had always wondered how in the world people knew what items were stored in particular variables.
Literally a whole new world opened up to me when I learned how to use print_r(). I finally understood how objects, arrays, loops, keys, values and more worked. And it didn’t take me long to put it into practice either.
TGM Plugin Activation was the first real application that I built after this enlightenment. While before I was PHP blind, now I saw at least somewhat clearly. With the help, encouragement and constant correction from Gary Jones, TGM Plugin Activation has blossomed into a really powerful piece of software for WordPress.
Part of growing pains is looking back at things you once did. I cringe at some of the things I made when I first started (and even some of the things on my own site), but I am ok with that because I did everything with integrity and honesty. I never tried to be someone that I wasn’t, and because of that, I can face the things I did in the past and point to the present.
Insights for You
The amount of knowledge I have learned from October 2011 until now has been exponential compared to my previous learning curve. I have been immensely blessed and continue to grow each and every day.
While I have grown tremendously in the past few years, I can honestly say that I still don’t know that much. I’m constantly humbled by those that are smarter than me, but that doesn’t mean that I can’t share some insight and wisdom from my own experiences in becoming a WordPress developer.
- Don’t be afraid to look stupid. I know that I have had my pride handed to me on a cold dish an innumerable amount of times before, and I readily confess that it will happen in the future. But don’t ever let that stop you from learning. Learning takes time, study and plenty of questions – some of which may be more obvious to seasoned developers. Smug responses will come, but be quick to put them behind you – they were once in your shoes, too, at one time or another.
- Ask plenty of questions. I ask questions all the time (and perhaps too much on some occasions). You won’t know until you ask, so you may as well ask anyway. You may find out that just asking will help you solve your own problems.
- Be humble. Not that I am the paradigm of humility, but I have learned that a good dose of it is good for your soul. Don’t think of yourself higher than others. Remember that there is always someone who knows one more command, has created one more plugin, has a theme that loads .0005 seconds faster than yours, or has more efficient code than you. In humility, strive to become better and thank those that help you along the way.
- You never stop learning. Don’t believe the lie that you “have arrived”. The fact you constantly have to push out bug fixes, tweaks and new versions of things should be a good reminder you still have room for growth.
- Find some mentors. I’m indebted to a few people who (for whatever reason) decided to take some time and invest in me. Learn from your peers and benefit from the wisdom they can impart to you.
- Seek a good name over everything else. Proverbs 22:1 says “A good name is to be chosen rather than great riches, and favor is better than silver or gold.” It is far better to have a good name than to build X number of junky sites or cheat clients out of X amount of dollars. To err is human, so inevitably you will make mistakes (like myself) and miss the mark – but don’t let that stop you from striving to have a good name among your peers, clients and other important people in your life.
It’s been good to reflect on the past couple years, and I really look forward to the years to come. I love my job as a WordPress developer and can’t wait to see what the future holds. I have lots to learn and plenty of room for growth, so lookout future – here I come.
Oh, and remember that first website I created? Last month it received over 86k pageviews and has an email list of over 7,000 people. Who would’ve guessed it? 🙂