Managing Yourself

It can be pretty difficult staying on task when working for yourself. First of all, you know that no one is going to lecture you about taking time for personal things and the office mood is pretty laid back. It’s always been difficult for me to sit in front of a computer knowing I have work to do when computers also let you play games and waste your time. Sometimes I feel like I’m just not in the mood to program, and this can be a serious issue when I haven’t even started a project yet.

Staring at the glow of a screen thinking about a large project looming over me can be such a motivation-drainer that I end up not starting the projects for days. Falling behind causes a serious amount of issues which are decent motivators themselves. A delayed project means:

  • Customer does not see milestones when they were expecting. Small delays are never an issue because clients actually expect a few of them, but when there are either too many delays they begin to get nervous about what’s going on. My goal is to never miss a deadline, and it’s important enough to have it’s own question in my project evaluation.
  • Delaying anything doesn’t prevent me from doing work, so it’s best to just do it now and then move on. It’s really the same amount of energy, it just takes some additional get-going attitude now.
  • Late work means my earnings are off schedule and payments may not be coming in when I expected. This causes problems with earnings and income estimates. If I end up wasting time not doing any work, then I’ve lost money as well.
  • Delays cause chain-reactions that can only be reversed by burning the midnight oil. If I estimate seventy hours in December but I end up doing thirty of those hours in January, that’s a decent chunk out of available work time in January. Anything originally scheduled to begin would also be delayed, and we repeat the process over.

I’ve learned that I work best when I have things clearly organized and broken down. If I break down large projects into smaller chunks I find that the project is going to be easier to manage, and at the end I feel as if I’ve accomplished more. Here are some of the tricks I’ve used to manage my work time and motivate myself (most I’ve used for a long time but are more important now):

  • Organize. I purchased some standard charting tape and I’ve used it to create nine large boxes on a dry-erase board. Each project I’m currently working on gets it’s own box and I write down a list of my next tasks for each project. Every morning I highlight the tasks that I plan on completing by the end of the day with an orange marker. Once certain tasks are completed I erase them and write in the new ones. I keep a small section empty for quick notes. Having things written out in big letters and placed in a grid gives a very good visual idea of what work I have to do.
  • Give yourself enough work to last a few hours. Pick out some CDs or playlists that you can play straight through. They’ll act as a timer - once completed you can a fifteen minute break. Surf the internet, play a game, browse the iTunes music store etc. Do something fun so that you’re essentially rewarding yourself for doing that first chunk of work.
  • Have a lunch you can look forward to. A fresh, tasty lunch is a great way to break up your day. You’ll look forward to that meal all morning and knowing that you can have that once you’ve finished half of your list, you’ll work harder. You wouldn’t really be excited for a so-cold-its-hard-and-tasteless-sandwich-that-has-fused-together-ingredients now would you?

Starting a new programming project can sometimes be like an artist staring at a blank. If I haven’t really thought about how I should begin then it can be scary, and possibly can cause a delay. I need to force myself to sit down and think about how something needs to be done and how the specifics of any existing code/design will impact what I need to do. This is probably the most difficult part of most projects because I have no one to bounce ideas off of.

Sometime next year it may be necessary for me to a hire a junior developer, or at least sub-contract some work. Maybe then I’ll have someone to bounce ideas off of.

Personal Projects, 20% Time

Everyone who works online is typically aware of the famous “20% Rule” from Google. When I was working for TechTracker, Wells Fargo, etc, I was always jealous of the idea because I had so many ideas of my own yet no time to work on them. I still managed to throw together some of the ideas that would help me the most, and some have been fairly popular.

When I began running Botsko.net full-time I had to keep up some of those personal projects (Formsaver, Squibbles, etc). Now that I’m my own boss I figured it was time to work out a system similar to Google’s. Because these pet projects have the ability to either bring in revenue directly or by bringing my name to the attention of folks around the world, I figured it was important to give up some client-work time to ensure these projects continue.

While it’s taken a little while to get the corporate-trained instincts out of my system, I’ve really come to like the system. Google began using the system because they figured it would a) make employees happy by letting them work on their pet projects, b) stimulate employees to come up with their own ideas and solutions, and c) give folks a break from their actual work.

Working on Formsaver or Squibbles can be a nice break from client work and it gives me some time to focus on how I would solve a problem. I don’t need approval for it, I don’t need to worry about getting a lecture about using the company equipment for personal use.

A Common Sitemap

Google, Microsoft, and Yahoo have just announced that they will begin using a standard sitemap protocol. I’ve done a lot of work over the last two years designing various sitemaps, so now that I’ll be able to design one for everybody is a huge benefit to my clients. Not only are these three groups working together but they also decided to use the same standard - that’s a miracle.
Google’s Announcement

Microsoft’s Announcement

Yahoo’s Announcement

Luckily, the format they’ve decided on was previously Google’s, so adapting existing sitemaps to this new protocol will be painless. I’ll be updating my own sitemaps sometime soon - Botsko.net, MySquibbles, etc.

If you’re interested in creating or upgrading your sitemap, please feel free to contact me.

Users of the SCPM3 system will automatically receive a new sitemap generator in the next update.

Yay!

Attracting Traffic With Simple Preparation

In the beginning of October, Squibbles was officially one month old. While it’s been difficult attracting the target audience it’s intended for (because they’re parents, not all-day internet users) I knew that an upcoming holiday would mean a lot of those people would be searching the internet for something I could grab a share of.

In the first week or so of October I collected a decent list of Halloween links including links to games, puzzles, recipes, and the obligatory pumpkin carving templates. It quickly entered the Google indexes because every few days the search giant checks out the site map file. A sitemap file is a specially-formatted file that tells a search engine which pages I would like it to index. Obviously, it takes me seriously as every single Squibbles page is now indexed. Squibbles was designed with SEO in mind. The URLs are very clean, the page titles are very unique and descriptive, and for the most part the site has valid xhtml.

On October 23 I saw an excellent increase in the amount of visitors, and I started getting several new user registrations (now the website is still an infant so these numbers are not mind-blowing in anyway, but they hint at what’s to come). I checked out my stats and sure enough Google had become my top referrer. My Halloween feature list was an experiment and it was very short, yet it was already bringing a lot more traffic through than I had anticipated.

This Halloween page was only two weeks old, yet Squibbles was already placing on the first and second pages for searches like “halloween puzzles and quizzes” and “printable pumpkin templates” respectively.

Lessons

The primary lesson is that if you do things the right way, things pay off. I’ve seen the success that a very small feature can bring when I anticipate which searches my target audience will be doing, and then tailor my content to meet those needs. I have an array of holidays coming up that will help me refine this technique. I will make sure I provide a wider selection of links, and I will continue to ensure that my titles are clear, my content is valid, and my site map file is complete.

Organizing Yourself and Your Business

It’s been quite an adjustment for me going from a full-time job with my web business on the side to a full-time job that is my web business. Few of the tools I used could handle such a work load, and it was less than a week before it became clear to me just how behind I was. When you’ve been running a side business for several years you can get by with an excel-based invoice, a single computer, and a single place to keep the relatively small amount of files.

The lack of structure, organization, and separation essentially hit me over the head. I figured I would document what I’ve managed to figure out thus far, who knows, maybe it will be helpful to someone else.

Organization

Four weeks of doing this full-time has tripled the number of clients, projects, emails, and phone calls I need to work with everyday. Clearly it was too much information to remember alone, so I’ve enlisted the help of several tools to assist me.

  • Gmail -I’ve been using it for a few years as my primary email, but I’m surprised at how easy email management is whether I have ten emails a day or a hundred. It’s spam filter works very well for me, and honestly Gmail is the most amazing email “client” I’ve ever used. I really enjoy the Google Maps feature - when clients send addresses to me I can simply click on a link to google maps, as Gmail scanned the email and found the address. However, I’ll soon need to begin downloading copies of everything, just in case.!
  • Google Calendar - An excellent application that does what I need it to.
  • Backpack - I’m still only using the free service, but I may soon need to upgrade. It really helps me keep a to-do list and notes, and having separate pages is nice. I currently don’t use the files feature as much as I like. Most of my files are emailed to me from clients, so Gmail has become the storage area for those (besides my local archives).
  • RapidFax - My fax machine was destroyed a few years back when a heatwave melted the toner to the gears inside. I wanted to avoid paper piles and I didn’t need a second phone line, so I went with RapidFax. For $9.95 per month you can send faxes from tons of popular file formats, and receive faxes to your email in PDF format. Very cool!
  • Wufoo - I’ve created a basic project evaluation for clients to fill out so that I can keep a close eye on my performance. As with backpack I’m still using the free service, but it works for now. In the future, I’ll write my own evaluation tool but I just don’t have time now.
  • KeepPass - I’ve used this to securely store my passwords for about two years now, but it’s even more important because I get all kinds of ftp, mysql, ssh passwords on a daily basis. It’s a small application that’s excellent at storing the information securely.
  • A plain old dry-erase board - I’m a kind of person who needs to write things out in a very temporary place. I use a 6×4′ dry-erase board to take meeting notes, draw lists of tasks remaining for the next day, etc. Writing a task down actually takes half the amount of work necessary to manage them in any online tool.

For some of you wondering - yes, I still do use my notepad generator.

In years past I simply managed my client work from Excel estimates and invoices, and I kept a basic record of everything in an embarrassingly ugly and poorly-written tool called Mango. I developed Mango as a very basic tool to help me keep track of clients, estimates, and invoices. Unfortunately, it’s still the only tool that handles what I want. My dream application would be one that handles:

  • Lead contact info.
  • Client contact info.
  • Tracks estimates and produces estimate documents based on a template I can fully customize. Associates an estimate with a lead/client.
  • Tracks projects and allows me to enter time spent and amount charged. It needs to be very flexible, not based on exact time-tracking or set-amounts.
  • Tracks invoices, and produces invoice document based on a template.
  • Tracks payment information, associates with project.
  • Reports on earnings per year, project stats, lead stats, estimate stats, and client stats.

I’ve tried several applications so far but nothing seems capable of what I want. There are several applications that do one of the three major sections - contact management, project management, and billing. I’m already using three different methods, so I don’t think I should take the time to move over to three separate applications, although I may need to. If anyone knows of a tool I should try, please let me know. Eventually, I’ll end up writing my own (again).

Legal

I’ve been doing a lot of reading lately about the legal aspects of running your own business. I revamped my project contract to be a bit clearer than before - I had never really needed it before so it was never an issue until now. I did a lot of research and even wrote a blog post that’s been sitting in my draft folder for several months. Maybe I’ll finish it and post it soon, now that it’s fairly complete. It was really important for me to define project scope, timeframes, client requirements, payment terms, etc. Several of the resources I list at the end of his post were helpful in writing up a contract.

It’s also going to be necessary to be sure my business follows the laws of my state (Oregon) and is properly recognized as a business. While I still have some investigation work to do, I think it’s best for Botsko.net to become an LLC. To put it simply, that’s the best type for people in this position, and from my work with Wells Fargo I’ve realized it’s the best for where I am right now. Plus, many of the clients I work with are also LLCs.

To file here in Oregon it’s going to be around $350-400 depending on which law firm I go with (Oregon filing fees included).

Someday I’ll need to get an employer ID number from the IRS because there may come a time when I need to hire someone to handle the marketing/administration aspects, however that’s quite a a ways down the road so it is not a priority right now.

Accounting

For the rest of 2006 I’m just going to handle it myself, but after that I’m going to get an accountant. I’ve realized that a lot of the things I pay for will now be deductible - trade magazines, books, supplies, machines, services, even the hosting costs for Squibbles and botsko.net.

It’s even more important to be sure I have a way of keeping accurate records for tax purposes, whether I have an accountant or not.

Systems

Now that I have a lot more data to store and protect, I have had to reorganize my folder structures. I keep a separate drive on my main machine with a folder called “botskonet”. Inside I’ve broken things out a bit. The important folder inside botskonet is called “Clients”. The client folder hierarchy is:

/botskonet/Clients/Client_Name/[Optional_SubClient_Name]/Project_Name

This system will help keep things organized even when I have thousands of folders in there, it will still be easy to find things. I took the same idea and applied to a new CVS repository (I know, I know, subversion is better). So my CVS repository for client stuff is essentially the same thing:

cvsroot/Clients/Client_Name/[Optional_SubClient_Name]/Project_Name

I suppose I would also like an application that could link up with CVS/Subversion and the filesystem, but now I’m just dreaming! The files are protected from any outside access and they’re all password-protected.

I still use Bugzilla for both internal software projects and client work that has reached a fairly mature stage. I’ve outlined some basic guidelines for myself that I’m still doing well with.

Resources

Here are my favorite resources that I’ve come across in the last month of research. I hope you’ll find them as informative as I did.

I found myself at this article by ParticleTree almost everyday.

Here are some others:

http://www.gyford.com/phil/writing/2006/10/26/a_beginners_guid.php
http://www.unixwiz.net/techtips/be-consultant.html
http://www.garrettdimon.com/archives/steps-to-becoming-a-freelance-web-developer
http://www.cameronmoll.com/archives/000643.html
http://37signals.com/svn/archives2/small_biz_101_how_to_get_started.php
http://www.sitepoint.com/blogs/category/selling-web-design-services/ (the latest entry has little to do with the topic, but the others are interesting!)
http://www.sitepoint.com/print/fire-your-boss-home-freelance
http://megillustrations.typepad.com/beetlegrass/2006/08/anniversary.html

Thanks everyone for reading! I am really looking to hear from you all. Until I feel it necessary to enable comments again (darn spam!) please send an email to botsko@gmail.com.