My Ideal Client

Do you vet your clients for suitablility before working with them? Maybe you should for happier freelance career.

I’ve started reading Book Yourself Solid as part of my daily reading. It’s time I started taking my career more seriously and invest some of my time in marketing and promoting myself. At first I didn’t know where to start but seeing as Curtis McHale has mentioned this book so often and his career is flying then it must be a good indication of its impact.

The first section of the book is about laying down the foundations to build upon. The first chapter is about trimming your clients down to only the clients that you want to work with. While my client list is fine at the moment, there may come a point in the future where I have a client that isn’t a good fit for me. Rather than letting myself be saddled with difficult or problematic clients in the future, I need to perfect my red velvet rope policy which is mentioned in the book. Your red velvet policy is a guideline to the ideal clients you want to work with. Before accepting any work from a new client I need to decide if they are the ideal client for me.

In Book Yourself Solid, Michael suggests you identify the types of clients that you don’t want. In doing this you end up with a list of traits of clients you do want. This is my ideal client in the three simplest terms that I could think of. They don’t cover all aspects of a great client but it’s a start.

My ideal client has interesting projects to work on

During those first few meetings between yourself and a prospective client you should get as much details on the type of work you would be doing with the client. It’s here that you can get a good sense of what projects they have. As a web developer it might be tempting to always take greenfield projects on but these don’t necessarily mean that they are great projects to work on. In the early days of any greenfield project there can be technical issues with untested technology such as programming languages and frameworks, dependency issues with hardware and even implementation problems if you are expected to lead a team of developers who have never used this particular technology before.

In Chad Fowler’s book, The Passionate Programmer he mentions the legacy technologist who is familiar with ageing frameworks and languages and is able to work with legacy projects without a problem. These people are essential as they can nurse projects through their final years before the software is upgraded or replaced. I know many developers who would quickly sidestep projects like this but having seen the importance of technology specialists in this field from my ERP days, it’s not only work that is essential but also interesting.

Legacy have their problems but what’s so interesting about them is the chances that are available to refactor them or gradually migrate them over to other applications. In my days as an ERP developer I not only maintained a number of legacy ERP systems I also has the chance to provide and support and knowledge on these legacy systems to clients. It was rewarding work helping out people with their problems and fine tuning the system so that the same problem couldn’t be replicated in the future or at least improved slightly.

My ideal client communicates often

Having worked on a number of projects with different clients, one of the best pieces of advice that I have had is that you should communicate with your client often. For me it’s every day. Not a day goes by where I don’t ask a question, drop them an IM, an email or even schedule a phone call to discuss something about the project. I used to hesistate in the past about doing this on a daily basis, but now I see it as acceptable behaviour. If I’m continually communicating with the client to clarify requirements on the project then I’m doing both of us a big favour. We’re making sure that both of us don’t get the end of the project and then think, “That’s not what we wanted.”.

However, the same goes the other way. Just like I communicate with my client frequently, I expect the same from them. If they have a question they should drop me a message or an email. If they want me to sit on a meeting, then tell me the date and time. If they want me to discuss further options then they should ask me too. I’m not a mind reader but I do try and pre-empt what the client wants. For the rest of the time I expect the client to ask questions when they need to, send me updates to the project and anything else that keeps me in the loop.

My ideal client pays on time

An obvious one for many freelancers but it’s one of the key points in ensuring you enjoy your career. I’ve wrestled with this in the past and I’ve had clients that have paid on time and clients that have paid late. It’s can be frustrating.

Lately though, more clients have come round to paying invoices on time. It’s such a boost to your confidence and productivity knowing that your work is valued and that you will be paid for it when you expect it.

I haven’t got to the stage where I have parted ways with a client over late invoices but it is something at the back of my mind that I do think about. I’m happy to report though that my client list all pay on time.

These are just three basic guidelines to the kind of clients that I want to work with. Ideally I would like to narrow this further by a specific market, but that’s for another day.

Fixie Friday - Andy Ellis’ Makino

via PEDAL Consumption

Making Mistakes

We’ve all been there. We’ve made a mistake in our career that has had serious repurcusions. We might have hit the wrong key, flicked the wrong switch, cut the wrong cable, sent the wrong document or even just looked the wrong way. Despite all the damage control there’s still going to be a degree of fallout from the mistake and it’s a mistake can be far reaching for lots of people to see.

I remember two such mistakes in my career. The first was when I was doing work experience at a local brewery and distillery for a large drinks manufacturer. On this particular day I was working in the IT department helping to organise some cables. I mistakenly pulled the wrong plug from the wall that was providing the power for over 10 workstations. As a result a lot of people were unhappy that morning. I put my hand to the mistake. There was no getting anyone work back who hadn’t saved it.

The second involved deleting data from a production database. While I was working on an application with my own local copy of the database, I was asked to connect to the production database to run a report. Forgetting that I hasn’t disconnected from the production database I ran a delete command on a table thinking it was my own development environment. It wasn’t. Before I released the key to execute the command, I realised my mistake. I called my team manager over right away and they arranged a back up of the production database to be made while I was still holding the key down. Once I let the keyboard go the data was deleted but promptly brough back using the backup we had taken minutes before.

These are two examples of the biggest mistakes that I have made during my career, thankfully on the scale of things it doesn’t get much bigger than that. Some mistakes though end up becoming local or even national news. I’ve been on the end of a few wrong electricity cables being cut by builders and such but thankfully nothing more serious than that.

Having recently seen a similar mistake being made, it’s easy for me to see now how people can let these mistakes worry them. However, it’s not the scale of the mistake in terms of visibility that should be the main concern. It’s the risk from the mistake. Will this mistake endanger anyone? Am I putting anyone’s life at risk? Unless you’re working in an already high risk environment then chances are your mistake won’t put anyone at risk. When you make a mistake you should remember this.

We all make minor mistakes on a frequent basis. We chide ourselves for them and then move on. It’s when the mistakes become grander in scale that we start to worry about their repurcusions. Over my career I’ve slowly learned that I’ll never make a mistake that puts anyone’s life at risk. At most, I’ll have lost some data which is why I now have back up strategies for my own data and all the applications that I work on.

In each of these cases I unecessarily worried for a few days about the making the mistake and the effort required to get back to normal by people affected by the mistake, but after a few days the worry was gone. Worry is a wasted energy when mistakes happen. Mistakes do happen and for the majority of us, the best thing to do is to take ownership and rectify the mistake as best you can.

Good Advice …

We should re-read some of our favorite books from childhood because adult life also has trolls, knights, and the occasional pirate.

… and more from Michael Wade.

Got a Book in You?

Here’s a good place to start.

Bricks Anyone?

A festive idea for your kids or those just pretending to be kids.

Exploring Alternative User Interfaces for Journalong

I’m exploring alternative user interfaces to the standard web form for Journalong. In the quest for something simple, there’s an obvious answer.

The simplest user interface is no user interface was a common theme in web design about a year ago. It’s misleading right away because without any user interface how are we supposed to interact with our product? There’s a problem with this statement because there’s always a user interface, it can just take many forms. In building Journalong I’ve tried to keep to a simple user interface but what would be even simpler than this is a user interface that already exists elsewhere.

One of the most popular user interfaces has to be email. Lots of products and services provide interaction through email and it can be effective. All devices provide some form of email client and it’s easy to regardless of your experience with technology. When using to interact with other products and services you just need to know what information goes where in your email. With just a subject and a body this can be easy to remember.

This simpler interface is something I’m keen to explore using Journalong. Being able to write journal entries should be easy for anyone to do but the web user interface for it is something I find distracting. I’ve built a few forms around different ideas but nothing so far has offered the simplest method of using an alternative user interface like email.

Maybe I’m wrong and the best user interface to use isn’t email. There’s only way to find out and that’s trying it out for a few weeks with some users. The option to use a form will still be available, but I’m keen to see how people will choose between using email or the form. Either way, I’m off to brew some coffee and crack open my text editor. I’ve got some code to write.

How I Use Labels in Todoist

I’ve already mentioned how I use projects in Todoist. Well this time it’s the turn of the humble label.

The label. This is Todoist’s context tag that can be applied to any task if you need to organise them by more than just their priority. Let’s get something clear before we start. Colour coded labels are a premium feature in Todoist. If you’re using the free plan on Todoist, you can still use the labels suggested below but not the label colours.

Having decided that tagging tasks with labels would give me more flexibility I started tagging everything in my list with labels. It quickly turned into a nightmare with inconsistent labels, labels with typos and even obscure labels that didn’t end up making sense to have. I needed a strategy, so I took the advice of Mike Vardy and started using labels in a more structured manner.

Looking at the range of colours available I started to setup label groups by colour. First off I created six labels for my six personal compass points giving each compass point its own colour. This is the basic categorisation of labels regardless of where they are in Todoist. Almost all tasks get labelled with a compass point.

Next I took the groups that Mike Vardy suggested. Using the colours for these labels I grouped them under time, event, person, location and energy. What I eventually ended up with was a wide range of labels for different contexts as well as having a couple of free colours left over that allowed me to have labels that could be used for general purposes.

Labels are also useful with Todoist’s email feature. As well as emailing tasks to your inbox, you can append labels in the subject or the body of the email and they will be added to your task when Todoist receives it.

So what’s the point of labelling everything then?

Well, aside from the fact that it provides some meta-information on the task, it also allows you to search for related tasks. Do you want some low hanging fruit to pick in the morning? Search for the @5mins and @low labels. Kids birthday coming up and you remember taking a note of their preference for a Minecraft book. Search for @birthdays and your kids owns tag using their initials.

You can search for individual tags, combination of tags, tags in a project, tags due on a specific day. There are lots of possibilites to using this and Todoist keeps a nice count of how many times each label has been used so that you can weed out the ones that are unused or break down a label if it’s being overused.

All this now means that I can quickly filter and sort my master list according to labels that provide context. This leads on to next week’s post about filters. Be sure to check back for this and see how you can utilise labels to group tasks together using filters.

Effective Communication

Effective communication isn’t about how your message gets to your audience, it’s about the message itself.

I rely on an business to keep me up to date with events and updates happening within that business. I pay this business for services that I use on a monthly basis. I’d rather not name and shame them as that doesn’t benefit anyone, so if you don’t mind I’ll leave them as anonymous. They have a website that supports both an email newsletter and a RSS feed. They also have accounts with both Twitter and Facebook. You would think that with all these outlets there would be a steady stream of information being sent out. Well, there isn’t. I don’t have the exact reason why this business isn’t using these more frequently, but what I do know is that they’re ignoring a chance to communicate effectively with their customers and potential customers.

Effective communication means communicating clearly and frequently. It’s such a simple rule to follow but is ignored in a lot of cases.

Be Clear

Effective communication means communicating clearly. It’s not hard to do. Don’t use 50 words when 25 will do, avoid technical jargon and business speak and outline summaries using lists. These are just some of the things you can do for long form communication. For shorter forms of communication it can be more difficult. Twitter only allows 140 characters in each tweet, so even if it something quick you want to say, you need to be sure that what you want to say can be conveyed using this limit. It just takes time, but keeping it simple is the first step, and if you follow this then you’re already winning.

Be Frequent

When communicating, being frequent with your messages is the best way to keep your audience up to date and informed. It’s not rocket science. Agile software methodologies promote frequent communication between customers and programmers. The reason this is encouraged is because when we programmers keep our customers in the loop, we are keeping them involved and they can see what’s happening from day to day. This limits the chances of the programmers going in the wrong direction building an application that the customer doesn’t want or need.

The same goes for communicating. When we communicate frequently we keep our recipients informed and up to date. If we maintain this we foster interest from our audience and then we can expect a decent return of interest and participation from this audience when events or meetings are announced.

The Mistake

A common mistake for many businesses today is that they have more than one outlet for their outgoing messages and therefore think they already are communicating effectively. Unless you frequently use these different outlets though, you’re not going to reach anyone. Having a website with an email based newsletter that is sent out regularly can be just as effective as a website that has multiple social network accounts. In order to be effective we just need to ensure that we are communicating clearly and frequently.

All the social networks under the sun aren’t going to get your message across to your audience unless you’re clear about your message and those messages get sent out on a regular basis.

This business in question might not be aware of it, but they’re already lagging behind other competing businesses in the area who are doing a much better job of keeping their customers involved and up to date. As a paying customer my loyalty is waning. I just want to be kept up informed. Is that too much to ask?

Fixie Friday - Ryan’s Leader Kagero

We’ve not had a Kagero for a while.

via PEDAL Consumption