Subj : Beginning Contracting To : comp.programming From : kylben Date : Mon Jul 04 2005 12:08 pm Hi sll, I've been employed as a programmer for about 4 years, and am considering trying my hand at contracting for the first time, and I'm looking for some pointers on getting started. I've had an offer from a company I met at a conference to do a short-term contract, and if it works out, to be hired on full time to work from my home. While this is not srictly a contracting gig, it does have some things in common since I'll b working from home. And if it does not work out, it may be a way to get my toe in the water for full-time contracting work. I have questions right now mostly about how to prepare for doing such work, rather than on how to get contracts. First in the working environment. My home is fairly active, as my partner runs a small business there, with one part-time employee. So it will be busy and noisy. We'll be setting aside part of one bedroom that is currently used as storage for my office, but what other considerations are there? Obviously, some rules about interruptions and distractions will have to be worked out. But are there other things I can do to make a better work environment? This leads to work habits. I know how easy and tempting it is to give in to distractions and taking time away from work, and I'll have to watch for that. But what other advice do any of you have for good working habits in the home? Another issue is business management. I'm guessing offhand that it will take 5-10 hours per week just to manage the business of contracting. What kinds of things should I look for from the perpective of business management? Then there is edcuation and maintenace of skills. I'm mostly self taught, and though I've been very successful at my programming jobs, in a variety of langauges, etc, my skills are only partly broad, and not very deep. Aside from the issue of getting contracts in the first place, I assume I'll need to get up to speed quickly on new technologies when a contract demands something I am not as familiar with. I also assume that even for those areas I know well, I will have to increase the depth of my knowledge quickly. I obviously won't take any contract I don't think I can handle, but I know I will have to push myself on some of them to meet the clients' expectaions. I'm guessing that another 5-10 hours a week will have to be devoted to research and skills maintenance, more at the beginning of a contract, less as the project progresses. Tools are another issue. Obviously, I'm expected to have the tools I need, and can't charge the client for them. That's no problem, and I know the basic tools I need for the programming I've done so far (C++/Win32 and VB.NET), but do any of you have a list of some necessary tools I might not have thought of, or might take for granted coming from an employment stuation? I'm getting better at estimating projects, but it's still an iffy proposition for me, and my impression is that very few people, if any, are truly expert at it. In a contracting situation, it is vitally important to have a reasonable estimate. I love the XP approach for how it handles requirements and estimating, but I don't think that is possible in a single-programmer environment. How do other contractors handle this? Finally, there is what to charge. I know the rate for contracting would be much higher hourly than the rate for employment programming, because of the inconsistency of the work, the need to purchase tools and manuals, etc, and the time for manging the business and skills maintenance that can't be charged to the client. What kind of rates are typical? Do any of you have any ideas for traking billable time? What hours are and are not billable? How do clients expect this to be documented? Thanks for reading this far, I know it's long. I'd appreciate any advice anyone can offer. Parts of it might be moot if I get the full-time at-home job, but some of it will still apply, and I suspect I'll want to do the contracting thing at some point sooner or later. --Kyle Bennett .