The Freelancers’ Show 091 – When Contracts Go Wrong
In this episode, The Freelancers share their personal stories about times when contracts went wrong and how to make things better for all who are involved.
[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [You're fantastic at coding, but do you have an action plan to take it to the next level? The upcoming book, Next Level Freelance will help you optimize your freelance business for happiness. The book is packed with actionable steps to make more money, case studies, tips to find more clients and exercises for you to establish your desired lifestyle. Extras include nine interviews of freelancers who make great money while enjoying great work-life balance, videos on strategies to find quality subcontractors, and videos on making more free time by outsourcing your daily tasks. Check it out today, nextlevelfreelance.com.] [This episode is sponsored by Planscope. Planscope is a project management and collaboration app built for freelancers and the way they work with clients. It makes it easy to price up new estimates, and once you're underway, helps answer the question, “Will this get done on time and under budget?” I've been using Planscope to do my estimates and manage my projects, and I really, really like it. It makes it really easy to keep things in order and understand when things will get done. You can go check it out at planscope.io. ] CHUCK: Hey everybody, and welcome to episode 91 of the Freelancers Show. This week on our panel we have Curtis McHale. CURTIS: Good day. CHUCK: Eric Davis. ERIC: Hello. CHUCK: Reuven Lerner. REUVEN: Hi everyone. CHUCK: I'm Charles Max Wood from DevChat.tv and this week we’re gonna be talking about, “When things don’t go well with your client or with your project.” And this is being inspired by real events [chuckles], let me just say. So, I’ll talk a little bit about background on this particular project, but I'm sure you guys have other experiences where a project has kind of soured and so I’d love to hear what your experiences are and how you handled it. But basically --. REUVEN: No, it’s only you Chuck. This has never happened to any of us. [Chuckles] CHUCK: That’s right. Yeah, I think all of you have been freelancing longer than I have, so. Yeah, but basically what happened was we wound up waiting quite a long time for some information that we needed in order to move ahead with this project, and we got that information about a week and a half ago, maybe two weeks ago, and then the vendors that we needed that information for finally started getting us the information we needed to integrate with their services. And then what happened was the client basically was upset because that was the progress connecting to those services – that was like his top priority, which wasn’t well-communicated. But the other is that because those were his top priorities, it felt like we hadn’t gotten anything done because those top things didn’t show progress for quite a long time. I’ll also admit to the fact that I wasn’t feeling well for a while. It turned out that my diabetes was out of control and I was just exhausted all the time, and so I didn’t put in as much time as I should have on the project, and I guess I live and learn that way. But anyway, neither of us really communicated well. Either that he was worried about it, and I just assumed he knew where things were at, because I assumed that the person who was responsible for getting that information, who is also kind of a middle man between myself and the end-client, was filling a man and it turns out that he’s kind of been an absentee primary contractor. So, it kind of went sour and I've been working pretty hard to get things back to the point where they're happy with it. And the interesting thing is that I've had several people tell me just to quit the contract, to leave, you know, well, it’s not worth it. But my issue is just that I really want people to feel like they're getting fair value for their money, and I know that’s not always possible under all circumstances but that’s kind of what I'm aiming for. So yeah, we’re working hard on that. And anyway, I’d love to get your feedback and then I’ll tell you what I've decided I'm going to do, unless you guys change my mind on some of that stuff. CURTIS: One thing I've been doing lately when using Trello is actually get the clients to put the cards in order of their priority, what they think is the most important. And then if we have to adjust, I’d discuss it with them. That’s how I've been able to figure out, I guess, what their biggest priority is and what I can do first or next for them. CHUCK: That is a terrific idea. I've had some clients that will do that and others won’t. Is there a good way to encourage them to do that kind of thing? CURTIS: I just tell them that’s part of their job. This isn’t – like when I'm working with the clients, a stick says there in the chat. But too many clients – and we let this happen to us freelancers – think that they’d just give us the project and their job is done; they're just supposed to sit there. But they have responsibilities as well, right? And one of their responsibilities in working with me is to start writing these things, making sure that they're okay. They have to use dependencies, we adjust things, and I let them know because they probably have no idea of the dependency. But that’s part of their job and I spell that out – “This is what I expect from you, to do. If you cannot do it, then the project’s going to fail. If you'd like the project to fail, don’t do your job.” CHUCK: Yeah, that’s really true, and that’s part of where this problem has come in. CURTIS: And you had an extra layer there though, right? An extra layer of complexity there being, like you had someone in the middle? CHUCK: Yes. CURTIS: And that certainly adds to it. I have one recently where – actually, a very similar thing, like a third party service where we’re waiting to integrate with them. I know the local agency that I'm working through, because I do custom work for them that’s outside of their specialties quite often, and so when I hit a problem I just let them know and they said, “Okay, don’t worry. We’ll take care of it from here.” So we know that we’re waiting on this integration portion and they're happy with it and they let their client know. But again, having a long-term established relationship of doing good work with them, and they are – in and out – I'm just in for one, small piece of their larger project. CHUCK: Yeah, and I've come to find out that this is more or less how this particular person manages a lot of his projects, is that he’ll line up a subcontractor and then disappear. And so, it really did cause a problem because I assumed that he was managing a lot of the communication and that just turned out not to be the case. REUVEN: Right. I've tried using, over the years, systems similar to Curtis’ where we have a ticket tracker of some sort and different clients have used different things, preferred different things, whether it’s ChiliProject or Pivotal or even something else. In my cases though, rarely do the clients want to directly be setting priorities. Sometimes they will, the more technical ones will. But the less technical ones don’t want to, and so I’d sort of take on their responsibility for them. Nor prioritizing things instead of them, but when we have an at least once, weekly phone meeting or Skype meeting, then I’ll say, “Well here are the five, ten things that I'm gonna be attacking because they're at the top of the list – is anything else more important?” And even if they just tell me what's more important, then I could just adjust the priorities and then they’ll see it. So, they at least take a semi-active role in it. But at the end of the day, they know that whatever’s on the top of the list is going to be taken care of first. And then if they want to change things, they’ll have to email me or talk to me about it. But having that list is like – I just found super, super important for transparency and everyone knowing what's going on – an accountability. Because then, if they say, “Why did you work on x?” It’s very easy to say, “Well that was at the top of the list.” CHUCK: Yeah. REUVEN: As opposed to, “Well I just sort of felt like it was important.” CURTIS: And the other thing I have when my Trello board is set up like a Kanban – Kanban board? Is that how you say it? Anyway, which I've just started reading about this week, and so I have a ‘Doing’ column. And so everything that’s to-do is just sitting there and the things I'm doing are in the ‘Doing’ column. So if they think I'm not working on something that’s their priority, they can see I'm not working on it because it’s not in the ‘Doing’ column. CHUCK: Yeah, that makes sense. And this particular project is using Pivotal Tracker, so I mean everything in the current line is stuff that people are currently working on, because we’re ahead of the velocity that’s set in there. But --. REUVEN: I’ll tell you what. Another nice thing about using a tracker, whether it’s Pivotal or something else, is that every task is owned by someone. And so, that means – I had a project years ago where they had some developers and I had some developers working with me, and everyone’s pointing fingers at each other about who really had dropped the ball and why things were stuck. The moment we started using a task tracker, it suddenly became obvious who owned it and who was responsible. And then when we had our phone meetings, then we had our online meetings, whatever it was, it was clear, “Oh, Joe Schmo – he’s the guy who’s supposed to be doing it. Why isn’t he doing his job?” CHUCK: Yeah, and that makes a lot of sense too. One redeeming quality of this is that we’ve been using Harvest Tracker Time and everybody in the project has had to put in what they’ve worked on for that time period and so, we can kinda get an idea, “Okay, they spent about four hours working on this and this.” So I have been able to go back, and I trust the guys that I hired to help me work on this, so I've been able to go back and say, “Well, is there anything in here that you're looking at that you think doesn’t line up?” He has actually hired a developer that I know, so I've been able to push back in that way. I'm trying to help him understand that some of this stuff just takes just as long as it takes, and the other thing is that because these services are kind of integral to the entire process, we’re left with major holes and things until we can get them filled. And so, just communicating what the limitations are, I think, has helped a bit; but like I said, he’s not happy because the major pieces that we’re talking about aren’t wired in. REUVEN: I was curious, Chuck. How much direct communication has there been between the client and between the people who are subcontracting to you? Or is it – are you the conduit through which all the communication happens? CHUCK: I am the conduit through which most of the conversation happens. And honestly, that’s been fine. If you wanna know how much conversation I've had between myself and the end-client over the last week, there's been a lot. Before that, there was a bunch at the beginning of the project to figure out what it all was supposed to be and do, but after that, things quieted down for about a month. REUVEN: You're not working on the ObamaCare site, are you? CHUCK: Nope. CURTIS: When it quieted down – is that ‘cause nothing was happening? You weren’t even updating the client to say something was happening, or --? CHUCK: He didn’t seem to care. And then all of a sudden, he cared. So, I think what it was was that he probably got an invoice that was a little bit bigger than what he expected or something and that kinda, “Okay, how much have I spent on this so far?” CURTIS: Now, I think if it was me, I would say part of that is on me. CHUCK: Oh, absolutely. CURTIS: Right? When a client gets a big invoice and they go, “What is this?” What they're really saying is “I don’t think I got value for that,” right? And that means I didn’t show them the value or they weren’t being updated enough to know where they're going. What I do weekly, I actually have been out a Campfire room, and so they get all the ticket updates, they get commits and they get lots of information everyday about what's happening on their project. Plus, we communicate back and forth throughout the day and usually a couple of times a week we actually are sending out the communication. CHUCK: Yeah, and I totally owned that. And like I said, part of it was just that I didn’t feel well and I'd been trying to put in more time for another contract and so, you know -- to the extent that I've neglected the project. I definitely claim responsibility for that and I've told them that too, which may or may not have helped my case. REUVEN: Right. I've had this client for like four years now, and they're terrific. Really, we have a fantastic relationship. And probably somewhere around two years ago, they said, “You know, it’s probably not enough for us to exchange email and tickets and so forth. Maybe we can also talk more often.” And so, it seemed sort of obvious – well, of course we should talk more often, but having that weekly phone meeting changed everything. And just knowing every week we’re going to discuss whatever’s coming up, and then things didn’t fester also. So if there was something that was really annoying to them, they could tell me before it exploded out of control. CHUCK: Yeah, and so just to piggyback on that, that’s part of what I am working on right now. So we’re doing a demo this afternoon; we’re doing another demo on Friday. I'm going to push them to do demos every Friday until we get this rolled out. And the other thing is I'm also looking at them and going, “Okay, well I think we can probably deliver these things on these dates,” and that’ll give them a little bit more peace of mind that we can hit the crucial deadlines that he has for some of these features. I'm cranking the communication up because some of this stuff is more important to him than I thought, so keeping him in the loop on a lot of it is, I think, gonna pay off. REUVEN: That’s great. I'm curious, I mean, I know Pivotal sends email or you can configure it to send the email when things are done. I assume this client had turned that off or not activated that, so basically, you might be getting email updates saying all these things have been happening, but maybe he didn’t. CHUCK: You know, I'm not even sure if he is listed as a member – Oh, he is listed as a member on the project. So yeah, I don’t know. [Crosstalk] REUVEN: But I think having demos – demos where they can see things with their eyes, it makes all the difference in the world. I mean, I've made so many mistakes over the years, just sort of describing these to clients. And actually seeing things as opposed to having it described – it’s just a totally different world. Totally different. CHUCK: Yeah, the other thing – I've spent the last week, basically over thanksgiving, and then yesterday I spent 11 hours or something, mainly because it’s Heroku and Heroku is a pain in the you-know-what, to set some of the stuff up on. But getting it all setup so that he can actually get in and play with the staging server was another thing that I think is gonna pay off here, because then he can go in and he can actually fiddle with it and say, “Hey, this is wrong. This is wrong. This is right. This is wrong.” CURTIS: Yeah, and that’s one of the first things that I do with any of the sites. I was building an [inaudible] web app. I started on last Monday and on Wednesday he could start changing content and he’d say, “Hey, can we change the images?” I was like, “You can. Log in right here and you can do it. I'm happy to do it if you want, but then you know how to manage your site.” And every day, except yesterday because there's, again, something that we just can’t push yet, I've been saying, “Hey, there's new updates. Here they are, go check them out.” And yesterday, at the end of the day he got an email that says, “Hey, I haven’t posted anything. Here’s why – it should be solved tomorrow.” So we’re waiting on the host to do something. CHUCK: Yeah, and that’s the kind of thing that I'm gonna be doing. The primary communication medium has been Skype has well, and I think an email would probably work a little bit better just to prompt him [inaudible]. CURTIS: As in Skype calls? CHUCK: No, Skype chat. But it doesn’t seem like he always gets my messages, so I think email is just a little bit more reliable. CURTIS: Well then, for each client it’s always different, right? Did they request Skype or not? CHUCK: Yes. Yeah, that was another issue that went on with this was that – so there are basically two phases to this project and they're in a hurry to get it done. And so, the phase one guys, they’ve been working on things for two months before we got started and so we’re responsible for taking what they’ve worked on and merging their stuff into our stuff. And so every time we merged, I haven’t merged in about two weeks because they haven’t pushed anything to the common branch that I'm supposed to pull stuff out of for two weeks. But every time we merge that, it breaks stuff and so then we have to rejigger things too. I mean, there are so many things about this project that are not ideal and there were so many red flags when it first came out, I'm realizing now that I probably should have said no. But now that I've said yes, I really want to deliver and make things right or as right as I can. ERIC: You know what it kinda sounds like to me? There isn’t one person on the project who’s responsible. Like, if there's a problem between the team’s integration, or if that third party service has delays, there's no one person’s head on the chopping block, and so it seems like it’s like the blame game. Blame kind of gets passed around – you're probably getting a good amount because you're a sub of a sub or whatever. I mean, I've had a project that had kind of problems like this, but in that case it was actually two people but they shared the role pretty good. They were the people who, at the end of the day, if a developer screwed something up that screwed something up in production, those project managers were the people that took the blow – the political blow and also disciplined or whatever. And it kinda seems like it could be because someone’s absent on this project or what, but there's no one who’s actually responsible for everything on this. CHUCK: Yeah well, I think I am. [Chuckles] At this point I'm that person just ‘cause I'm [crosstalk] neck. CURTIS: Yeah, you might be getting the – what's it called? The problems that come from it, do you have the actual power and ability to make corrections, or you're just the [inaudible]? CHUCK: At this point, now that we actually have what we need, I don’t have a problem being that person. But the issues that have come up that I am being blamed for, I do have an issue with some of those, because several of them are not my fault and there is nothing I could do until the middle man contractor, the primary contractor actually, got his act together and got the stuff. I'm wondering how much of this stuff though is common among some of the painful projects that you guys worked on? CURTIS: [Crosstalk] One of those were similar ones. Like I put in, Chuck, these are classic – there's a problem in the project, communication, problems with the technical paths, dependencies. I can’t think of one project that has not had at least one significant problem in it as regarding to how it’s managed. CHUCK: Yeah, I do have to say that I've read the book Remote, I think I picked it last week, and that gave me a lot of ideas of things that I'm actually changing now as they relate to this project and how I manage my subcontractors and how I manage expectations with this client. Hopefully, some of this will actually increase some of the communication and help solve some of the issues where we didn’t quite understand how critical some of these things were. But yeah, I'm considering switching to Basecamp just because I like having the persistent log, and Skype Is sometimes a little bit finicky and also setting things up like Hubot and things like that, so that we can do all of that stuff. One other issue that I've been pushing on for a while that I've gotten absolutely no help on whatsoever is getting a continuous integration setup. And again, these are just feedback media and communication media. ERIC: To be honest, setting up Hubot or kind of the higher-end automation project stuff, that’s not going to help if your client’s not even reading emails or responding to instant messages. I mean, instant messages, emails, phone calls, those are the lowest common denominator; if you can’t work on a project successfully with that, adding automation and a whole bunch of software on top of it is just gonna make the communication problem you have, worse. CHUCK: Yeah, that’s true. So the end-client has been pretty responsive. It’s been the guy in the middle that has been semi-engaged, so to speak. REUVEN: Well if it makes you feel better, everyone has these sorts of projects. As Eric said --. CHUCK: I know. REUVEN: It doesn’t necessarily that you feel better or any of us feel better when these sorts of thing happen, ‘cause it just feels so terrible. I don’t know about you guys, but in general, one of the things I love about my job is helping other people accomplish what they need and seeing their businesses go and start from either nothing and become something, or start from something, become something much bigger and better. And when things don’t go that way, I take it very personally, and I get like, “Oh my God, I can’t believe it’s not going well” and “What can I do?” And yeah, it’s just very, very frustrating. I mean, the client probably feels like, “Oh my God, this contractor, what did you do to me?” But I, at least, feel bad when things don’t go well. I had a project last year where a former client of mine, whom I actually sworn I would never work with again, but he called me up and it sounded interesting and good, and he wanted me to basically subcontract to him for a project. Basically, every possible thing that could have gone wrong went wrong with this. We misestimated what was involved, but they kept throwing new features and requirements at us, and someone else was doing the HTML and they kept messing up, and we couldn’t get responses from the previous developers. Like it just went on, and on, being disastrous, and then we weren’t paid on time. So basically I said, “Enough!” I actually spoke with the original clients, and we agreed, “Why don’t we just cut out the middle man because he’s just causing problems?” And the thing has gotten a little better, but not a lot better, and at a certain point, after investing an enormous number of hours of development and investigation and work time trying to dig us out of that hole, I just said to them, “Look, I'm sorry. We’re not gonna be able to continue.” They were very, very upset about this. And I said, “Look, I'm sorry. I really wanted this to succeed. I put an enormous amount of effort and time and money into this and it’s just not gonna succeed – at least not with us. And whenever we can hand it to someone else, we’ll do.” And that was basically the last that I've heard from them, so I don’t know if they’ve gone on to succeed or not; I hope so, for their sake. But it’s not a good feeling. CHUCK: Yeah, and that’s the thing for me. I took it a lot personal – not as a personal attack because I want it to work, I want it to succeed, I want everybody to be happy. I talked to my mastermind group last night and I had my turn in the hot seat, so to speak, so I got to tell everybody all of my sob stories, like I'm telling you guys. And I'm hoping this helps somebody; that’s why we’re doing this. I'm not just telling it because it sucks for me, but one thing that they’ve mentioned too was that I've gotta decide where the boundary is and stick to that. And so basically, how many hours am I willing to commit to this to make it work? And under what terms am I willing to make it work? And if that’s not gonna work, then I guess I can just – well then, I have to walk away, because I am definitely risking other things by committing so much time to this project because I have other clients. So things like that. But at the same time, I also worry about my reputation, because both of these guys are local; they're here in Salt Lake. And so, I've had to consider that as well. So it’s been an interesting thing, but that’s what I really came down to as well, is that I'm limiting the hours I can put in on this, and if it’s not good enough, then I just can’t do it. But the other thing is that as much as I care about these guys being happy, I'm not willing to sacrifice more than is reasonable to make them happy. And if it turns out that these guys are upset, and there's nothing I can do to make it right, there's nothing I can do to make them happy, then I just got to live with that. I don’t think it’s gonna destroy my reputation, but I’d rather not have people out there who aren’t happy with the work I did for ‘em. ERIC: You're always gonna have people unhappy. You can’t worry about that. Do the best you can; if it’s not gonna work out and you can’t see it getting better then leave, or part ways, or find someone else to do it. I mean, I don’t know how old you are, Chuck, but you have x many years of your life available. If you wanna spend six months dealing with a toxic environment, or toxic people, the only good side out of it is that you might save a shred of your reputation – it’s probably not worth it. It’s better to get out, get out the best way you can, find someone who you can actually really work good with, and that would boost your reputation more than any kind of loss, even in the local community, of bailing on a project. If you document that, like, “Hey, client. You did these three no-no’s which I have a policy of getting rid of, like firing clients, because of –” that’s what you have to do. I mean, every business has people, customers, that they don’t want to work with, that they can’t work with, and you might burn some bridges, but there's plenty of bridges out there. It’s not like this client is kind of the gatekeeper for all the Ruby on Rails projects in the entire world. I mean, most people probably don’t know who this person is, or probably not going to be calling this person up directly saying, “Hey, do you know this Chuck guy?” Think about what's best for you, your life, your business, and make that decision. Try to leave on the best terms you can with the client, but you don’t have to bend over backwards because someone’s taking advantage of you or doing something you don’t like, or any number of things that just rubs you the wrong way. CHUCK: Yeah, I have to agree, I really do. And the other thing is, other people in the business, other people in that vertical or whatever, I'm sure he talks to some people, but yeah, it’s not going to burn down all of the opportunities that are out there. CURTIS: I recently had a local client essentially threaten my reputation, which I found quite funny, essentially, because I don’t work for anyone local except for them. I don’t work for anyone local typically because they just aren’t great clients; they don’t have the budget. It’s their money, it’s their investment and he may have say, a small project right, which might be five grand – it might be all the money they have, so it’s a huge investment for them. I just had to cut them loose. I just said, “Sorry, I can’t do it. You didn’t pay me on time last time, why would I continue working for you, right? You waited like a month and a half to pay me. So, I'm sorry. I can’t do anything.” And it was up and down, and how terrible I was, and I just looked at it and I deleted the email. So I had to find it in the trash – the first thing I did was to delete the email after reading through it. So I had to find it in the trash a couple days later if I felt like replying to it. And I didn’t, so I just let it go. The other thing you gotta think of too is, “What does this stressful client cost you?” Is it costing you and your marriage, or with your family, or stuff like that? To me, that’s way more important – my relationship with my family, and my community, and my friends, then some programming. No one would be standing at my grave saying, “He was great with WordPress.” No one will care about that then. They would care for how a good husband, and father, and community member I was. REUVEN: And they’ll blog about it. CHUCK: [Laughs] CURTIS: People keep on blogging about me all the time, man! People blog about me all the time; I'm awesome.” CHUCK: That’s right. Curtis is web-famous. REUVEN: [Laughs] I just wanna say, Chuck, if you decide and really, it’s not [inaudible] to me whether you should or shouldn’t leave this project, but I think how you leave it affects your – if you decide to – how you leave it affects your reputation as much as anything else. I have this client where – I guess it was about three or four months ago, he was promising me the world, “Oh, I will have you work on things, and you’ll have your employee work on things, and you’ll have to hire more people.” And on, and on, and on. And then he got delayed a bit, and then I turned down a project because we were gonna start on something with him, he said, “Yes, yes, yes. Next week, you're definitely starting.” I tried on the project and it turns out, actually, it was just me – it wasn’t my employee, it wasn’t that many hours, it was incredibly frustrating, and so I decided to leave him. And I called him, I said, “Look, this just is not working out.” And he, first of all was shocked and upset. Of course, it had something to do with the fact that he hadn’t really paid me on time either. That might’ve tipped the scale as well. But basically, I told him, “Look, I'm not gonna leave you in a lurch. My responsibility, professionally, is to make sure that even if I'm leaving you I'm gonna leave you on a positive note and make sure that you can move on and continue making sure that your business works in the way that it should.” And I came in, I met with them, I helped them with some things, and we actually made more progress than we expected. I think that while it’s not the perfect ending, it’s way better than it could have been if I had just said, “Goodbye, I don’t want to ever work with you again.” CHUCK: Yeah. Well the other thing is I think when you're close to a situation like this, your brain just goes to – it blows away out of proportion, and if you actually sit down and reasonably think about, “What's the worst thing that could possibly happen?” Basically it’s, “Okay, well, I probably won’t work for this guy again and I probably won’t work for a few of his friends. Darn.” CURTIS: Yeah. When I got the crazy email the first person I told was my wife. I told her, her job was to ask me every hour, tell me, “Don’t reply to that email.” She kept texting me, “Don’t reply to that email.” CHUCK: [Laughs] CURTIS: Because I was pissed off, I was really angry at this person on a very small contract – like, a tenth of the size of a lot of the other things I do. And that was her job: “Don’t say anything; just wait.” And then two days later, when she was supposed to ask me if I want to reply, I said, “Nah, I don’t care anymore.” REUVEN: I got a call – this is also a while ago – this was probably close to 10 years ago. I was literally leaving the house to go to a meeting and I got a call from someone saying, “Are you Reuven Lerner? Do you know how to work with Linux severs?” I said, “Yeah.” He said, “Oh, we’ve got a huge emergency. You’ve gotta come help us.” And so it turned out that he was really close to where I was having my meeting. So after the meeting I said, “I’ll just pop by and see what I can do.” So I ended up getting there I think about 2pm, 3pm, pulled an all-nighter there fixing the servers, getting everything to work. Got home, of course, a wreck, kept working on things for another week or two, and then of course – when should I get payment? At the end of the day he didn’t pay, but more than that, what was more distressing to me was they said, “Oh, well we don’t have payment but here, we’re sending you a fax.” And they faxed me – so this was 10 years ago – faxed me a letter, saying, “Reuven Lerner is a thief and a fraud” and basically listing every decision that I told them that they should do with their servers and twisting it. And even though these were complete lies, even though they said no relationship to reality, it just gave me a pit in the stomach and I was just inconsolable for days. It really – I mean, obviously that was a bad relationship. Obviously, that was something I got out of, but these things could really, really affect you because you worry about your reputation, you worry about being in a service business like this. So, you don’t want that, right? I always tell clients I wanna work on interesting projects for long-term, but with nice people. And the nice people is often the first thing that I say. Of course everyone claims they're nice, right? But you know who the people are that you wanna work with, and you should make an effort to do that as much as possible. CHUCK: Yep. CURTIS: Because it’s our business, it’s a freelance business, we’re personally invested in it, right? Your business is you in so many ways. While I say it’s not ‘people are gonna be standing at your grave saying you're an awesome Ruby programmer’, but in so many ways, it is your business because, in my case, I'm the sole provider for the family. So if my business was to tank, then I guess I should be doing construction again or something? CHUCK: Yeah, that’s the thing, really. Even if I totally blow it and my business is ruined – let’s get dramatic here – and I can’t find work anywhere in this town, what am I going to do? I'm gonna go find a job with one of these companies that one of my buddies works at and well, darn, I have to drive to an office. And yeah, it’s not my ideal situation, but it’s not a horrible thing. ERIC: I had a bad situation a couple of years back. It’s the kind of thing, like every email I’d get back from that person I would, like, couldn’t work. I was so angry, and my wife would have to talk me for hours at night, just to calm me down so I can go to sleep. I got to a point where I figured out what's the worst case scenario. And I was like, “Okay. I won’t be doing development. I will be kicked out of the software industry,” and basically worked through that. And the end result I came up with was, “I would go work at a local bookstore. I would work from 9 to 5, I would work with books, which is something I love doing. I would go home at night; I would see my family. I wouldn’t worry about work.” I'm like, that’s really not that bad of a worst-case scenario. And that kinda gave me a bit of freedom to just say FU to that guy and move on with my life. CHUCK: Yep. Well the other thing is that, the worst-case scenario doesn’t include ‘they won’t pay,’ ‘cause if they don’t pay, I've got a contract that says that I can make them pay. I mean, that’s not even a concern, you know. If they're unreasonably unhappy with the work that I did, or even if they have reason to be unhappy with some of the work I did and they're not gonna be reasonable about working things out so that I can make sure that the value is fair, there's nothing I can do about it. So we make it work; we try to make it work, and then ultimately, you do the best you can. So have you guys had contracts like this where you’ve actually managed to salvage a contract and made the client happy after all, even though they were very unhappy to begin with? CURTIS: Yep. ERIC: Yeah. REUVEN: Yeah. CURTIS: This summer I had one and basically just got a little behind – partially it was because of my fault, partially because of Aries, and we didn’t quite get this initial scope right. Honestly, I got bored. That’s what it was – I got bored and there was this thing hanging over my head and so my communication dropped off and the way I salvaged it was to find a gap in my schedule and tell them that for the next two weeks, I was theirs. And it only took a week. I did everything all day for them, they got emails every day about it, and they even said, “[Inaudible] with you, you're really mad this last week; these last two weeks have been awesome. If this is how we could work all the time, then I’d be happy.” Or that level of communication, lots of communication on it, so. And we were happy, we got it done, and I'm still talking to them. I would work for them again, because it was totally my fault and I just owned up to it, so. CHUCK: Yeah, I think that’s important too – I mean you do have to own up to it however much of it is your fault, and part of it probably is your fault. It’s pretty rare that I've seen cases where if there's a dispute between people, that it’s just one person’s fault; that one person is being completely and totally unreasonable and the other person did nothing wrong. REUVEN: Right, right. CHUCK: What about you, Reuven? You said that you saved one that --? REUVEN: Yeah. So this client that I've been with for four, maybe five years now, things were, I thought, going pretty smoothly and I think it was about two years ago they said, “Listen, you’d been a little slow about getting back to us about stuff and doing things and so, we’ve gotta talk to some web development firms about doing the work for us instead of you. Or maybe you can sort of supervise them or do some stuff – unless you think you can really handle it.” And that was when I got the clear warning sign that they were unhappy and they hadn’t told me, and that’s when we changed a lot of how we were doing things, including starting these weekly phone meetings, including my redouble commitment to really making sure that they were really happy. And I think just sort of that crisis point, it wasn’t a very long period. It was maybe a few weeks, during which we were talking about maybe having another firm come in and me showing them the code, and that basically, we sort have had a much better track than even before. And now, I think we’re getting along famously. They get along great, there's a lot of communication going on, and when they need something, they’ll make it clear that they need it. But I think a lot of it was demonstrating to them that, “No, no. I am really committed to your business; I really want to make it succeed, and I'm going to accept responsibility, and I'm gonna suggest a whole lot of processes we can put in place to ensure that these sorts of things never happen again and you're never disappointed. Or if you are, then the disappointment would be that much more obvious that much sooner.” And so far, so good in that firm. CHUCK: Yeah, I had a similar experience with a client. I've been working for him for about two weeks, and I have to admit that the project was kinda hard to pick up. It was fairly complicated and I really wasn’t given a lot in the way of information. The other issue was that I had a whole bunch of other stuff going on, and so they weren’t happy with the hours I've put in. They weren’t happy with the progress I’d made and they really didn’t feel like I was contributing. I wasn’t billing them time for just sitting around and wishing I had something to do, but they expected a little be more from me and we had the same conversation. “You know, this doesn’t look like it’s gonna work. We’re gonna have to have you send back the retainer; we’re gonna have to have you send back the equipment we sent you” and things like that. And yeah, what really happened was they were, in not so many words, communicating what I failed to understand is their needs. So I rearranged my schedule so that I could spend more time online with the rest of the team, so I wasn’t working as many hours at night and then I just jumped in and I just started squashing bugs as fast as I could. Once I understood what they needed, then it was easier to make that happen. But the other thing was, yeah, I was a little bit bored on that project – still am, sometimes. So, I think communication is really the key there. REUVEN: Absolutely. I’ll say by the way, this same client, we had a graphic designer – I think it was about a year and a half ago now – to do some work and I recommended someone. She’s super nice and even pretty talented, and it was just bad. It was just a bad match in every possible way: she was going through a divorce, she was going through all these stuff, and her professional work was being affected dramatically by this. And I think she also got it over her head with the technology. And because I had a positive relationship with them, and because there was a lot of trust, I was able to get through that and basically negotiate a relatively happy end to that. I mean, they were still a little ticked off – very ticked off – with her, a little ticked off with me for bringing her in, but we decided, “So how are we gonna move forward in the future with such things?” I don’t know if I had – I mean, I think it’s because I had a [inaudible], based on the years of trust that had accumulated until then that they were willing to forgive me on this front. CHUCK: Yeah, makes sense. Alright, you guys have anything to add as far as helping your contract that’s gone a little bit the wrong way? CURTIS: I think what I've heard as we’ve been talking is making sure – or often it’s come down to not establishing their priorities properly right up front and not understanding what they view is the priority, right? That’s what you just said about re-allotting your time; I know that’s what I found numerous times, is not understanding their priorities up front. CHUCK: Yup. And I think the other thing that you brought up that I really liked was establishing their role in the project. We need you to do this, we need you to be involved this way, and just making sure that they understand their role in a way that they need to communicate with you to make things move forward the right way. CURTIS: Yeah. My contract actually says if they don’t deliver their portions on time, then we get extra days to do it. CHUCK: Nice. REUVEN: Oh wow, that’s very smart. CHUCK: I like that. CURTIS: Like if I'm waiting on PayPal credentials from you, I can’t do anything. So I don’t pay for that ‘cause you can’t get it. CHUCK: Yup. CURTIS: There's one, actually my old contract said if they didn’t get me something in two weeks, basically if they haven’t communicated at all for two weeks, then I was gonna invoice the project. And if they didn’t come back within a month and the project was done, once I invoiced it, they had to pay in full for it to continue. I have had one client who didn’t move it forward, I sent them the invoice, and they paid in full, and then they did a little bit but then didn’t move it forward and they – I haven’t heard from them in two years. CHUCK: Wow. Sounds like we might need to do the contracts episode again ‘cause I would love to see what's in you guys’ contracts. I've been thinking about having mine redone because I keep hearing about different things, different options that you put in ‘em that I really like. And I think that’s another thing that is important – that the contract lays out at least some of these expectations, both for you and for them. Then you can at least point to it and say, “This says that I'm going to do this, and this says that you're gonna do this,” and then if there's any question you could just go back to it. Alright well, let’s go and have the picks. Eric, what are your picks? ERIC: Okay. Just got one, it’s a blog post today. It’s called, “Why I play video games.” It’s an interesting post. I grew up playing video games; I actually had to stop because I played them too much during college, but then I've got [inaudible] casually, like an hour or two here. This interesting post is by a guy who actually does development, has products and stuff, and he kinda outlines why plays games and how they actually make him better at things. So it’s an interesting post, especially it being kind of a holiday season in the US, people are winding down, there's not much work to do. This kinda gives a nice perspective so you're not always beating yourself up if you play video games or do stuff you know is not ultra productive to do. CHUCK: Alright. Reuven, what are your picks? REUVEN: Okay, so I've got two picks for today. One of them is I'm going to do some shameless self-promotion. I am gonna be doing an online Python course next month, that’s in January – January 14th. Three days of online, intensive introduction to Python. So I've put the link in the show notes. Also, I'm giving a 10% off coupon to listeners of the show: freelancer. That’s ‘freelancer’ – singular. So anyone who’s interested in learning Python, or deepening their introductory, basic knowledge, come on down to the course. My other pick is one of the most amazing books ever about computers – as far as I'm concerned – called “The Mythical Man-Month” by Fred Brooks. And for those of you who have not read it, you must absolutely, positively must. He managed an IBM project back in the late ‘60s and okay – it’s not about computers, it’s about people, but it’s about the computer industry. Fine, fine, fine. But imagine an IBM project: the OS/360 project in the late ‘60s. Lots of things went wrong, and he wrote about what went wrong and how you can improve the processes and work with people better. And what's sort of shocking is how many of the things that he writes about that went wrong then, basically we still do today. And perhaps the most famous example is what he calls Brooks’ Law, which is adding people to a late software project will only make it later. Virtually, every programming class I give I mention this, and everyone just sort of gives these horrified chuckles. Like, “Oh my God, my company does that too.” CHUCK: [Laughs] REUVEN: Basically, the upshot of this book is we haven’t learned anything in 40 years, but it’s a fabulous book and very interesting, extremely well-written, with a lot of great ideas for how to improve these sorts of processes so that either fewer things go wrong – right, yeah, Eric mentions the great analogy of “The Mythical Man-Month.” Right? It’s the title of the book. So you can’t say, “Oh, this project will take 10 people six months, so we’ll have 20 people work at it and it will take three months.” And the analogy he uses is you can’t take nine women and have them each be pregnant for one month. It just doesn’t work. In the same way, you can’t do that to software projects. It’s a classic, and for good reason, and for anyone who wants to try to extricate themselves from bad situations, or learn how not to get into that situations, I very highly recommend it. CHUCK: That was one of the only books in college that wasn’t for a literature course that I was required to read that was worth reading – and that includes my textbooks. REUVEN: [Chuckles] CHUCK: Good book. Alright Curtis, what are your picks? CURTIS: First thing in the pick: these computer speakers I have, which I've had for I guess two years now, three years even. They're Bose Companion® 2 speakers, and they are not the loudest things, so they're not for, say, for filling a huge office. But I have a fairly small office. They are very clean, very crisp, and sound excellent all the time. My second pick is the Bellroy Very Protective Wallet, which I finally decided to get myself. I've been working with a Mexico wallet that says Quiksilver on it – I don’t think it’s from Quiksilver ‘cause it was like, 10 pesos, and I've had that for about 10 years and duct taped it a few times and decided this week that it was time to get a new wallet. The Very Protective is fairly waterproof, it’s certainly rainproof, and slight dunking-proof and quite small. CHUCK: Awesome. Alright, I've got a couple of picks. My first pick is – did I pick this last week? I don’t think I did, but I'm going to pick it again anyway if I did. I was talking to Eric about my course that I'm putting together for freelancing, and he pointed out a failing that I had in the curriculum and then he mentioned this book and I've never read it. I've been listening to it off of Audible, it’s called “Duct Tape Marketing” by John Jantsch – I think that’s how you say it. Anyway, awesome, awesome book. There are a ton of great ideas in there. What I failed to put into the course, it’s something that I had, it’s something that I did, it was just something that I didn’t realize was a critical piece of what I had, and that was that you have to have a process. You have to understand how to help people decide that you're the right person to help them. So anyway, I'm gonna pick Duct Tape Marketing. I'm also still loving Audible, so I can put a plug-in for that. Finally, I was sitting around recording a podcast this morning, and I got this text message on my phone. It turns out that my wife, because she loves me, got me tickets to – or got us tickets to – the next Hobbit movie. And if that comes out – I think it comes out on my birthday or the day before my birthday, I don’t remember. But anyway, we’re gonna go see it in 3D IMAX and I'm excited. So, those are my picks. ERIC: I believe it comes out shortly. REUVEN: [Laughs] CHUCK: Shortly. Yeah, I think it comes out --. REUVEN: [Inaudible] CHUCK: I think it comes out on the 13th and my birthday is on the 14th. Anyway, so those are my picks. I’ll guess we’ll wrap up the show. We’ll catch you all next week!