You should probably be warned ahead of time that this post is devoid of any technical content. I want to try and share my experiences getting my startup off the ground on a fairly regular basis and this post is the first entry towards that goal. I hope that people will get something useful out of me sharing this experience, and I hope that if you have questions you’ll ask them in the comments or shout at me on Twitter.
As you probably already know, I started working for myself last week. It didn’t really feel all that different, especially since I am still spending half of my time working at the same contract I was before I started this adventure. That is great though, as I love the client that I am currently working with. For the current time frame I am alternating between working 2 and 3 days per week on my own project, while working 2 or 3 days with my client.
Last week I started out with a three day week working on my own stuff. It was nice because I had a bit of a list of things I needed to get done. Some technical, some business related.
On the business side I wanted to get Quickbooks setup, and I also wanted to find an accountant. Getting things straight on the business side of things was a top priority on my list, since otherwise I wouldn’t be able to sleep well at night. I tend to worry about those sorts of things. Having an accountant that I can go to and ask questions, and who can look over what I am doing with my financials is extremely important to me.
From a technical standpoint, I also had a few goals. My main goal was to become more organized. I had already been working for a little bit on my project, but I hadn’t really accomplished anything. I had mostly been doing a little proof of concept here, writing some test code there, but nothing that I could really use. And that is probably a good thing since most of it wasn’t written with any organization or testing in mind.
My goals were as follows:
- Figure out what I could cobble together of the work I had already done – That ended up being basically nothing. I ended up rewriting all of it, and it is now considerably better and pretty well tested.
- Figure out what I actually had to do – It is important to start cataloging all of the items that need to get done. My list is a bit daunting. It is still early though, and I have a good ways to go.
- Get my source into some hosted source control – I hadn’t yet put any of my source into source control, and I knew that I needed to get that done right away. Since I like Github so much, and I work with it regularly, I got a paid Github account. I ended up getting a regular account, and not an organization, because I don’t feel like the added benefits would get me anything right now.
- Get a build running – I wanted to get an automated build going, especially because I now have some integration tests which need setup. Automating these tests needed some code around it. I decided to use Ruby, Rake, and Albacore in order to automate my .NET builds. If you’d like to see how to get this done, go check it out here. When I implemented it, I opted to just use MRI (normal C Ruby) instead of IronRuby. It all works pretty much the same though.
Overall my first week was great, I felt like I got quite a bit accomplished and I am already getting a bit impatient with finding more time for work. I am losing some of my evening hours since I am also trying to get a presentation done that I am going to be giving at local .NET user groups in a few weeks, so hopefully I can get that knocked out quickly. I’ll be putting up a post about that soon. Once that is done I’ll probably start working on an upcoming TekPub series that I will be releasing. Be on the lookout for that in the next few months!