Ways I Embrace My Audience

This is #2 on Chris Brogan’s list of 100 Blog Topics I Hope YOU Write

At my daytime employment, my audience is not clearly defined. I report to 3 team leaders, 2 managers, and have a dozen coworkers with whom I interact on a daily basis. When dealing with these people, despite constant attempts to reduce this, every interaction is political in some way. What you say, and to whom you say it, always has an effect. This translates into you filtering everything you might consider saying, thinking, how can this possibly come back to haunt me?

At home, however, the interactions with my private clients is very different. I am, of course, striving to impress my clients with the quality of my work, my ability to meet and exceed expectations, and to complete all my projects within the provided budget. This, of course, is to benefit me more than them, as by doing all these things, I increase the likelihood that they will come back to me with more work, and refer me to others.

However, I try to take this one step further, which will increase the benefits just mentioned, but provide extra benefits to the client. When I am asked to work on a contract for a client, I try to understand my client’s business, and to determine the true nature of the problem I have been asked to solve. While the work I do may not change as a result of this, when I talk to the client, I can understand their point of view. I have managed to gain insight into their business, and to understand what it is that they do.

This sounds pretty basic, but not everyone does it. My clients like me not only because of the tangible work I do for them, but also because when they talk to me, they feel like they are talking to someone who understands what it is they do. This increases their confidence that I will produce a solution that meets their needs, and won’t waste time and money creating a solution that creates as many problems as it solves.

How I use Facebook

This is #1 on Chris Brogan’s list 100 Blog Topics I Hope YOU Write. I got this idea from Jeremy Lichtman to see how many of these topics I can write about, and how quickly.

I have been using Facebook for a while now, and my use of it has reached a point where I constantly consider deleting my account. I opened my account with the goal of connecting with friends, and having an easy way to keep in touch with those I do not see on a regular basis. In actuality, my use of Facebook has strayed far from that path.

I just checked my account, and I have 209 “friends”. Of these, some are family (12 friends), some are coworkers or ex-coworkers (14 friends) and the rest fall into the category of friends (283 friends). That’s a lot of friends. Some of them are people whom I would not consider friends, but I do know, and when asked to connect with them, I simply clicked ok. I suspect that if I were to disconnect from those 283 “friends”, 50% of them would never notice (note that Facebook does not tell you when someone deletes a friend).

I have found that beyond telling me when a friend’s birthday is, and collating contact information for a lot of people, Facebook is more about disconnecting people from each other than connecting them.

In the past (i.e. pre-Facebook), if I wanted to ask a friend a question, I would either send them an e-mail, or pick up a phone and call them. Now, with Facebook, I simply go onto their Facebook page, and either send them a private message or put a post on their wall and wait for a response. It sounds like Facebook is making it easier to connect with other people, right?

Wrong. I’ve found that response time through Facebook is much slower than e-mail or calling their phone and leaving a message. Most people, when they get a message left on their phone, will return the call. An e-mail sent to their personal address is likely to get a reply. A message left on Facebook is ignored. As well, I have found that people use Facebook as a way of distancing themselves from bad news, and don’t think twice about using it to send a message they would be reluctant to deliver in person.

While I know more about past and current associates because of Facebook, I don’t feel more connected to them because of it. As of today, I am resolving to change my use of Facebook as follows:

  1. If you want to reach me, don’t use Facebook. Call me. Send me an e-mail. If you don’t have my contact information, use the old-fashioned phonebook.
  2. If you want to send me a political message, don’t bother. You are either preaching to the converted, or preaching to someone who can argue with you until you’re not sure which side of the argument you were presenting.
  3. If you want to add me as a friend on Facebook and want me to accept, ensure that I know who you are, and I will have a reason to connect with you. If I were to send you a message, would you be likely to answer? If the answer is no, or if I think the answer is going to be no, I’m not going to add you.


In the start of a new professional endeavour, one of the critical components is networking. Of course, you have to have an idea, a plan, a goal, as well as a method for achieving those goals. But one of the primary means of reaching a professional objective is networking.

It’s not what you know, it’s who you know.

This statement holds more true today than a year ago. As companies move into recession mode, cutbacks are becoming more frequent, and more attention is being paid to the bottom line. As Jeremy Lichtman points out in his blog, it is perhaps because of the economic downturn that companies are discovering more cases of corporate fraud, some of which has been going on for many years. The unemployment rate is on the rise, and it is now, more than ever, that your connections will become more important.

So this becomes an addendum to my previous post about goals. An additional aim for 2009 is to reconnect with past associates and find out what they are doing, as well as inform them of what I am doing, from a professional point of view. As well, I will make networking a priority, to find new people who may be able to forward work to me, and to find people who may be able to do work that I come across.

2009 Goals

A regular reader of Joel Spolsky’s blog, Joel on Software, I was reading about his company’s goals for 2009 (Goals). Some of the goals are specific (e.g. his first point, Ship FogBugz 7.0 for all platforms), while others are much more general (e.g. Build a kick-ass new product from the ground up with the summer interns, and get the first dollar of customer revenue before they go back to school). I thought I would put together a list of some of my goals, from a professional standpoint, for 2009.

  • Complete all outstanding contracts and move into the maintenance stage of the software lifecycle with them
  • Pick up one new contract per month which can be completed in about that amount of time and then turned into a maintenance contract
  • Take a few courses that would expose me to new technologies
  • Continue to learn C# and become familiar with the .NET framework to a level where I would be considered “competent”

Of course, there are likely other objectives which may be reached during the climb to these goals. I will continue to update this list, or, more likely, post a new list, in about 6 months, when my efforts during the first half of the year can be quantified, and my goals for the second half of the year refined.

Peer Review at Home

The benefits of peer review are well known, and this has led me into a difficult situation. As an employee for a large organization, doing peer reviews is a normal part of the job, and it is fairly easy to locate a willing coworker to do a peer review. Process exists for this, documentation is standardized, and the benefits are reaped.

Working at home, however, presents some problems. For one, finding someone to execute a peer review is difficult, since there is no one else around who understands the concepts to be reviewed. Additionally, without creating an organizational structure to the contracts accepted, it is easy to fall into the trap of bypassing the process when inconvenient. The benefits, too, are more difficult to realize, since there is only one level of testing before the program reaches the client. While this means the benefits are greater (the peer review will reduce the number of bugs to reach the client), since the person performing the review is unfamiliar with the work, they are unlikely to detect as many potential bugs as someone who is familiar with the code.

I would be interested to know if anyone has found a good solution to this. How do you find someone to do a code review on custom code you wrote on your own? How do you ensure that you do not bypass your own process, beyond a measure of personal discipline?

Working at home

I recently took on a few contracts which I work on at home. With a wife and baby in a two-bedroom apartment, this turned out to not be a very good idea, but was, in fact, the best of the alternatives. Through my ISP, I do have internet access at one of the local coffee chains, which means I could choose to work away from home for the cost of an occassional cup of coffee. As well, there would likely be fewer distractions at the coffee shop then there would be at home.

However, I chose to work at home for a few reasons. For one, considering that I work full-time during the day, this means I have little time to spend with my daughter, and working at home allows me to interact with her as much as possible. As well, my schedule does not get tied to the coffee shop’s hours, which can be problematic when you need to work until 3AM for several consecutive nights. This also, of course, saved me the few dollars for the occasional cup of coffee.

However, my fears of distraction at home proved to be accurate. When my daughter was awake, I was unlikely to be able to spend more than about 30 minutes working at a time. As well, since I was at home, my wife could, although she did avoid doing this as I got closer to the various deadlines, call me away from my work to help her. Because the size of the apartment is not large, I was unable to seclude myself somewhere to avoid these distractions.

On the next contracts I accept, however, I think my approach to work would remain unchanged. Working at home to spend time with the family is important to me. Although I don’t consider the time spent working to be quality family time, I was around the family, and I believe it is the constant presence that prevents the father from becoming a stranger to his own children. This is something I would like to avoid. Were I to come home for dinner, then leave to spend several hours at the coffee shop working, return to sleep, and then leave first thing in the morning, I am sure that within a very short time my daughter would treat me as a stranger, and my wife would certainly be unhappy about my commitments to the family.

The occasional contracts are important for the extra cash flow they provide, as well as opportunity to network and learn new technologies in a less structured environment than at a full-time salaried job. For these reasons I will continue to accept contracts on a regular basis. However, to remain available to the family, I have and will continue to be selective about the contracts that I accept. I have outlined my general personal requirements for contracts that I would be willing to accept below.

  • Contracts requiring a regular weekly commitment exceeding 15 hours are unlikely to be accepted, although I have made the occassional exception. My daily schedule, once worked out in detail, leaves me with less than 30 hours per week, not including recreation time. If I spend more than half of that working, I suspect I will burn out. The upside of this is that if I do choose to take a contract, I am already sure I can and will commit the time needed to complete the work.
  • Contracts which include long-term maintenance are going to be avoided. While I do stand behind my own work, and will fix bugs in any code I write, my goal is not the acquisition of a large number of maintenance contracts. I prefer to work on a project for a predetermined amount of time, and then move on.
  • Before I accept a contract from anyone, I prefer a personal reference from someone I know. The reason for this is actually quite simple. Having worked for several people and organizations, it has become clear that some people are better to work for than others. By speaking to someone who knows you, I can find out if you are likely to be an ideal client: one who knows their requirements from the start, who pays on time, and who can be reached easily for any issues.

If you have some work which you think I may be suited for, and you believe you can meet at least the first two of the three requirements above, please contact me. Visit my about page for information about who I am and what I do, as well as for information on how to reach me.