I've been getting a lot of requests to write about this, so here goes.
Keep in mind, there are many ways to start and run a business-- it depends on where you live, what you're building, what industry you're in, and much more!
I'm only discussing how we built up Binomial so far at a high level. Note the "so far," as well! This is definitely not perfect and we're always thinking of how to be better. Hopefully you'll be able to take something helpful from our experiences.
My contract at my last company ended in December, and I found myself thinking, "What's next?" For many, many years I had been burning myself out. At times in those years, I'd also experienced some terrible things in the tech and games industries and every company I was looking at for full time work I feared would bring more of those terrible experiences and more burning out. Friends in similar situations seemed to just confirm my fears. I was seriously considering leaving tech and games altogether.
I was extremely fortunate to have savings. I was able to take over a month off. I didn't know what I'd do next, but I knew I wanted to live a better life than I had been living. One less consumed by work, for one. I thought freelancing could help. Rich and I met over working on the same code area at a prior company and both being similarly critical of culture in the game industry, and were good friends. I marched forward doing the business alone for a couple months, but we talked about topics surrounding it constantly. When it was clear it'd succeed, he left his company to join in. And that was the motivation behind starting a consulting firm together.
As time went on, we realized that part-time contracts are good. But our goal is to be as free and happy as possible, while helping others as much as we can. A product seemed to be a better path toward this goal-- we already thought of an idea for one that could make us more profit than our contracts had been. That was the motivation behind creating a product for the business.
Business Structure, Lawyers, Accounting
Right now we're an LLC, elected S-Corp status with the IRS.
LLC's are very easy to set up-- we just filled out a form on nolo.com and paid a fee and it was done! To be elected as an S-Corp with the IRS, we just filled out a few extra forms and sent them in!
We didn't do all this immediately. We started as two independent contractors who just happened to be working together, no special business paperwork. Then we formed the LLC with nolo, then sought out the advice of fellow freelancers and an accountant and lawyer. We wanted to be sure we did things properly-- now the lawyer is rewriting our LLC operating agreement to be more solid, for instance.
S-Corp status allows us to save on taxes a bit. We pay ourselves a salary, and all other profits stay in the business bank account. We can take dividends from that account (extra money for us), or use it for company purchases. Our salaries are taxed as you're used to, and the funds that the business holds are taxed less (no social security or medicare taxes, for instance).
Having an accountant isn't necessary-- we didn't have one for quite a while-- but is very helpful once you can afford it, especially with this setup. He was able to give us a lot of advice on business tax law and what we were allowed to do, will handle our taxes, and also gave us pointers toward aspects of running the business like setting up payroll.
Our lawyer can also help us with tasks like drafting a solid contract. It's not needed, but helpful and allows us to both breathe easier and have more control (for instance, language that assures we own the rights to code). We also have an Intellectual Property lawyer that helps with tasks like product business, patents, and trademarks.
A part of our motivation is helping people, and we've really enjoyed helping junior coders break into the industry, especially people from underrepresented groups in tech. We've had one junior coder contract so far.
That was a pretty smooth process. I just posted on Twitter that we were looking to hire a junior coder, and got lots of great replies! There were many replies, but nothing overwhelming or too hard to handle. I was surprised by the amount of extremely qualified and prestigious people who had answered our junior programmer ad, just because they were sick of the game industry too and we seemed to have values that aligned with theirs. A sign we are doing something right!
I just had people DM me on Twitter, and I made sure to take the time to respond to everyone and met with everyone in Seattle. It was so extremely rewarding to do this, and from this effort we actually started a freelancer group in Seattle. It was partially to keep in touch with all the amazing people we had met through finding a junior programmer!
The contract was short-term, about a month, and ten hours a week. At the time we didn't have a lawyer, so we drafted a contract ourselves from a template we found online. Definitely doing this again (but in a more proper way now that we're more established :) ) as much as possible.
I handle most of the business work. I love talking with people and I'm a naturally very social person, so it works out well.
I also have a passionate opinion on how I want business to work at our company. I believe strongly in "Give back before you take." So for the first two months, I didn't focus directly on finding work, I focused on connecting with people. I spent so much more time helping others out-- helping them find work, helping introduce them to others, helping them with code or career advice-- than I ever did asking for help. Often, I'd just take time to explain what I was doing with the business and my motivation and that I was looking for work.
I also posted to Twitter pretty actively, started blogging more, built a website (I use Squarespace), and occasionally would post that I was looking for work.
For the first month, I didn't get a lot of leads. I kept talking to lots of people. Then some sort of critical mass happened, and I was soon almost overwhelmed with work, and we have been since.
In that first month, I kept telling myself "All I need is one client." I know many freelancers who just stick with one good client for years. If I could just find one person willing to do that, in the masses of people I talked with, I'd be fine. That seemed acheivable, and gave me hope.
For pricing, that's evolved as time goes on, but I don't think I can explain pricing reasoning better than this article, and this is partially what we use: http://andyadams.org/you-can-charge-more/ . The only thing that bothers me about this is that sometimes you make a product for a client that is clearly worth more than anyone charges per hour. That's part of why we're building a product-- so we can own our work and get a fair cut.
We considered getting investors, especially once we launched our product, but decided that part-time contract work pays well enough, and allows us the total freedom and creative control we like in product development.
Growth, Business Partners
Being in business the way we work benefits greatly from us being good friends-- we build consensus on nearly every decision, which can be hard sometimes! Another part of why we're doing this together is that we both have similar goals in life in relation to work-- we want to need to work as little as possible and be as free as possible in the long run, while helping people.
For now, we're staying a two-person company that occasionally helps people out by giving them contracts. This is an extremely purposeful decision. We want to help others by empowering them to start similar ventures or to find good companies, and we want to stay independent and flexible.
Giving back to the community is important.
We've hosted various free community workshops. We donate to causes we feel are important. I host an open event for Seattle freelancers, so we can all help each other out more. I attend pretty much every event I can to get to know the community. I spend a lot of time talking to and mentoring people who reach out to me looking for advice or who I meet, which I find very rewarding.
We try to interlace community building into everything we do and how we operate-- into the way we find contracts (Who are we working with? What kind of culture are we fostering in the way we do business? Are we treating people well?), hire help (Who are we hiring? A job can change someone's life-- are we using this opportunity to its maximum benefit? Who isn't the tech industry hiring, and how can we use our freedom in hiring to improve that?), how we work and what we work on (Open source/closed source? How is our technology impacting the world?).
We're purposefully focusing on Seattle, technology, and helping those from underrepresented groups and poor backgrounds get into technology.
I always think: How would I behave if I didn't need money? I want to be as unselfish and genuine and giving as I can be.
And I feel that isn't opposed to the way we can operate our business and exist within this system.
As I said, we're always looking to be better. But there's value in sharing what we've done so far and how life is like, and I hope it benefits someone.