Becoming A Software Consultant: My Backstory
I recently published a post about my first year of being an independent iPhone development consultant. The feedback from my readers was incredible, however there was one important thread on Hacker News that I wanted to address. The issues were:
One of my common hangups with these kind of posts is the lack of history as to what lead people to these consulting gigs. Where were you before, and how long were you there?
I found this to be a very valid point. Far too often you see guys posting their end of the year profits from their consulting gigs and they make it sound extremely easy. This can be dangerous as joe n00b might be so inspired that he quits his job and jumps right into the deep end without first preparing himself and assessing the risks involved.
That being said, I wanted to write a bit about my backstory and how it ultimately lead to my ability to strike it out on my own as a consultant. I have read stories similar to mine and there are a few key points that seem to be common, which I will highlight as I go.
**Circa Summer 2008 – Just Before Apple Releases The iPhone (not iOS) SDK **
In the summer of 2008, I was preparing to enter my senior year of college for Computer Science at UNM. A quick note about CS in New Mexico. There are TONS of government contractors (Sandia, Ultramain, Honeywell, Lockheed, etc.) in NM and college CS courses seem very much tailored to preparing students to head down this road towards one of these contractors. This is where most of my buddies from college ultimately ended up.
So, like any good UNM CS student, I got a job at Intel hacking C# tools for their engineers to use during testing. It was fine, but I knew I could not work in a cube forever.
Around that time, one of my buddies had the original iPhone and I was crazy jealous. I think I had some silly Windows CE brick or a Palm Treo or something. It was obvious that the iPhone was the “next big thing” and I took notice. So I started developing web apps for the iPhone, as that was the primary way to get custom apps for the devices. Apple even had a terrible (non mobile formatted) interface for exploring such web apps.
I built cool things like a Weight Watchers Point Calculator (my wife’s idea) and Minesweeper and to my surprise made a couple bucks a day on ads. This really fueled my excitement. Then, Apple announced the official SDK.
**An Aventure In iCodeBlog And Other NDA Violations **
When Apple first released the SDK, the App Store didn’t exist yet. All developers were forced under Apple’s NDA, stating that we weren’t able to discuss any aspect of the SDK on the web. As you can imagine, this left very little resources available for learning how to actually do development. There were no blogs, no books, and the only source of information was Apple’s documentation. I saw this as a HUGE opportunity.
I very quickly registered the domain icodeblog.com and setup WordPress. This led to my very first post in July of 2008. I had no idea what I was doing; it was my first blog ever, but I knew I would be able to learn more effectively if I was teaching others as I went along.
Being a Java developer, I was comfortable reading documentation so I dug right in to the iOS docs. I spent all of my free time (the time that wasn’t spent with my wife) learning and blogging. I was violating the NDA by discussing it on the web, but my page views were growing every day. Other blogs started to sprout up but I soon had the most popular iOS development blog on the web. I had over 10K RSS subscribers one month after my blog launch.
Things were really exciting, however, I had to start thinking about my future and how I was going to support my family. Still being a bit narrow-minded with my career choices, I applied for a job at Lockheed Martin and got a position. It was all set; I would graduate college in the spring and head to the “cube farm”. Destined for a life of “here’s your input, give me this output”, TPS Reports, and other corporate stereotype jokes…
That’s when I got my first iOS programming job offer…
Enter RightSprite
As you can imagine, the popularity of iCodeBlog did not go unnoticed. I received job inquiries quite often and one them happened to be from a guy who lived in Ireland named Jonathan. He was a wealthy American entrepreneur who had added a mobile offering to his already successful rails consultancy called RightSprite. However, he started his business by outsourcing to the Ukraine, which yielded fairly poor results.
So, in the winter of 2008 I received an email that they wanted to purchase iCodeBlog and give me a job replacing their outsourced team. He also happened to have an employee in NM named Josh. Josh and I met at a “hip” food place that I had never heard of and I was blown away that this was considered “business”. Needless to say, I was excited.
So here I am, about to graduate with a perfect job lined up, and I get an offer like this. I had no idea what to do. The idea of working remote was foreign to me and had never even crossed my mind. People can actually do that? I can work in my pajamas??
So I decided to take a risk, sell him my blog, and accept the job offer. I was terrified-especially when he told me that my first check was coming out of his personal bank account and that was why it was late. Little did I know, this would be one of the best career decisions I could ever make…
Build, Hire, Repeat
I graduated from college and my career was in full swing. I was the sole developer at a consultancy that had more mobile work than it knew what to do with. My family had no idea what I did. They though I was a drug dealer or something just as lucrative. At one point, my grandma asked me, “When are you going to get a real job like your cousin Michael (he works for the city)”. I could’t quite believe this was a legitimate job myself.
Things started to get very exciting. Jonathan asked me to help hire our next employee. Luckily, a guy by the name of Collin reached out to me and asked if he could guest blog on iCodeBlog. A few tutorials later and we offered him a job.
RightsSprite continued to scale up and I helped hire quite a few new developers. They eventually moved to a physical building in Portland, Oregon while I still worked remotely from NM. The team continued to grow.
A Book Deal
Even though I didn’t own iCodeBlog anymore, I still contributed to it from time to time. This lead to me being contacted by a few publishing companies with book offers. A book offer? It doesn’t sound that cool now, but in 2009, when there weren’t many iOS development books, it sounded incredible.
I decided to go with Manning Publishing and I updated their iPhone development book from web app-centric to SDK-centric. It amazed me that I struggled to write four paragraph essays in high school but I was now writing a four hundred page book with ease.
The book did fairly well and sold around 10,000 copies. Unfortunately, when you are an author of a tech book, that amounts to just about nothing in profit. As you can imagine, I had little motivation to do the update the next year when Apple updated the SDK.
A New Sheriff In Town
Shortly after moving the offices to Portland, the owner sold the company and we had a new president and CEO. He ran things a bit differently but ultimately things were cruising forward. Our team continued to expand and eventually I hired our first Android developers.
In December of 2011, I was promoted to the Director of Mobile Engineering. It was a fancy title and I was entirely proud to hand out business cards with that printed on them. I had helped build the team up to around sixteen mobile developers and it was now my job to manage them, as well as work closely with sales to land larger contracts.
2012 was a great year of working on cool projects including the Food Network and Google Fiber TV. I got to attend WWDC and spend a few weeks on Google’s campuses.
Things Get Shaken Up
Little did I know, there was some unrest in the company with the higher-up managers. One day, there was a company memo that the three people who were higher ranked than myself had all left. There were rumors as to why they left, but no one really had the true story. This caused a stir in the company and a few more developers began to follow suit.
This, of course, led to some company restructuring which put me right at the top with one other team member. I was now one of the highest paid people in the company and solely in charge of the entire mobile team.
I thought everything was perfect until one day in December of 2012, I received the following message when I logged into Gmail:
Your account has been suspended, please contact the administrator.
This made me considerably suspicious. I knew there was a lot of restructuring in the recent history and I immediately wondered if I was next on the chopping block. I was logged into Linked In at the time and noticed the company owner was the last person to view my profile. “He suspects me of looking for other jobs and is checking up on me”, I thought.
That’s when I received a message on Skype from him. It said:
Brandon, do you have time to talk?
My heart jumped into my throat. I knew what was coming next. He was soon up on video chat and proceeded to tell me that the company was undergoing some restructuring and my position has been eliminated. “Eliminated?” I thought. And then I asked him what that meant for me. He repeated the sentence again, said thanks, and hung up. That was it; I no longer had a job.
My “secure” job that I had been working at for four years disappeared in a matter of seconds with very little “real” explanation. I was speechless.
Taking The Plunge
After getting “let go”, I took the rest of the day off and went out with my family (wife and two kids). We were shocked, but I knew what I had to do. It was what I had been dreaming of doing for quite some time.
Armed with the knowledge of the entire software pipeline-from sales, to development, to maintenance-I hit the ground running the very next day in search of my first contract.
I wrote this blog post documenting that very first month.
Takeaway
It has been a little over a year since I’ve had a “secure” job. I put that word in quotes because I now believe the only way to have a secure career is to make one for yourself. You could be let go at any time, for any reason.
I was very fortunate to have a first job that allowed me to learn the needed skills to do what I’m passionate about; building consumer facing apps that get used by thousands of people. If you want to do the same, I would encourage you to find a job that lets you explore all of the aspects of consulting to find out if it’s right for you.
Sometimes I wonder why everyone is not a consultant. It feels so free to be able to hack outside on a nice day or go sailing with my buddies on a random Wednesday. But that’s just one side of the coin. Other days, I wonder why I am even doing it. I often wish I had a simple job with a well-defined task where once I got “off work”, I could go home and not think about it again until the next day but I don’t have that luxury. There are real risks and stresses involved with working for yourself so I urge you to weigh them out before taking the plunge.
I have received so many good questions through my last few posts about consulting. They have inspired me and I intend on taking this year to diligently blog about topics such as finding clients, health insurance, contracts, etc.
So please share and subscribe; I hope to help you on your journey to becoming free of your corporate chains.
This post is part of a series about becoming and independent software consultant. I am participating in this series with my good friend Josh. You can read his take on this post here.