Page 1 of 1

Judging Clients -- Chirp, chirp, KABOOM

Posted: Sat Apr 26, 2008 1:44 pm
by supermike
* Some clients do not like designers or developers assuming things, and may drop you because of this. Others may drop you because you don't assume but ask too many questions. Still others may want your opinion, but if you go too far, such as going beyond the code review and into the design review, they drop you because they consider that rude -- yet other people appreciate that kind of advice.

* Some clients want to pay a low rate because they were anticipating that something would be slapped together rapidly, left for them to polish. Some want to pay a low rate because they don't want a custom site, but want to slap together two packages and move on. Still others want something custom and find the idea of slapping together packages as offensive -- even to the point of dropping me if I even suggest it.

* Some clients want to have me assume obvious parts are necessary on a site (contact us form, fancy admin pages, etc.) and get that going, while others do not and then realize eventually that this is why I made the time estimate so high, trying to build things that they didn't ask for.

* Some clients are nutjobs and think they can ask me for a video streaming site for $300. Some clients, I've been told, are scammers, and I could get burned very badly. Also, I have a strong suspicion that there are some devious offshore freelance firms out there who are posting fake projects and wanting to pay low dollar, knowing that these will not be taken, simply to discourage and scare off programmers out there from their turf -- I swear this is going on.

* Some clients are complete bullies. My very first client was this way. He said he only had $1000 and the punchlist looked agreeable. I did the work, but then he added more items to the punchlist and expected me to do the work or not get paid. So I did the work and he added to the punchlist again. So I did that work and he added to the punchlist again. That was the last straw and I called him up to complain about this. He then said to me, and I kid you not, "Awwwwww," like, "Awww, did I hurt your feelings?" It's remarkable in that moment that I didn't drive in my car to his state with some C4 explosive and blow his car up. Chirp-chirp, KABOOM! It's also remarkable that he finally caved in and gave me that $1000. But then I walked away from him after he gave me another punchlist, and I will never look back at a jerk like that again. So you have to ask why the guy did this to me. The reason he did was because his client gave him a fixed budget of $5000, and he had already burned through one developer and gotten a mess, and then he rolled up his sleeves and wrote a good bit of code himself and created an even larger mess, and so he was between a rock and a hard place. But that's not my problem, and when I ever see a guy in this situation in the future again, I need to walk away. His mistakes cannot be my mistake. I'm glad I did that project because I learned about what NOT to do, and I'm glad I learn this first such that I have the strength to prevent it in the future.


So guys -- you cannot win at this game. You can only try, and then try more carefully. This problem occurs whether you are a bricklayer, interior decorator, carpenter, web designer, PHP web developer, or a myriad of other contractor types. We just get better at judging clients as we can, keep some thick skin, hit a punching bag, and move on.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sat Apr 26, 2008 4:39 pm
by supermike
One client paid me on retainer at half my going rate. (Retainer deals are sort of like that.) They then had a massively complex project to give me and wanted to start with a massive UI design and functional spec, not enough hours to answer all my questions, kept changing the scope and feature spec, and they had this strange way of answering my questions with the wrong answers or causing me to ask more questions. At first I said, wait a minute, iron out your story first and then come back to me. They agreed, and I did other work, still getting paid on the clock. Eventually they came to me, and hallelujah, we had a "vision" for which I could build the docs for UI, functional spec, technical spec, data diagrams, and so on. Sure, it was a complex vision, but I got busy. Well, they said I had it wrong, went back to the drawing board, and came back yet again with an initial start of the UI, telling me to start with that. As I did that and asked more questions, they came back with answers that caused me to be more confused. They also started the feature creep factory up again and it was churning out major changes in direction every week.

So then I get blamed for delaying them in the first place, then delaying them after they gave me the so-called "vision", and blamed me for shoddy work. Riiiiiiight.

I couldn't tolerate that. It's one thing to be right about something and I take the blame, but another thing to outright get the facts wrong and cover up one's own communication difficulties. I mean, managers need to provide an opportunity for one to succeed. Clients, as managers of us, need to keep that in mind and give us an opportunity to succeed or they don't succeed and they have to start over again on a long journey with someone else.

So what I'm saying here is that retainer clients can be a potential pain because it starts to add up in their mind that they are paying you even when they don't have work for you, and if they have to do any activity that delays you, such as put you on hold while they go into a long series of meetings to iron out something, you can eventually get socked with the blame on the project delays. And you'll need to be prepared and defend yourself maturely against that.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 2:06 am
by matthijs
Can understand your issues. Coding something is one thing. Managing and communicating something (completely) different.

If I may ask, are there any reasons you can think of why these problems occur? Other then that these clients don't communicate well or are bad people etc. Are the clients from another country and might it be a language problem? Or a culture issue? Or maybe it's because you don't meet them in person or most communication is by email?

I've had a few "difficult" clients. I can blame them for doing things wrong, but that won't help me. The only things I can do myself are:
1) look in the future and predict which clients I should decline when they contact me
2) learn how to deal with them or their "handicaps" in a better way

I can understand your frustration. But in the end I want to run my business and end up with happy clients. I'm always learning ways to do things different so that a few of those "bad" client projects still end up successfully.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 9:27 am
by Chris Corbyn
If you had a blog you'd have a big following :) People like reading rants :P

I gave up on freelance very soon after I started -- again; clients!!. Working for a company, in an office, among a team of other developers is just more my kinda work. I know other people would disagree with me though :)

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 9:41 am
by matthijs
Yes, suddenly you're not only a code monkey, but also a boss, manager, creative director, public relations manager, cleaner, bookkeeper and some other I forgot. Certainly if you're on your own. My guess is that I spend maybe around 50% on non-technical stuff.

Then again, that's one thing I do like about running my own business. If you would put me in a small office and had me just crank out HTML template after template each day, I'd be burned out in a month. Even though it can be challenging dealing with some clients and sometimes it can be frustrating, I have learned so much in the past years, I wouldn't want to miss that. And I wouldn't have learned all that if I'd worked for someone else. Of course that would depend on the job a bit.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 10:03 am
by Chris Corbyn
A typical week at work for me entails:

* Start/finish with flexible hours. I usually rock-up at about 10am, then leave at about 6pm.
* Work my way through tickets in trac to meet the next milestone (there are two developers in my project http://marketplace.sitepoint.com/ )
* Take timeout to do some refactoring on some of the old legacy code (I love getting rid of crappy old code)
* Debate with managers about planned business-model changes based on stats I get asked to generate
* Developer meeting every wednesday morning! These are great fun. 10 devs sitting around a table being pretty witty but at the same time very insightful.
* Publish the next iteration of our software release pretty much every 1-2 days
* Help out with customer support queues if there's a bit of a backlog
* Write articles for the site (I'm writing my first article for SitePoint but hope it'll be a regular thing)

More or less you could describe me as a code monkey, but every day poses a new challenge and I do more than just writing code. I'd hope that eventually I'll be in my team leader's position (I don't mean I'd hope to take it from him :P)

That said, we occassionally have big projects on the agenda which we will happily take 2, 3, even 4 days away from coding to talk about. The last big timeout from coding was to spend 2 days in the boardroom with Lachlan and Paul from sitepoint to plan for our own eCommerce system using PayPal and WorldPay APIs. We didn't particularly like other eCommerce solutions, so we wrote our own. 99designs.com is now using that system we wrote and Paul and Lachlan are working for them (SitePoint spawned a new company from what was contests.sitepoint.com).

Next week I'll be finishing our current milestone but the week after that will require another delay from coding whilst myself and my colleague occupy the boardroom to plan how we'll develop an identity verification/fraud prevention system from the MarketPlace.

Working for a company is not as much about being told what to write and then just churning out code compared to what people might think. Depends on the company of course :) I'm quite lucky in that there are huge perks with my job (such as a 5 day xmas trip to a Luxury Retreat in Margaret River)... I wouldn't get that freelancing :)

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 10:41 am
by matthijs
Sounds pretty good indeed. Found yourself a nice place to spend your time and make a living as well :)

To be honest, I don't really know what I'm talking about, as I've never worked for a company. In this sector that is. I can imagine that if I found a job somewhere, it could mean more then just coding some stuff. Actually, soon all easy coding stuff will be outsourced to former USSR countries or India anyway, so no work there I guess.

But anyway, dealing with clients directly has been a learning experience so far. And it will stay that way I think.
Sometimes :) :roll: :banghead: :cry: :evil: , but hopefully more often :D

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Sun Apr 27, 2008 2:53 pm
by onion2k
Some clients do not like designers or developers assuming things...
I came to the conclusion that any assumptions on either side by the client or by the developer are bad years ago. Everything needs to be mapped out to start with. I've yet to meet a client who'll pay for the time to do that though.

It's possible on 'internal' stuff, but even then most managers who don't have a software background seem to think that if they can't see something on a screen then the project isn't progressing. It's bloody annoying.

I'm still trying to change the mentality at the place I'm at, but it's awfully hard. Once a team gets into the habit of doing extremely fast but somewhat buggy development for years and then firefighting when the client sees a problem it's a bitch to change to another development style, simply because the clients are used to things been done in 5 days rather than 5 weeks.

Chris, you're very fortunate to be working for a company who develops software properly.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Mon Apr 28, 2008 8:25 pm
by supermike
Chris Corbyn wrote:A typical week at work for me entails
Chris, not to sound contrary here, but I thought I'd explain an alternate lifestyle that I have with this new career arrangement I have as a freelancer.

* Hours. This is an odd thing, unlike what I expected. It all depends on where I am in the negotiation and execution cycle. This is the cycle, you know, where you negotiate sales with new clients, and then after that you begin the project and do your execution of the code. If in negotiation, I can sleep in late and stay up late. However, I get emailed and chatted online at all manner of the day and on weekends. I just closed a contract at 3am on a Sunday morning, and that's because my client was on the other side of the planet and it was already mid-afternoon for him. And it all depends on how badly I want the contract -- by being flexible and chatting in a chat window to cut a deal on a Sunday morning at 3am, I'm likely beating the competition. There is no 9-5, Monday through Friday in this business, and this is especially true in my negotiation stage with a customer. When in execution, however, I am very much trying to stay 8:30-4:30, break for an early dinner (than most other Americans), and then I'm back to work sporadically from 7pm to midnight, Monday through Friday, sometimes Saturday, but have to bend a little based on a primary client's hours. (You have like one primary client and then 4-5 little short one-off project deals with other clients.) I hope eventually I'll have a lot of residual income sites up on my own, plus affiliate marketing projects, that I can cut back my hours and take more prima donna client deals and work fewer of them. Many PHP freelancers eventually get to that stage, or they leave PHP entirely and live entirely off residual website income. Clients teach us so much, so it's inevitable that we learn and adapt and do what most of our clients are doing -- living on residual website income from dozens of websites.

* Hours, part 2. In my last cubicle day job, I was called at all times of the day and night and had to drive back in occasionally, and this was even with an oncall rotation set up. I was asked to work 3x as hard at times, and it was getting worse and worse. When I worked 3x as hard, I didn't benefit. But, as a freelancer, when I work 3x as hard, I make 3x as much.

* Project management. I've heard so much about trac and also about campfire. I need some sort of project space I can set up to interact with my clients, sharing docs, updating project timelines, handling bug reports and feature requests, etc. If I had the time, I'd find some sort of F/OSS package that does this and I'd throw it up on my domain. And it needs to be simplistic.

* Meetings. In my last cubicle day job, I loathed meetings. We never got anything done in them that benefited me, and they kept letting major priorities slide that I thought were really critical to deal with. I also recall many a con call where I was brought in and merely was asked stuff like, "What do you think?" and which everyone really didn't want to hear my answer, anyway, so I just played along and wasted time on a worthless call.

* Promotions. I had one idiot manager who misheard what HR said about performance reviews. He and I both went to the same management training because he managed me and another manager, and I managed other programmers. In that meeting, he swears he heard that managers were supposed to always put something negative on a performance review or it would not be accepted, but that is 100% false. So, when I did a stellar year, he still put some nasty, nit-picky comment on my performance review, trying to be in "compliance" with a statement he mis-heard in HR. In the end, that one statement <span style='color:blue' title='I'm naughty, are you naughty?'>smurf</span> me off so bad that I refused to sign his performance review. When they replaced this manager with another one, she was worse and failed to realize all the miracles I had performed for the company division, and failed to cut me some slack because I had been working 300% in overdrive for the company for the past 6 years. So, promotions were few and far between and I felt like it was time to leave these morons behind. I don't like managing morons or working for them.

Re: Judging Clients -- Chirp, chirp, KABOOM

Posted: Tue Apr 29, 2008 6:21 am
by supermike
onion2k wrote:most managers who don't have a software background seem to think that if they can't see something on a screen then the project isn't progressing.
True, true. I sometimes spend two days writing on a notepad or on a whiteboard and don't have things laid out in a document or on screen, and I get some flack from a couple clients. Not all clients are like this and do understand development, but others are morons. The ones that are morons tend to have intelligence about sysop work, but that's about it. And so when I speed it up, and try to throw results on the screen, I then get accused of making too many generalizations and am told to "clean it up". You just can't win with some clients and managers -- screwed if you do or screwed if you don't. It's like I need to have a time machine and compress time, showing polished results much faster, to satisfy these jerks.