Being a freelancer entices us with a great power : refusing part or all of a job. In the myriad reasons why you would choose to be an independant worker, that is the most obvious one. You get to choose your assigments, your work hours, etc…
Thing is, being a freelancer is also about people. Saying no might trigger some antagonistic reponses. Just as having a good reputation gets you clients without prospecting for them, having a bad reputation gets your clients thinking twice about hiring you again. And remember, to a customer, the complexity or the dullness of the deed they pay for doesn’t really matter. Most of them don’t get that their “small additional request” is actually a lot of work, let alone an uninteresting lot of work.
We all get our preferences. For instance, I just love banging my head on a theoretical, or nigh impossible, problem, whether it is a 10 lines piece of code, or a 2 millions+ lines one. Optimization, or debugging, are all part of this thrill. But designing an interface, with all the buttons and the linked actions is both incredibly difficult and kinda dull for me. Intellectually, I understand the need, and I know I should do something about it. I just can’t get my head around it.
So, whenever the GUI design is part of the development, I am thrilled. It’s only a mild problem, the main issue generally lies elsewhere. However, when the whole contract is just slapping a GUI over some existing tools, I have second thoughts.
And here is the crux : I can say no, if I don’t feel like doing it. I can go to the movies instead of going to work in the morning. I can take a nap after lunch time, if I want to. The main question is “why would I act otherwise?”.
Several reasons might tip the balance. For instance, it might be for someone I like, someone I want to work with, or as a courtesy to a common friend. This is called the Sympathy Factor. Or it could be because otherwise I wouldn’t be able to pay the rent this month. This is the Money Factor.
Most of my fellow in-house developers react strongly to the second factor : they are paid to do a job, they generally don’t choose the projects they work on. Don’t get me wrong, I don’t mock the behavior… Some people work that way. Most people, should I say. And that’s a perfectly sane motive, to begin with.
I, on the other hand, react more strongly to the first one. We freelancers are known for sometimes working 20/7 out of interest or sympathy. We are therefore very strained, physically and emotionally, in these periods. So when a customer for which we have no sympathy whatsoever asks for something we don’t really want to do…
In the past, I had a client who got me working on an interesting project. So I entered the “hyper” mode (term coined by Julie), and for a week or so, I slept 2 or 3 hours a night. Then the guy comes back to me and asks for a change that implies a 70% rewrite of the code. The project is still interesting, so I stack up a second week of work at the same rate. Then, once more, the “one more thing…” number, and it also means some heavy work that was not part of the original deal. When the third time comes, what would you do?
I just said I was not interested in the project anymore. I had lost 3 full weeks of work and quite some weight, but the Sympathy Factor had run pretty low.
For those out there who employ developers : it’s true that we love what we do. It’s true that we can be driven by our projects to the point where the outside world doesn’t exist anymore. And like every specialist in this world, we like a challenge. But that doesn’t mean we are robots either. And sometimes, being proud is more important than being hungry. Don’t let the Sympathy Factor go too low.