Review: Appillionaires by Chris Stevens

I recently finished reading Appillionaires by Chris Stevens. I picked the book up at the library while browsing and I’m glad I did.

From the title, I was a little worried that the book was going to veer straight into “guru” territory. In my mind, Appillionaires evokes a strong emotional reaction that aligns with the perception that a lot of people have of developers in the mobile device age. I was concerned that the book was going to minimize the effort that the top mobile developers put into their successful products and make it seem like anyone can strike it rich on the app store.

My initial impressions couldn’t have been more wrong. This is one book that really can’t be judged by its cover.

Appillionaires starts by telling the story of the Apple app store, and software in general. It explains the democratization of software sales and goes into detail about how Apple acts as publisher for small independent developers, allowing them to reach the widest possible audience. If you’re familiar with the app store as a sales platform, you can probably skip the opening chapter and not miss anything.

I was a little surprised that there wasn’t a larger discussion surrounding the 30% cut that Apple takes on all app sales. The book stresses the $99 fee that registered developers are required to pay to submit and distribute their apps but only covers the publishing fee (which is essentially what that cut is) very briefly. Honestly, I think this publishing fee is an important part of the equation for those looking to make money on the app store and would have liked to see some more commentary about it.

After the overview, the book features several highly successful developers, one developer/team per chapter, and describes the apps they produced, what led them to build the app, and the effect the app’s success has had on their lives. Also covered in each chapter is some background on the developers and information about their past experience and future plans.

I love reading success stories, so I really enjoyed the content contained in these chapters. I liked learning about the people behind some of the most popular iOS apps and the effect their success has had on them and their family. That being said, every chapter basically boiled down to three points:

  • You should have prior skill in management or development before trying to make apps
  • You need to really have a passion about what you’re working on because building a hit app is more like playing a slightly stacked lottery than anything else
  • You are going to work really hard on something to make sure it is awesome, and even then you might not have the success you were hoping for

I don’t think these are bad points to make. Anyone recommending hard work as a method for success is perfectly OK in my book. Still, it left me wanting more. I feel like there must be other stories to be told. The book concentrated on small teams who build (almost exclusively) games. Are there developers who are living off of other types of apps? Are there non-developers having success with outsourcing their ideas (reliably)? I would have liked to read those stories.

After the success stories, the book briefly covered the gold rush mentality that has started to affect the app store ecosystem. Huge venture capital investments, trust fund kids who want to build apps, people pitching developers ideas at parties, huge publishers (EA, Activision, etc) entering the market, and downward price pressure based on consumer expectation – each of these things got a small section. I didn’t find this latter content as valuable as the rest of the book because I don’t think there are a lot of lessons to be learned.

I really liked Appillionaires and would recommend it if you’re looking for some inspiration. I didn’t really learn anything new, but I enjoyed reading the success stories the book contains. I wish there were more varied examples of successful developers, but what is there is pretty great. That being said, I didn’t find the beginning or end of the book very valuable – there just wasn’t a lot of insight or noteworthy content.


Take a look at the following picture:

These are my personal affirmations.

These are my personal affirmations.

That sign hangs above my desk and is one of the first things I see every morning when I sit down to work. I don’t always need it, but I’m glad I have it there when I do.

What you see on the sign are affirmations. They are reminders to myself for when I start to lose confidence in my abilities or am just having an unproductive day. When those times arrive (and if you’re freelancing they almost certainly will) it is hard to think of reasons to value myself and my work. That’s why I wrote them down ahead of time.

When I read the sign to myself and force myself to smile for at least 15 seconds, something magical happens. My confidence is restored, my productivity increases, and I can’t help but want to live up to what I have on my wall.

I had always been skeptical of the power of positive thinking. I thought it was just another hokey piece of self-help bullshit. I was wrong. Being positive and forcing myself to smile works.

I encourage everyone who reads this to try something similar. Write down some good things about yourself and put them where they’ll be in easy reach when you need them. Use them and see how your mood improves and the positive effect affirmations have on your mental well-being.

30 Days of Writing – Following Up

September comes to a close today and, with it, my 30 days of writing experiment ends. I think now is as good a time as any to take a look back and see how my experiment unfolded.

How Much Did I Write?

In the last 30 days I’ve published 23 posts on this site. Prior to that, I’d published 5 total starting in February of this year. I also published 4 posts on my wife and my family site. Including this retrospective post, I’ll have published 28 posts in 30 days (a little under 1 per day) which is close to my goal.

Some of the posts were longer than others, but I think everything I published is useful in some way to a potential visitor. I don’t know exactly how many words I wrote in the last month because the variance in word count between posts was so high. I had some posts as short as 300 words and some as long as 2,500 words.

What Did I Write About?

Sticking with my original idea for this experiment, most of my posts were business / freelance related. I did write a few technical posts, but the ratio of business to technical posts was almost 4:1.

I found myself writing about my experiences and how I handle different situations more than anything else. I wrote in the first person most of the time while trying to relay a general lesson from what I’ve learned in the past. I’m not sure if I’m comfortable with this style of writing, but I like it better than attempting to address a general “you” when publishing content.

There were some posts in the past 30 days that I am really proud to have written. I think they provide a lot of value to other or I got a lot of personal satisfaction out of sharing the information. Here’s my top five:

  1. My Freelance Story – I love sharing my experiences and I think my story shows that anyone, even those with limited experience, can be successful with a little bit of hard work and luck
  2. Path to Freelance Success: Part 1 and Part 2 – When I presented this to the team I was working with in Sayulita, I knew I’d eventually want to share it with others and I’m glad I finally did
  3. Easy Freelance Financials – It took me a while to figure out how to approach money and my freelance business and I think this post (along with the accompanying Excel Workbook) will help people who are struggling like I was
  4. How to Write a Bug Report – I feel like this post is one that I can put in front of my clients (and others can use as a reference) in order to improve my relationships and business practices
  5. Building the Multiple Featured Images Plugin – I think this is some of the best technical writing I’ve ever done as I took a small enough problem that I could walk through it step by step without skipping much

There were some posts that I wasn’t happy with as I felt I could have gone a lot deeper and provided a bit more guidance. Of the posts I wrote in the last 30 days, I feel like Google AdWords for Freelancers is the one that could have been improved the most by diving deeper into the subject. Perhaps I’ll follow up in the future with some real life examples and a video walkthrough.

Did I Accomplish What I Wanted?

As a reminder, there were three main reasons I did this experiment:

  1. Develop a public voice
  2. Teach others from my experiences
  3. Build a public profile

I feel pretty strongly that I made big strides forward with numbers 1 and 2. I feel more comfortable writing and publishing now than I did before the experiment. I feel like I have a more coherent writing style and have started to develop a public writing voice.

On the second point, I know I helped at least one person because he said so. I can’t really express how grateful I was for that comment because it really buoyed my spirits as I was nearing the end of the experiment.

I’m not sure if I improved my public profile as much as I could have. I didn’t really promote my posts beyond tweeting them to my followers and posting them on Facebook. My social networks are relatively small (especially for someone in tech) so the exposure my content got was pretty minimal. At this point, I’m OK with that and have ideas about how to improve in the future.

What Did I Learn?

Most importantly, I learned that I can still write. I was worried that my prose would be incoherent and schizophrenic because I spend so much time communicating in chunks with my clients rather than writing long form text. That wasn’t the case and I was relieved.

I also found that writing every day is hard, especially when you’re trying to teach or be insightful in some way. There’s multiple steps to the process. First, I have to have a good idea for something to write about and the knowledge to share a meaningful lesson. Then, I write an outline for the post. At this point, I evaluate whether the topic was something I could do justice to in one day. If I can, I move forward on the post. If not, I take a step back and think of something else. Finally, I write, read, edit, read, edit, read, and (finally) publish the post.

I spent a lot more time writing than I expected to. I thought I’d be spending 30-45 minutes on each post. While that was true for a lot of them, some posts took as long as 3-4 hours. I found it hard to gauge which posts would take that much time. Sometimes I’d be in the flow and write a long post with minimal effort and sometimes I’d have to fight to say what I knew I wanted to say.

Finally, I learned that I love writing and teaching and helping people even more than I thought I did. Every day when I published a post, I felt accomplished and really felt like I had done something meaningful. It is and will continue to be a great way to raise my spirits.

What Now?

I’ll still be posting on this blog. My goal for the rest of the year is to write 2 meaningful posts per week on this site. I will most likely be publishing on Tuesday and Friday.

In addition, I’ve started working on an outline and promotional materials for an ebook I’m going to be writing on a subject I’m an expert in. Most of my writing time will be focused on the ebook for the next couple of months as I work to bring my joy of teaching to another arena (and hopefully make a little money doing so).

Finally, I’m going to look for other things that I can commit to spending 30 days doing. I’ve found that the consistent practice, especially on days where I didn’t think I’d have time, has made me a better writer. I’m sure there are a lot of other things I can apply this model to and I’ll be working to discover what’s next.

If you’re interested in producing content and establishing a writing voice, I urge you to take on this challenge yourself. As always, I’m happy to answer any questions in the comments and I always love feedback and criticism.

How to Pass on a Project

Sometimes a project will make its way into your pipeline that you either don’t think you can handle or don’t want to take on. There are a lot of situations where that might be the case:

  • It isn’t the right size for you
  • It requires skills that you don’t currently possess and can’t easily acquire
  • The timeline is too tight given your current schedule
  • You have a weird feeling about the client
  • You don’t think you can work within the process the client requires

The question is, what do you do in these situations? You could tell the client you’re not interested and leave it at that, but I find that being a helpful resource in a situation like this can lead to new opportunities in the future. How do you do that?

Build a Reliable and Trustworthy Network

You should know other freelancer and agencies from industry events, online chats, and other networking opportunities. Ideally, the freelancers you know should have varied skill sets and the ability to take on projects of various sizes. For example, you might know a designer who specializes in large-scale corporate websites (and does a bit of print work, as well) and another who almost exclusively performs logo and identify work.

Do your best to vet your network so you can feel confident referring prospects to them. Ideally you’ll have worked with a contact in the past so you have first-hand knowledge of the quality of their end-product and process. Don’t be afraid to ask people to send you work samples so you can refer them work. Very few people will refuse a proposition like that.

Explain Why You’re Not a Fit

When referring a prospect to another freelancer, explain to them why you don’t think you’re a fit for their project. I’ve found being tactful and direct to be the best route to take. Something like this could work:

Ryan, I’d love to work with you on your project as it is a good fit for my skill set and it seems like it could be a fun one. Unfortunately, I have other projects scheduled for the time leading up to your specified launch date.

By explaining why you can’t work on a project, you leave the window open for the prospect to change the thing that is preventing you from working together. For example, I’ve had people change launch dates to something more amenable to my schedule in order to work with me. If I hadn’t let them know what was standing in the way, they wouldn’t have been able to do that.

Refer with Details

After explaining why you can’t work on a project, choose a couple people from your network who you think might be a good fit for it and send their contact details to the prospect. In addition, provide some information about why you think each person would help make the project successful and (ideally) a little bit of context about them. That context could include past projects, collaborative work experience, or anything else you think would help the prospect make a decision. Remember, you’re trying to be helpful.

Follow Up

I don’t always do this, but on projects that I really wish I could have worked on, I’ll follow up with the prospect down the road to see how things went. Sometimes they’ll be working with one of the people who I referred them to but as often as not they won’t have started yet. That gives me another chance to work with them and take on a project I was excited about.

General Guidelines

The most important thing to remember is that you should be helpful and courteous. Why? Because you’re a good person, that’s why. Also, if you help someone get what they need, they’ll be more likely to help you down the line. This could be a referral to you for a different project, an introduction to someone who could help you with your business, or advice of some sort.

I’m interested to know how other people pass on their projects. How do you go about referring work to other freelancers if you can’t or don’t want to work with the prospect?

How to Get the Attachment ID of the WordPress Header Image

Skip to the answer

I saw a question on Twitter today about getting the attachment ID for the header image set through the WordPress theme customization screen. I haven’t worked with that part of the WordPress API before, so I wasn’t exactly sure how to do it. I decided to find out so I could help another developer and, maybe, save myself some leg work down the road.

I started by activating the 2013 theme on my local WordPress install. I knew this theme uses the header image functionality, and figured it was probably a good place to start looking. After activating the theme, I uploaded a custom header image and inspected the frontend of the site with Chrome’s web inspector to see what kind of markup and styles are used to place the image in the header.

I was able to see the background image was set on an element with the class site-header. I did a text search on my local WordPress install and found a file inside the 2013 theme called custom-header.php (an obviously promising name). I perused that file and found a call to the function get_header_image. At this point, I knew I was getting close.

There were a couple of layers of abstraction, but I eventually found the get_theme_mods functionality. I threw the following line into my functions.php file so I could see what was returned from the function.

error_log(print_r(get_theme_mods(), true));

As a side note, I find this to be a simple and effective method of exploring the WordPress API. I noticed the data returned contained a key called header_image_data. The value for that key contained the information I needed, so it was just time to walk back up the hierarchy and figure out the best way to get the data. get_theme_mod delegates to get_theme_mods so I knew I had my answer.

All you have to do to get the attachment ID of the uploaded header image is call get_theme_mod('header_image_data'), check the result is an array, and that the attachment_id key is set. If it is, that’s your answer.

$data = get_theme_mod('header_image_data');

$attachment_id = is_array($data) && isset($data['attachment_id']) ? $data['attachment_id'] : false;

if($attachment_id) {
	// Do something here

Signs You’re Not Actually on Vacation

I scheduled a sorely needed vacation for this week. I needed some down time from work and a little bit of a recharge. My vacation was supposed to start Sunday but I still don’t feel like I’ve really shutdown and am getting the rest and relaxation I need. Here are the things I’ve noticed that mean I haven’t started my vacation yet.

Still Working

Well, I was on Sunday. A project that was supposed to wrap two weeks ago needed some last minute support on Sunday and I was the only one who could provide it. That meant I had to sit down in front of my computer and work on my vacation. Ugh.

Checking Business Email

As a freelancer, email is my main communication channel. I get noticeably upset when I have a large amount of correspondence unread. Because of this, checking my email has become something of a compulsion: I check it first thing in the morning and then every chance I can throughout the day.

Because I’m not actually doing development work, this means I have tons of time to exercise this (admittedly terrible) habit. I haven’t gotten to the point where I’m not checking my email yet, but I’m close.

Thinking About the Last Project

I referenced above that I worked on a project while I was supposed to be vacationing. I thought that launching it would be the end of the line for that project, but I still find myself dwelling on things I could have done differently to make the project go smoother, deploy faster, or work better. After working on something for 8 months, I thought I would be able to get it out of my mind once it was live. I haven’t been able to do that yet.

Figuring Out New Projects

I have work lined up for when I come back – the projects are clearly specified and look like they’ll be a lot of fun. I shouldn’t have to think about them while I’m vacationing, but I still am. I’m anticipating how I’m going to make sure the new projects get done on time and on budget.

I really need to take a step back and realize there is time to take care of the new stuff when it arrives (better planning has ensured that) and enjoy my vacation while it is here.

What About You?

I’m sure I’m not alone in my vacation failure. How do you deal with vacationing as a freelancer?

Google AdWords for Freelancers

When I started freelancing I did not have a reliable lead generation channel. My website received almost no search traffic because it was relatively new and light on content. Job boards were a good source of leads, but it was a lot of work to convert those prospects into clients. I didn’t know what to do.

That’s when I decided to give Google AdWords a shot. I’d heard that people who clicked on AdWords ads were more likely to convert because they had intent. They are looking for a specific product or service and are more likely to convert than random web traffic. I was also enamored by the fact that the leads would be inbound, requiring less of my time to acquire. Rather than constantly looking at new jobs posted on job boards, I could spend an afternoon setting up a campaign and drip money into it as necessary.

Building Campaigns

I didn’t really know how to get started and I didn’t want to get stalled by analysis paralysis, so I sat down, thought about what services I offered, and tried to discover how people would search for those things. I also determined that I would just send traffic to my home page because it was already built and prominently featured a “Get In Touch!” form that would allow anyone to contact me easily.


When I started thinking about what keywords I wanted to target, I knew that the keywords needed to be sufficiently narrow that they wouldn’t be ridiculously expensive to bid on. This means I targeted things like WordPress Plugin Developer instead of Developer or even WordPress Developer. Then, I determined that I would build two separate groups of keywords based on the following:

  • what I am (my role)
  • what I provide (delivered product)

Let’s look at some examples of those groups and the keywords I used.

Role Based Keywords

On any freelance project, my role can probably be described generally as Developer. For my AdWords campaigns, I restricted that to WordPress Developer. Since I do both frontend and backend development, I knew I could target both those roles as part of my keywords. Because I was doing narrow matching for my keyword, I knew I wanted to target things as specifically as possible to keep my cost down. Here’s some role-based keywords that I used:

  • Expert WordPress Plugin Developer
  • Best WordPress Plugin Developer
  • Custom WordPress Plugin Developer
  • Custom WordPress Theme Developer
  • Export Theme Developer

By looking at that list, you should get the picture. My list ended up being 60-70 role-based keywords long with variations on the basic concepts seen above.

Product Based Keywords

I didn’t want to generate keywords based on what I call myself, though, so I also built a list based on what I produce. In general, this boiled down to:

  • WordPress Theme
  • WordPress Plugin
  • WordPress Site

I added descriptive adjectives to each of those items and also generated very specific keywords from a list of previous projects I worked on that people might be searching for. If I already did it, people should be able to see.

Synonyms, Misspellings, and Equivalent Terms

Now that I had my main list built, I went through each item and thought of all the other ways that someone might search for that term. For example, someone looking for Custom WordPress Theme Developer might use the following equivalent keywords.

  • Custom WP Theme Developer
  • Custom Word Press Theme Developer
  • Custom WP Themer
  • Custom Word Press Themer

You get the picture. Grab your thesaurus, think of the different ways certain words in your keyphrases can be replaced, and keep expanding your list.

My Ads

The ads I created to show when someone searched for my keywords weren’t anything special. I didn’t do a lot of experimentation or research, I just thought about what someone would want to read and would be likely to click on if they were looking for someone with my skillset. Here’s what one of my ads read:

Amazing WP Developers

Hire the best {keyword:WP Developers} today.
Get a free quote within 24 hours.

As you can see, I’m interpolating the keyword the user searched for into the ad itself. I’m using a generic term for WordPress (WP) in the title because the term WordPress is trademarked and restricted from use. Finally, the last line clearly outlines the benefit of clicking on the ad. The searcher will be able to get a free quote with a short turnaround. Who wouldn’t want that?


I was not disappointed by my foray into AdWords. The campaigns I ran were great for my business – I would turn them on for a few days, gather enough leads to nurture and convert into projects, turn the campaign off, and repeat. With a little bit of forethought and a reasonable converting landing page I was getting inquiries for more work than I could possibly handle. In terms of cost, I made back every dollar I spent on AdWords for a month as long as I landed a project that was at least my minimum project size.

Although the landscape is more competitive today than it was four years ago when I first used this technique, I still think a freelancer can be really successful using Google AdWords. I’m happy to answer any questions in the comments or speak more to my experience if anyone is interested!

The Mystery Bug that Communication Solved

I’ve been working on a project lately that was proceeding smoothly (for the most part) towards launch. I was working as part of a diverse team, some technical, some not, and we tested extensively on our staging environment. Everything was working great so we deployed to production to do our final testing.

We ended up running into a strange bug almost immediately – our payment processor couldn’t pass information it needed to back to our application. There was no way to tell what was happening because our server wasn’t even showing a connection from the payment processor so there was nothing to debug on our end. It was confounding. We redeployed our code to ensure that it was the same on both staging and production and copied all data from production to staging and the problem persisted.

Fortunately, we were working with a host who was committed to helping us solve our problems. We submitted a support ticket and I started searching for a reason and solution on my own.

After a copious amount of searching and iteration over pages and pages of Google search results, I finally found something that looked like it might be helpful. I immediately documented my findings in the support ticket and proposed some possible solutions on our host’s side. Based on my findings, our support tech was able to figure out the actual problem and suggest some solutions, which we pursued.

Over the course of 36 hours, the support tech and I passed probably four dozen messages back and forth. There is no way that I could have solved this without his help and there is no way that he would have gotten down the right path without my ridiculously verbose messages. In the end, this mystery bug wouldn’t have been solved without our ability to communicate and that is something that I’ve found to be true throughout my freelance career.

My Freelance Story

I’ve talked to a lot of entrepreneurs and I’m always fascinated by the varied experiences that lead a person to start a company. In particular, the freelancers I know have taken ridiculously distinct paths to their current positions. Since I find these things so interesting, I thought it would be fun to share my story.

Growing Up

My mother and father did a great job fostering my love of math, science, and other technical topics. They recognized I had an innate understanding of these things and wanted me to take advantage of my talents. I got Erector sets, Lincoln Logs, and K’Nex for every holiday and would spend hours designing and building things. I distinctly remember creating a pseudo-bionic claw out of K’Nex that would fit over my hand and do different things based on how I moved my fingers.

My father worked (and still works) in the automotive industry as an engineer of various sorts. Hearing about the kind of things he got to do, I knew I wanted to be an engineer. At the age of ten, I narrowed it down to to wanting to be an architectural engineer. My mind was set upon this path all through high school and into college.

The Rose-Hulman Institute of Technology

I enrolled at the Rose-Hulman Institute of Technology as a mechanical engineering major because I wanted to learn from the best. I loved it. The coursework was challenging, but I learned all about the way the world moves and works the way that it does. I acquired practical knowledge and got to do lots of fun things, including designing and building a small bridge truss to compete against my classmates’ designs.

The professors were great, everyone was bright, and I got to study things I was genuinely interested in.

General Electric

In the middle of my sophomore year, I applied for and was accepted as a co-op at General Electric’s Appliance Division. I moved to Louisville for six months and worked as part of the refrigeration team. Some of the work was interesting, but I’d say only 3-4 hours of the week were spent on any meaningful discovery or improvement. The rest was spent writing reports that no one read, attending meetings that were irrelevant at best and hostile at worst, and generally sitting around trying to look busy. I continually asked for more work and never received any. I either wasn’t trusted or there just wasn’t that much to do. It drove me crazy.

I spoke to my co-op supervisor about it and he said that’s just how the corporate game works. The manager of the department I worked in was obsessed with “butts in seats,” going so far as to accuse me of not being at work when he couldn’t reach me at my desk phone (which was broken) and I answered on my alternate number. How dysfunctional is that?

I was depressed – I talked to some other engineers and they confirmed that much of corporate engineering is making PowerPoint presentations and listening to others give them. That was not what I envisioned or wanted.

Changing Majors

I sat in my apartment in Louisville trying to figure out what to do. I knew that programming was important and that I could probably be good at it, so I taught myself how to tinker in PHP. After doing that for a couple of months, I decided to switch majors to Computer Science when I got back to Rose-Hulman. The course work was still challenging and I felt like I was crafting something new every single day. I was an artisan solving problems in context rather than a human calculator solving for x forces in y dimensions. I could tell after a couple of weeks that it would be a great fit. I was so excited!

Of course, I didn’t want to get caught in another corporate trap so I started investigating what the programming world was like. Much to my chagrin, I saw that a lot of the stories held the same kind of soul-crushing narrative that my experience at GE had elicited. There were other options, though. I found you could be a programming consultant, work over the internet, and make a great living. I was intrigued and decided to pursue this.

My First Gigs

During my junior year of college, I started investigating what it would take to go down the path that I wanted. It started by trolling job boards (as I outlined in my path to freelance success) and finding someone who would take a chance on me given my current knowledge and desire to learn. I found Mark Hammonds. He was my age and was looking for someone to do Drupal development for him as part of an effort to rebuild a website for a client of his. We both drove to Indianapolis to meet up for dinner and he was happy enough that I scored an hourly contract with him for the summer.

I moved in with Angela at her mom’s place, set up my computer, and got to work. It was my first real experience at providing professional development for money. There were highs and lows, but I wouldn’t trade those experiences for the world. Working from home was amazing – once I experienced it I knew I would never be able to go back to working in an office.

I also worked on small WordPress and Drupal development projects throughout the summer, but the work with Mark was always my main focus.

Senior Year

The summer ended and my contract ended with it. I had my taste, though, and I knew I could never step away from the kind of life that let me work from home on things I enjoyed and earn good money. My senior year at Rose-Hulman was a whirlwind as I balanced coursework, work-study, and figuring out how to start my freelancing business. I slept maybe five hours a night if I was lucky.

My last quarter at Rose-Hulman I decided to stop trying so hard in my classes and work on my business. My grades dropped down to Bs, but that was OK. I was too busy working on my website, gathering leads, wooing prospects, and starting to make real money. It was exhilarating.

One of the best things about Rose-Hulman is that they have a dedicated career center that will help you get a job (and a well-paying one at that) right out of school. They were surprised when I told them I didn’t have a job offer because I wasn’t looking as I was going to start my own business. I’ve always thought that was kind of funny.

College is Over

I did really well in college and graduated with honors, but that meant next to nothing as far as prospects were concerned. They wanted to know I could help their business, not how great my GPA was. I spent the summer learning how to nurture leads, building my technical knowledge, and generally working my butt off. I would get up in the morning and ride my bike to the gym, work out, shower, and then sit at Starbucks for 8-10 hours working. It was fantastic.

I was still perusing job boards throughout the summer and eventually stumbled on a job posting at FreelanceSwitch by a company in California called “Shane & Peter” (who are now Modern Tribe). While I thought it was a weird name, I decided to apply for a contract position. I remember sitting on the bed of the truck I was driving at the time in a Barnes & Noble parking lot and talking to them. That conversation would have a huge impact on my life for the next several years.

The Move

After the summer, Angela (my now wife and then fiancee) and I moved to Seattle, WA where Angela would be attending law school. We didn’t know anyone, but that was OK because we had each other. I worked on tons of projects as I tried to figure the whole freelance thing out. How could I make more money and advance my freelance career? How could I learn more about what I do while still serving clients?

Those first six months, I essentially worked non-stop. I’d get up in the morning and see Angela off and sit down in my office and work all day. Angela would come home and we’d go to the gym and have dinner and then I’d work until one in the morning while she fell asleep next to me.

Throughout this time I was working on my own gigs, but a majority of my energy was focused on serving Shane & Peter and, more specifically, their clients’ needs. I got to work on some stuff that wouldn’t have been available to me on my own. I talked to Peter almost every single weekday for almost two years. I got to attend retreats with other freelancers that they worked with. It was a lot of fun and I learned a ton along the way.

I’ll never forget the first big mistake I made as a freelancer when I forgot to add a condition to a WHERE clause in a SQL statement and caused intermittent performance issues on a client’s site. It was baffling because I didn’t have the data set to see it locally and didn’t have the server access required to debug it remotely. We eventually got it figured out, but I learned from that whole ordeal that the best thing to do when you’ve made a mistake is to calm down, communicate as much as possible, and do your damnedest to fix the problem. I think that is the most important lesson I learned from working with Peter.

Onward and Upward

During the time I was working with Shane & Peter, I was also working on expanding my business. I networked like crazy, revamped my website, and took on more and more expensive projects. I eventually wrote a book which I was able to use as a calling card. It became part a standard part of my pitch:

Oh, why should you hire me? Did I mention I wrote a published book on WordPress theme development?

I eventually priced myself out of working with Shane & Peter. I was spending 70% of my time on projects with them but making 70% of my money from projects that were with other clients. It just wasn’t sustainable in the long term. I peg that as one of the hardest things I ever had to do: I had to choose between working with my friend every day or making more money for me and my family. Making money won.

Solo + Agencies = Win

For a while I was on my own, but then something wonderful happened. I ran into an agency that could afford to pay me my normal project rate and would allow me to work on projects with companies that would otherwise be inaccessible. I don’t remember how I met Brian, but I’m so glad I did. We’ve worked on a ton of projects over the years that I’m really proud of and I’m happy to call myself a member of the TrendMedia team.

About six months ago, I stumbled upon another agency with whom I have a similar arrangement. He gets the projects, I serve the client, and everyone is happy.

So that’s where I’m at now – I work on projects with clients that I gather myself and fill the rest of the time with projects through these two agencies. I hardly ever want for more work (oftentimes having way too much to do!) and am making the money I need and want to for my family.

I Love Freelancing

What does all this mean in a broader context? I’m not sure, but writing this post has made me realize two things:

  1. I love what I do
  2. I’ve worked my butt off to get where I am right now

If I’ve worked with you and you’re reading this, thanks for making my lifestyle possible. I appreciate it more than you know. If you’d like to pick my brain about an aspect of my freelance story that I left out, leave your questions in the comments!

Celebrate Your Achievements

Have you done something awesome recently? Maybe you launched a new website, wrote a post on your blog, or solved a difficult business problem. Whatever it was, did you take the time to celebrate what you accomplished?

For me, the answers are often “Yes” and “No”, respectively. I’ve heard the same from many other freelancers. We are all so busy living for the next project that we never sit down and reflect on the successes that we are a part of.

The lack of reflection leads to a big problem. If you don’t stop to recognize your accomplishments, you might as well not have been a part of them. You’ll forget the successes you’ve had as you drive yourself towards the next deadline. For me, this has lead to moderate depression at the thought of “working so hard for nothing.”

This might seem like a simple mind trick (and it is), but the next time you have a successful outcome, sit down and spend a few minutes thinking about it. Think about how you got where you are and the lessons you learned. You’ll feel better in the present and the future. When you get frustrated on your next project, you’ll have something to look back at and remind yourself of how you’ve experienced success and how you can reach that feeling again.

I’ve started doing this in my business and personal life, and it is already paying dividends. Give it a try!