You're working all by yourself; with a team? How do you make sure that what you're doing is any good? And how do you make sure that what you do is well perceived by your colleagues and clients?

Those are not trivial questions. The answers will most likely depend on your working environment and your personality. But, there actually are tools that you can use to have an approximate qualitative measure of your work. You should be aiming at getting both client feedback and self-evaluation of your own (and/or your team's) work.

The self evaluation part is about asking yourself questions like: "Do I do X that is a good practice?"; "If I'm asked to, can I show my boss/client concrete evidence of something that got better?"; "Are the servers that I administer working without fault and holding up the load?"

Tom Limoncelli recently put together such a list of quick questions aimed at self-evaluation for system administrators. I think the approach is interesting since you have to answer to 32 questions, but they're all relatively quick to answer (with yes or no). This gives you the possibility of evaluating your work frequently, and thus keeping track of whether or not you're getting better at what you do (or if they're all answered YES already, if you're it keeping up).

This list can be expanded to suit your needs. Here are some additions that I would make for freelance sysadmins:

  • Are you billing your clients regularly and on time?
  • Have you refused a proposition that could have been realized by delegating to other people?
  • Do you have fresh documentation about each of your work relations (e.g. clients, other freelancers with whom you can exchange services, prospects)?
  • Did you attend at least one event that can help you meet both clients and fellow sysadmins?
  • Did you take the time to learn how to use new technologies?

Here's why I think they're relevant.

Are you billing your clients regularly and on time?

You are a freelace worker, so you're kind of like direction, finance and technical all by yourself. Billing regularly gives the impression that you're on top of your things, and that your considering what you do to be serious. Not billing on time or regularly gives the opposite impressions. So even if right now you don't have money issues, you should be doing and sending your bills.

Have you refused a proposition that could have been realized by delegating to other people?

This might seem a little weird for someone starting out as a freelance, but your clients usually hire you because you're "the expert in this technology" (meaning that you should be able to do anything, right?). Clients will accept that you can't do everything that they ask you to (you're a human after all and you're a specialist in a really vast field), but not handling their request actually gives them a moment of insecurity, since they'll have to find yet another specialist.

So, whenever you can't fulfill a request but have an acquaintance that could do it, you should be saying something like "I can't do it for xyz reason ... but I know this person who's quite good with this, so I could verify with this person if it's possible for him/her to help out." The relief of not having to search for a competent person is interesting to them: they already know that you do nice things, so if you recommend that other person, it's probably not a bozo who's going to say that he knows what to do, but have no results after a month. Making your clients feel secure makes them come back towards you for other contracts.

Do you have fresh documentation about each of your work relations (e.g. clients, other freelancers with whom you can exchange services, prospects)?

So, you're going to recommend someone to a client to do something that you can't .. how do you find this person? With your memory? If so, you're limiting the list of such contacts to a very small number, since the memory is pretty inefficient at remembering a lot of small details. Note it down and then your memory can think about more important things (like 'I wonder what's on for dinner tonight').

The same goes with clients and prospects. It's easier to keep working with the same clients than to always be searching for new ones. Do you remember their contact names, e-mail addresses, phone numbers, language of preference for communication? If you document all that, you'll be able to have access to this info for a lot of people.

Did you attend at least one event that can help you meet both clients and fellow sysadmins?

This one is the somewhat like the continuation of the second question. How do you meet with those other experts? Do you meet them frequently and exchange ideas and contract leads? The question may sound like it's not really evaluating your work directly, but in reality, networking is the core of a freelance worker's business. You shouldn't shy away in your current contracts. Some time in the near-to-medium future, you'll need to search for new contracts and having a team of people that you know and exchange work with will ensure that you don't have to start at square one again.

Did you take the time to learn how to use new technologies?

This question should be obvious: in the computer science business, there's always something new. Some of those new things might help you in getting things done better, faster, or easier. So you should reserve some time on your schedule to learn something new either from articles found through Google, or from books, formations, or conferences.