This is part 2, which starts off just after part 1 ends.
The story that I've been writing is going to be a rags to riches story. It's a true story, and it's the story of my life.
If these opening sentences have lead you to believe that I've finally come into huge financial success, then you've been misled. That part of the story is still far in the future for our beloved protagonist.
If you find this story interesting, you might also want to check out So You Want To Start A Software Consulting Company? and Why VCs Don't Fund Consulting Companies.
In the last part of this story, I left off just after my journey through the University of Waterloo co-op program. In this section, I will continue from where it left off, which is around April, 2014.
When I finally finished university it had been 4 years and 8 months of consecutive school or work with only the odd week or two intermission between terms. During the last term of university, I took 7 courses at once, and I need to pass all of them to graduate. The temptation to think about life after graduation was strong, but I did everything I could to push it out of my mind. I knew that once I started thinking about freedom I'd never want to go back to studying for finals again and I might jeopardize my finish.
I just kept diligently working away as I had done practically every day for the last 5 years or so. And then one day it happened: I wrote my last exam, and there was nothing to study for any more. I had been so focused on school that I hadn't really made any concrete plans for the future. I didn't even know where I was going to live in a matter of days, and I had purposefully avoided lining up any jobs because I knew I needed to sit down and do some serious thinking about life once I had the time to do so.
A few days before I became homeless, I had arranged a cheap $300/mo sublet. Waterloo residences are quick to kick you out: You have to leave no more than 24 hours after you last exam. This was a problem because the person I was supposed to get the keys from wasn't responding to emails on my move out day. After the official move-out time passed, I ended up just sitting in the university's software engineering lab while I asked some kind friends for a place to stay for the night. Fortunately, this worked out and I was able to get keys the next day. Here is where I ended up:
It was a very old house. The owner told me that it was on the order of a hundred years old and was destined to be toren down soon. The bathroom was so small you couldn't take your shirt off without hitting the walls.
I spent my first few days of freedom exercising, eating well, and reading up on world events that I had missed out on during university. Many of my friends had decided to go on expensive vacations and travel the world after graduation, but I was ecstatic just to be able to sit in the sun, listen the birds and drink a coffee. Once I became a bit more restless, I ended up doing some work on my compiler, and taking the time to work out the math on a few things like: Is it worth paying into the Canadian Pension Plan? The answer turns out to be "not really", and of course it's not optional because the government wants to be the one taking care of your money.
I also started researching a lot about the laws and tax rules associated with starting a business. Starting a business after graduation was something I had in the back of my mind for some time now.
They say that you shouldn't start a business 'just to start a business', but in some ways that's exactly what I did. I've always had a number of potential business ideas, but since I was aware that I lacked experience, I figured it would make sense to start whatever type of business would be easiest to bootstrap. This way, I could 'learn the ropes' of running a business in a much more realistic way than if I just went to business school and read about business from text books.
The idea of raising money to start a business wasn't appealing to me because you have to sacrifice a lot of control when you give up equity. Not raising money meant that I would have to bootstrap with next to no resources, and so I decided that I would start a 'consulting company' because I figured it would be easier to bootstrap than a 'real startup' (although I've since revised that conclusion slightly). Research on the subject told me that as a consultant you have to have a 'focus', so I picked building analytics dashboards. Every company that I had interned at had asked me to build some sort of analytics dashboard to visualize internal data, so I thought this was a good bet.
I incorporated on July 4, 2014 as 'Robert Elder Software Inc.' which was a couple weeks after convocation. By this time, I had moved into slightly nicer accommodations and had arranged to sleep on a friend's couch for a couple months. The above picture is the world headquarters of 'Robert Elder Software Inc.'. It was also my bedroom living room and cafeteria.
Here is what my business web page looked like on July 12, 2014:
They say that you have to be determined to be able to start a business, and the next few paragraphs give examples that speak directly to this point. What might surprise you is that most of the battles you'll fight aren't glorious, they're incredibly mundane and boring things that just won't get done unless you push them to get done.
To complete a certain part of the business registration process I needed to write a cheque. No problem, I'll just go to the bank and order some. And so I went to the bank and did just that. The bank gives you the option of having the cheques mailed to you, or you can have them mailed to that bank branch and they let you know when you can pick them up. Since I was living in a temporary accommodation, I opted to have them delivered to the bank instead of where I was staying.
After waiting well past the time the cheques should have arrived, I decided to stop by and ask them if they had in fact arrived. At first they said "Nope, they'll be here soon", but when I stated how long I had been waiting she said she would look into it. I went home, and as soon as I got back I got a call from the bank. They said: "You cheques are here, but they are in the post office in the shoppers drug mart of this plaza. They've been there for a while, and will be sent back within a few days if you don't pick them up.". So I bused back to the plaza and went to the post office and attempted to describe what I was looking for. I spoke with 2 different post office employees who spent a good 5 minutes looking for the cheques, and they concluded that they didn't have them.
I went back to the bank and explained to the teller what the situation was and she confirmed that they were definitely at the post office. I convinced the bank teller to leave the bank with me and walk across the parking lot to come to the post office. This way, she could describe to the post office employees what I was looking for and how to find it. After another 5 minutes of rummaging, I got my cheques!
The root cause of this problem can be explained as follows: The bank was located in a plaza, and the entire plaza's address was something like "123 fake street". The bank address was "Acme Bank, 123 fake street", but when they ordered the cheques they ordered to have them delivered to "Robert Elder Software Inc., 123 fake street" instead of "Acme Bank, 123 fake street c/o Robert Elder Software Inc.". This meant that the post office would look for a business with my name located in the plaza (which didn't exist), not find it, and then just give up. The mailing address didn't indicate anything about the bank so they wouldn't know to deliver it there in the first place.
The take-away is that if I simply chose to wait longer for the cheques, or not brought the bank teller to the post office with me, I wouldn't have gotten my cheques and this could have cause additional delays. If I had them ordered to my own address that would have solved the problem too, but hindsight is 20-20.
For setting up a Canadian business, one of the first things you need to get is a business number. This is an important pre-requisite for a number of other steps in setting up the business. After I officially incorporated, it is supposed to take a bit of time for them to issue me a business number. In my case, I kept waiting and waiting and no business number showed up.
The solution to this is to call up the Canada Revenue Agency and ask them what's going on. So I did this, and I got a busy signal. A busy signal? That's seems odd that they don't have a hold line. So I called again the next day. Still a busy signal. Same thing after calling a few more times. So I called the number associated with Corporations Canada. I said "I know you're probably not the right people to call, but can you help me with this issue?". They said that they couldn't help but the guy on the phone sympathized with me saying that even they have trouble contacting the CRA sometimes. He said he could give me a direct phone number to call them, and I got a bit excited because I though that perhaps I can bypass the busy signal I was getting now. The phone number he gave me was the exact same number I had gotten the busy signal from.
After that I decided that I would just sit there and repeatedly call the number for the CRA over and over and over until I didn't get a busy signal any more, even if it took hours. Fortunately, it only took about 5 calls and the phone started ringing! I was excited because this must mean I was about to talk to someone. It rang a few times, then went to a waiting line. Apparently, this must have meant that the call volume was high enough to exceed the capacity of the holding line and that must be why I got a busy signal. After waiting on the line for a while I did manage to get through to someone and get the problem fixed. They were missing some small piece of information if I recall correctly. I got the business number shortly after.
One of the things I did to try and get business was contact other local small businesses involved in consulting based web development and see if they had any work they would might sub-contract. I had arranged a meeting with the CEO of one of these companies via cold email, and I was to meet him at a local cafe to talk about opportunities to work together. I felt good about this meeting and it seemed like it might be a good fit. However, getting to the meeting didn't go as planned and my recollection of these events is coloured as though it was an episode of Seinfield.
I'm the type of person who is usually inappropriately early to meeting, and on this occasion I was leaving a bit late, but I was still on track to be early. At the time I was staying at the Kaufman lofts, and the exit I took to leave the building entered into a stairwell before leading to a back door. On this particular day, after I had entered the stairwell and was about to leave back door, I saw a sign on the exit door that said "Wet Paint". This is where the first audience laugh track plays. I opened the door and sure enough, the back steps were covered in wet paint. I thought that's not a big problem, I'll just go back up the stairs, exit onto another floor and leave the building that way. I ran up the stairs, and attempted to open the door to exit onto the first floor: It was locked. I probably made a face that looks somewhat like a frustrated George Costanza as the audience laugh track played a bit louder this time. There were 3 more floors to try the doors on, and I tried the next one, but it was locked too. I decided to just walk through the wet paint.
After conquering the first obstacle, I waited for the express bus. I waited past the time it was supposed to come, but it just never did. After a long time, a bus arrived that goes near my destination, but not directly to it. I decided to take the gamble of getting on this bus because at least this way I could walk up the street to the cafe after I got close enough and still be there on time. I got on and immediately afterward the express bus I was waiting on arrived at the stop behind me. Then about 50 feet down the road, the bus had to stop for a train crossing. The train slowed to a stop in the intersection, and eventually started backing up. I'm not sure what it was doing, but it must have taken at least 15 minutes before traffic was flowing again.
Eventually the train passes, and the bus gets to stop where I need to get off and walk up to the cafe. Except by this point, I need to run because I'm a few minutes away from being late. But wouldn't you know it, the street I needed to run up (right in front of Wilfrid Laurier University) was under massive construction. The sidewalk was completely tore up, there were huge pits dug in the road with workers down in them connecting pipes. I had to run through lose dirt jumping over construction materials and walking over people's lawns. I was going to make it to that meeting and nothing was going to stop me.
This was on a hot summer day, so by this point I was absolutely drenched with sweat and panting. I arrived about 3 minutes late. Probably the worst thing was the fact that my adrenaline was really pumping at this point and I don't remember how I introduced myself, but I recall having the feeling that I didn't make a great impression.
That was one deal that I didn't close.
In the last section, I had stated that I had $5,039.22 in the bank on the day of writing my last exam. After a few months of living expenses and some fairly small incorporation costs, I was down to around $2,500. This was also around the time when I decided to get an apartment, and I needed to put down first and last month's rent fairly soon.
In hindsight, I was naive to think I could just incorporate and start getting small contracts right away. Fortunately, that was what happened: I emailed everyone I knew, took every meeting that was offered to me, and left no rock unturned. The first lead I ended up closing was established via email referral from a friend in early August, 2014 and progressed to a signed contract on August 13, 2014. I started working on this contract on August 18, 2014 and sent my first invoice from a greyhound bus on my tethered Wind Mobile data connection the same day.
Since closing the first contract had been so easy, I assumed that they would all go as smoothly. This assumption was mainly incorrect, and after this first contract ended I came to be more aware of the fact that a software consulting company is more about sales and marketing than it is about writing software.
Looking back now at the list of sales leads I had made around this time, I had around 30 leads that I had entertained, and the majority of them ended up going nowhere. There are many different reasons that leads don't go anywhere, but here are a few:
In trying to get my second contract, I had just gone back to doing what I did to get get the first, but this time it wasn't working. You can only email all of your friends so many times in attempt to get new leads, so at this point I started doing research about this thing called 'marketing'. This puts us at about January/February 2015.
I decided to wander around the nearby industrial park and take pictures of all the local business signs and then go home and look them up later to scope out places that might want to hire a 'consultant' on a contract basis:
After I found businesses that I thought had a high likelihood of being interested, I made a 1 page (front and back) pitch trying to communicate what I had to offer. I had them printed in color and laminated with thick laminate in the hopes that it would make them stand out in a positive way. Looking at it now, it's kind of embarrassing how bad it looks, but since this story is about documenting what really happened, here it is:
In hindsight, one of the biggest mistakes I made was that this pitch looks too much like a resume. I believe I handed out about 30 of these, and never got a single email or phone call. I would usually just walk into the business and give the handout to whoever I met first (and provide some context on what I was looking for). I figured this might increase the chance that a random engineering manager would see it instead of having it just go to HR.
Another thing I tried was sending out mail with fliers. I spent a bit of time researching other local small businesses like marketing companies, other consultants, and various businesses that I though might have a need for someone technical to build something that presents dynamic data. I didn't expect this to have a high chance of success, but I figured I should try it anyway. Here is what I mailed out:
I mailed out 50 of these and was very targeted about where they went. This netted a total of 0 emails and 0 calls. To simply say that you mailed out '50 of something' doesn't quite capture how much work it actually is to mail out 50 of something. You have to collect the mailing addresses, buy stamps, put stamps on the letter, put the addresses on the letters, and put the material inside the letters etc. All of that takes at least a couple days, with the address collection part being the most time consuming step. Getting things printed in full bleed is another time and money consuming thing that you've probably never thought of before. It's not something you can do easily on your $30 inkjet printer.
Around this time I also decided to update my web page, and explore using Google Adwords to see if I could feasibly get business from online ads (I couldn't).
This is what my web site looked like on February 27, 2015.
It was around this period that I began thinking more about the future what my business would become. I had some long-term side-projects that I had thought would be cool to eventually turn into educational products. I had worked on them from time to time, but without the funding to pay attention to them full time, it was difficult to get them fully fleshed out. For now, I was just planning to work on them whenever I could and use the consulting contracts to keep me going.
Although I started out with the focus of 'analytics dashboards' I found that many people just wanted help with random software related problems. I decided to expand my idea of who my potential customer was and I started to investigate whether there was a market for small businesses who want web sites built.
I figured that since we're in the technology age, pretty much every business would need some sort of web presence now. For a while what I did was walk around anywhere there were a lot of small businesses, and simply google the business to see if they had a web page. If they didn't have a web page, I would walk in and ask if the owner was around and ask if they had ever considered getting a web site built for their business. When I first thought of this, it seemed like a great idea and a fairly efficient way to filter for prospective clients. In reality, it turned out that this wasn't the case.
It turns out that if a business doesn't have a web page in this day and age, they probably don't want one. I learned a lot in talking to these small business owners. Here are a number of anecdotes from people I spoke with:
For one business, I did as usual and walked in and asked them if they had a web page. I knew they didn't, but I was surprised when he said 'yes'. I asked him more about it, and it turns out that he thought that a Yelp review page was his web site. I encountered the same thing from a few other business who believed that their Facebook fan page was their web site (that one is more understandable, but still...).
I visited a store that sold flooring, and they had a web site that was engraved into their sign out front of the store. I checked it out, and it was broken at the time. I investigated why, and it turns out that their domain had expired 3 days before. I thought maybe if I walked in and explained to them what happened then this could form the basis of some working relationship with them that might lead to business. In reality they seemed very annoyed and didn't really understand what I was saying despite my best effort to communicate this in a helpful and positive way. Their perception of having a web site seem more like an unfortunate nuisance that they had to put up with than an actual interesting component of their business. Anything associated with that nuisance was just something that they had to reject and fight against.
I visited a comic book shop that didn't have a web site, and asked the lady working there if they had ever considered getting a web site. She said that this had been suggested to the owner before, but he did not want to do so on moral grounds. She said that he did want to support the system that would eventually put them out of business. She seemed to have a sense of certainty and resentment in her voice, as if it was unquestionable that they would eventually have to close because of competition with the internet.
I visited a few businesses with broken or non-existent web sites who claimed to have family members who were "experts at computers" who took care of the site for them. I didn't bother trying to reason with these people as I wouldn't expect them to give more credibility to a stranger off the street over someone who was a family member.
For a while during this experiment, I became interested in learning exactly how much work it would take to make a successful sale. Rather than focusing on making huge profit right off the bat, I figured it would be a good educational experience if I could just put a lot of work into getting some small business to have me build their site, and then I could perhaps make money off the hosting.
I visited a local pizza shop near where I lived. They didn't have a web page, and there was no way to find out their business hours online. I spent a while talking with the son of one of the owners and asked him lots of questions to get an idea about what their priorities were and what they might want in an ideal web site.
I considered doing some sort of model where I would simply build them a custom web site for free and include a couple on-site photos of the business, then make money on hosting for $9 a month (or something around there). I figured if it was easy to make that kind of sale, then there might be a business in hosting a few hundred sites like that.
After speaking with the son for a while (who was the only member of the business who was comfortable with English) I went home and made a prototype of a pizza shop web site. I customized it for the pizza shop in question, adding details like a map and address etc. I bought some nice image assets (below) to make it look fairly professional. Afterwards I went back to discuss this prototype with the son of the business owner and he suggested that having a web site had questionable value. He also suggested that it probably wouldn't be worth as much as $3.99 per month, but it might be worth $2.99 per month. After this discussion, I concluded that this idea of making web sites for small businesses was probably not worth pursuing.
Another reason that some businesses don't have web pages is that they don't want to attract new customers who find them on the internet. One business I visited sold parts for HVAC systems. They explained that they don't have a web site because if they did, clueless customers would come into their store trying to buy individual screws for $0.09, but also try to beat them down on the price. In their case, they were exclusively a B2B company who already had established long term customers, and any average consumer who came by to bother them would only drive negative value to their business.
Finally, I also met a few small businesses who simply said that they didn't want to grow their business. They said that they had enough customers, and didn't care to get more. Suddenly, I realized that not everyone dreams of world domination.
I started doing some blog posts around this time. One post I wrote titled Should I use Signed or Unsigned Ints? generated about 20,000 page views on hacker news and reddit. This wasn't expected as I had just written it thinking I might get some SEO benefit from it and possibly get leads from organic search traffic. Even though this traffic didn't directly result in any money or contracts, this was by far the most traction I had in generating interest of any kind. I also happen to like writing about technical topics, so I continued doing so and people seemed to continue to read what I wrote.
Above: My business page on September 19, 2015. Around this time I also realized I needed to improve my messaging. People have difficulty understanding what an 'analytics dashboard' is. The problem was that most business want to internally model some data (revenue, units sold, customers in a pipeline etc.), and what they want is effectively a 'dashboard'. The thing is, they don't verbalize it that way and will generally describe it in different terms that are esoteric to their business. I changed the pitch to say 'Analytics Integration Consultant', because that seemed like it would be a more accurate description of what I could do for businesses. I had also recently attended a talk by Mark Organ who talked about the value of 'category creation' in growing a brand. At this time the idea of a slightly unusual and unique title seemed like it might be a good idea.
This short digression is a bit off topic, but since I'm dictating my life chronologically, this is where it belongs. If you've ever been to the Conestoga Mall in Waterloo, you're probably aware that it's a fairly self-respecting mall and is otherwise quite clean. One exception to this was a stagnant pond of water that, for whatever reason, had been neglected for months in the middle of the mall in late 2015. This wasn't an out of the way, easy to forget place, it was right in the center under a skylight and at an intersection beside 4 expensive jewelry shops. Normally, there are water fountains that circulate water, but the fountains in this pond had been turned off for months. I don't know exactly how much time it was, but I seem to remember noticing that the water was starting to look icky months prior, and I would have to guess at least 3-4 months this water had been sitting there without moving. It wasn't just algae that was forming, it was starting to get a gooey film covering the top, complete with bubbles forming and the odd piece of small garbage.
I passed this body of water a few times and thought to myself "There must be a good reason why they wouldn't do something about this, otherwise I would assume that a staff member or customer would have complained about it.". One day, I decided to walk up to the mall customer service desk and politely let them know that they had a stagnant pond of water with algae and garbage in it in the middle of the mall. I said something to the effect of "Hi, you're probably already aware of this, but there is a stagnant pond of water in the middle of the mall. You might want to clean that up before a kid falls in there and gets Legionnaires' disease or something." Apparently, no one had ever mentioned this before to the mall staff, and she made a call to some plant ops people to let them know about it. Two days later I was in the mall again and the water was gone.
So the moral of the story is that sometimes problems just don't get fixed because tens of thousands of people walk by it and think "Oh, that's terrible, but someone else will do something about it.".
Another thing I tried for getting leads around this period, was going to local meetups. I had been doing this for a few months when I was about ready to believe that meetups were a waste of time, when I met someone from a local college that was looking for people to teach programming courses. This was something I had always wanted to try out, and since they were OK with doing the billing through my business, I agreed. This was in September 2015.
This provided me with some much needed revenue which I used to hire a graphic designer to help me come up with a logo and a new site design:
This is what my site looked like on February 29, 2016.
After teaching for a while I realized it was something that I enjoyed doing. I also realized that the technical writing I had been doing previously, as well as other contracts that I had worked on in the past had a common theme of being related to education in some way. Most of the successful contracts I had done under my business involved at least some amount of mentoring.
These thoughts lead me to focus a lot more of my free time on doing more technical writing, working on my C compiler and working on a educational product to teach programming. I actually stopped actively looking for consulting gigs at this point since it was my observation that engagements don't go well if I'm the one trying to push them along. The best type of lead is one where someone reaches out to you and the sale has already happened in the customer's mind before they even talk to you.
Being poor kind of sucks, but it's great to have freedom. I routinely look back at what I've been able to accomplish since I started pursing the idea of a business, and from a financial standpoint I haven't accomplished very much. On the other hand, I've learned a tremendous amount mainly just from meeting people and asking questions. Having the free time to wander around and talk to other businesses is extremely valuable and opens your eyes to the world in a way that you don't get working 9-5.
I ask myself if it would have been better to just get a job, even if for only a little while to save up and increase my runway. I'm somewhat divided on this. I think that if I had the extra money, I would probably have just burned through it quicker and made the same stupid business decisions, but with larger amounts of money. I think the key things you really need to start getting traction in your business are experience, a deep connection with your customer, and the right mindset. Money is something that can generate higher ROI for a business once it already has traction and growth, but putting good money into bad ideas that won't get traction is just going to prolong the process of failure.
You need to get out there and start talking to real people (customers) and learn about what the world is really like for them before you're going to have any chance. When you spend time working at another company, you've got lots of time to build up these bad ideas about how it will be when you start a business of your own. The longer you hold onto them, the more you'll think they are good. If you're siloed in one part of a large company, your experience will be based on an environment that's totally different from what you get when you start a business from scratch. If you're an engineer working at a big tech company, the value you create is riding on the success of the marketing department and the hard-to-establish brand of your company that's been built up over years. There's also sales people, HR, accountants etc. Don't forget about survivorship bias too.
Either way if you go to another company first, or don't, I think you need to go through a de-compression phase in starting your business where you get all the bad ideas and perceptions out of your system. You're probably going to make a lot of stupid mistakes, and you've just got to make them for yourself no matter how many books you read about how to avoid them (but you should still read those books). This probably comes from the fact that many of your big-picture decisions in life aren't driven by logic or facts, they are driven by your emotions. A writer can easily impart facts to a reader, but the same can't be said about communicating emotions and how they can colour your decisions.
In September 2016, I took some time to go back to my origins and visit my parents. While I was home I was able to focus 100% on finishing a product I had been thinking of that would provide feedback for people attempting to learn Linux commands. Here are a few pictures I took while I was home:
Above: The old decaying Norton recycling repo.
Downtown Norton, New Brunswick on a busy weekday.
The basement of this building used to be the Norton Sears outlet. Now it's just an apartment.
A walk through the forest.
Claw marks from a bear on a tree in our firewood pile.
My father inspecting the source of a coolant leak on his truck.
Eventually, I finished work on the MVP for my product that would help people learn Linux commands. I released it sometime in early October 2016. At this point, I decided to update the emphasis on my business page to be one related to programming education. I'm still open to consulting (for the right price), and I think it makes me a more appealing as a consultant to be actually building something rather than just being a 'consultant'.
Above is a picture of my site on February 19, 2017.
I haven't put a lot of effort into advertising this software for learning Linux and C programming yet. At this point I know that the ROI from advertising would be negative, so I have invested most of my effort in getting people to give me feedback on using the product so I can improve it. For this, I've started a meetup group and held about 5 meetups so far. The meetups have generated more interested than I anticipated, so I'll keep doing them and see where that leads. I've gotten the feeling that I should have been hosting a meetup all along as it seems like a great way to get consulting business, although I'm not as focused on that now. That brings me to where I am today, and the plan for the future is to just continue working on whatever gains the most attention and interest.
Someone in my meetup group just asked me when the next meetup is. That's a good sign.
Sign up for when I write part 3, if you're interested:
If you've found this story interesting, you might also want to check out So You Want To Start A Software Consulting Company? and Why VCs Don't Fund Consulting Companies.