
I’ve been 100% on The Agile League for about a month now, and I thought it might be useful to give a quick retrospective. Every day I learn something new, and here’s just a few of the lessons I’ve taken to heart.
Strength in Numbers
Being part of a team, even a small team, is incredibly powerful compared to working alone. Running a business involves a ton of small tasks that chip away at your time. Regardless of the size of your business, there are things that need to be done, such as:
- Designing and ordering business cards
- Setting up the website
- Setting up the bank account
- Doing the accounting
- Answering inquiry emails
- …and hundreds more…
With a team of 3, we can split these up and work in parallel. For example, designing and ordering three sets of business cards is only slightly harder than doing a single set. So while Melinda was designing the business cards, John was setting up the bank account, and I was talking to some potential clients.
The key is having great partners who you can trust to get things done. I know that if John or Melinda agrees to do something, it will be done at least as well as if I had done it myself. That makes life so much easier.
Writing Contracts is Awful
We have a standard contract, and as you might expect, it’s written from our perspective in some areas. Likewise, many clients have contracts of their own, or they wish to modify our contract in one way or another. This requires digging into the legalese and trying to come up with a wording where everyone wins. For me, this often takes hours and results in incredibly awkward wording. In one case, I even came up with a circular dependency, where section 5.a referenced 5.b which referenced 5.a again. Luckily, contracts aren’t code so I didn’t have to worry about the compiler complaining.
To make matters worse, once all is said and done, you never see the contract again unless something goes horribly wrong. To date, we’ve never had to pull a contract out and argue with a client over it. We spend hours going back and forth, splitting hairs over wording, and then the final result is a document that has little to no bearing on how the project is actually executed. As long as we do great work and the checks arrive on time, nobody even thinks about the contract.
I guess I can just hope that I continue to hate contract writing and never wind up in a situation where I say, “Wow, I’m sure glad we got that in writing!”
Comfort Discussing Money
Since the subject comes up so much, I’m getting more and more comfortable discussing money. In the beginning, I would avoid it for fear of scaring off a potential client. I quickly realized that I was just wasting their and my time. If they’re not willing to pay our rate, or their budget is too small, it’s best to know that up front. I’m happy to keep talking to someone even if they’ll never become a client, but at least at that point I can switch modes into friendly tech-talk rather than business development.
Cooperation is the Norm, not Competition
I’ve had the pleasure of meeting several other Rails consultants in the area, and they’re all very happy to meet me, and vice-versa. There’s very little sense of competition or gamesmanship. No threats of drinking each others’ milkshakes or anything like that. Instead, we pass potential leads to one another and generally behave like colleagues. This is probably due in part to the fact that the market is large enough that we don’t need to fight each other, but it’s also nice to know that most people are decent human beings at heart.
So Little Billable Time
It turns out that while I like programming, I also like some of the other aspects of running a business, like writing this blog post. Unfortunately, no one pays me to write blog posts, or present at Ruby meetups, or write nifty side projects. I’ve found it harder than I expected to balance the fuzzy “marketing” and “biz dev” pseudo-work with actual billable work. Some days I’m lucky to get a single billable hour in. I’m putting a lot of faith in the theory that the time I invest now with blogging, presenting, and other promotional work will pay off with more and bigger clients. At the very least, I’m enjoying myself.
This is only a small slice of what I’ve discovered, but this blog post is already too long, and I’m not getting paid for it. There’s still a little time left in the day and I need to get some billable hours in. I hope you enjoyed reading this, and if you need some awesome Rails work in the Atlanta area, send up a signal for The Agile League!