Technology that Empowers Me

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

Oddly enough, the technology that makes the biggest difference to my day-to-day life is one which most people don’t think of as a technology, if they think about it at all. I refer, of course, to the coffee maker.

I am not, contrary to popular belief, a coffee addict. I prefer to think of myself as a coffee connoisseur. I can, and have, quit drinking coffee completely. When I was in university, I would quit from May through August, when I had no need to stay up late or rise early. I resumed when school started again and I knew I would be getting less sleep than I need. Now that I work full-time, as well as work on some small contracts on the side, I am once again not getting a sufficient amount of sleep, and so use coffee as a sleep alternative.

However, my use of coffee goes beyond the caffeine. I appreciate a good cup of coffee. I roast my own beans fresh on a daily basis when I am able. I use coffee to mix with other drinks. I use the coffee flavor in desserts. I have made coffee liqueur.

The truth is, though, that without a coffee maker, I would have a choice of drinking instant coffee (shudder, and besides, if there weren’t coffee makers, there probably wouldn’t be instant either, although I am not certain which was created first), or drinking coffee made with an old-fashioned press, spending more time getting my stimulant than making use of the stimulant, which defeats the purpose of the stimulant.

It is coffee that drives my day, and it is the coffee machine that makes it possible.

A Community I Love

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

I recently joined the Stack Overflow community, and have been loving it. The site is primarily a programming help site, which is run by the users. Anyone can post a question or answer, and your peers are the ones who rate the quality of question or answer. The better the questions and answers you post, the more features of the site become available to you.

While some of the features of the site are debatable (for example, equating high usage with responsibility, as is done by their reputation system), the overall idea is excellent. I have taken to using the site almost exclusively for any programming and related questions I have, and the quality and timeliness of the responses has been astounding. I rarely have to wait more than a few minutes to get a few responses, and users are responsible in that they will ask appropriate questions and rephrase their responses according to the answers. If I ask a question that has already been asked, someone will direct me to the original question.

While this community is still developing, I am happy to be a part of it as it grows.

Should My Town Use Social Media?

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

The use of a website by a city has some obvious benefits. The user of Social Media, however, will serve little point in the vast majority of cases. If the town is small enough, then there is no need for the social media, as everyone knows everyone else without it. If the town is large enough, then you run into the issue of attracting the locals to the media. People have a hard enough time keeping up with people through their personal social media sites. They certainly don’t need another medium in which to waste their time.

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.

Networking

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?