The Ruby Freelancers Show 003 – Firing Clients
Panel Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) Eric Davis (twitter github blog) Evan Light (twitter github blog) Jeff Schoolcraft (twitter github blog) Discussion George Bush misquote Cashboard Non-payment/Late payments Lack of Communication Working for a client is like a dating relationship Subcontracting Blame Local vs. Remote Corporate Culture Find clients who are willing to learn Communicate before you fire the client Watch out for people who push back on non-negotiables in your client The client must sign a contract It makes a difference if the client appreciates your work If things become emotional, just nod and say "Thank you for the feedback." Watch out for long silent spells Zero Bullshit Policy We want clients to be more like business partners rather than masters (with us as servants) The Shrink Principle Have a website 3 day reminder from the billing system F*** you, pay me. Make sure you get a deposit Be helpful and professional Punctuality for meetings Overused relationship metaphors Fire them as soon as possible if it can't be saved Book Yourself Solid by Michael Port Picks The Secret of Consulting by Gerald Weinburg (Evan) The SaaS class at UC Berkeley (Jeff) The SaaS book for the UC Berkeley class (Jeff) Stanford on iTunes U for iOS (Jeff) FutureRuby talk by Dr Nic (Eric) F**k it (Eric) Hubspot (Chuck) The Third Tribe (Chuck)
JEFF: I need a recording on air or off air, so I know when to just to let Evan say everything stupid. [Laughter] ERIC: That’s just when you are on the call. EVAN: Yeah, I was waiting for that. You really just put that one up there, Jeff. Thanks a lot. JEFF: You're welcome. CHUCK: Hey everybody and welcome back to the Ruby Freelancers Show. This is episode 3 and this week on our panel, we have Eric Davis. ERIC: Hello. CHUCK: We also have Evan Light. EVAN: I can't believe we’re still here. CHUCK: I know. And Jeff Schoolcraft. JEFF: What's up? CHUCK: Well, typically most people pod fade before episode 6 or 7, so yeah, we'll see. We still 3-4 episodes to put together before we are out of the woods, I guess. ERIC: So is pod fade like your iMac you are talking about? CHUCK: [Chuckles] Yeah, my iMac, my soundcard went out, and I had to switch it out. It's a usb, so it's not a big deal. ERIC: So is there a pod balance and a pod woofer or something? CHUCK: I don’t believe so. Pod fade is the term for you stop podcasting without any warning. Like they are people that say, “Well, I’m not going to make any more episodes.” I don’t think that’s pod fading. You kind of disappear off the face of the earth. Anyway, this week, we are going to talk about firing clients. EVAN: Yay! CHUCK: I’m sure you've all fired clients before. EVAN: Yeah. Jeff doesn’t have to admit it. We know that Jeff has. JEFF: [Chuckles] EVAN: [Laughs] I heard that laugh. CHUCK: [Chuckles] Alright, so I don’t have a real strong experience with this. I mean, I have one client that we kind of mutually parted ways, but I haven’t actually told the client, “I'm sorry, I can't work for you anymore.” So I’m a little curious as to what circumstances kind of bring this type of thing about… JEFF: Non-payment and lack of respect are probably two big ones. EVAN: Oh yeah. Nonpayment would have to be numero uno. CHUCK: Right, of course. So nonpayment., at what do you go and tell them that you’re not going to work for them anymore? I mean, the first time they miss or if they are late? I mean, where do you draw that line? EVAN: I'm guessing everyone is going to say what I’m going to say now, but the answer is always ‘it depends.’ My contract is pretty clear that if they are more than net 15, then I can terminate the contract. I've had several clients be a little bit late, but because I either like and/or trust the clients enough to know that they will get it, they just haven’t gotten around to it yet, I’m often just okay with it, because I have enough in the bank, I'm not worried about not getting paid every two weeks, it's just nice for the clients to be consistent. On the other hand, I had clients where they're a month and a half, two months behind, and they are routinely troublemakers in various senses to begin with. And I put it to them straight, “If you guys don’t pay me in the next week, I’m out of here.” But I usually tolerate more than what's in my contract. CHUCK: [Chuckles] I appreciate that. EVAN: Usually. I guess I haven’t had enough issues with customers where I would attack them with that right away. JEFF: Let me ask you a question, Evan. So your example is six weeks, eight weeks late, and then “Pay up or I’m done,” type thing. Now, have you covered enough of your work with their deposit? If you got a deposit with them, but have you covered enough work, so that you can write off whatever they’re supposed to pay you, and not… EVAN: In those cases where I've where I've let them get that far behind, no, actually I haven't. And so it's a risk, but it's also a decision too, because when I’m aware that when they are late, and I give them reminders when they are late too. It's just that some people are terrible about their email, some people are terrible about paying their bills on time, not that they don’t have the money. They are just bad at it, I understand that. That’s been me sometimes. So I’m reasonably understanding and flexible about it¸ but if I have less, but if I were to have client, that I have less trust in.. I mean, we all have various degrees of trust, or have had various degrees of trust in all of our clients. I would be less flexible with clients I had less trust with. JEFF: As far as the situation I’m in now, I've got… and the client I’m thinking about, they are 90 days late or something like that. EVAN: Wow. JEFF: Ridiculous. I mean, I had a lawyer send out a payout letter. And some other point, don't have a deposit, they'll cover that. They are one of my longest clients. And they’ve been fairly good with the payment in the past. I've had a couple of issues with them, and Eric will tell you that I should have fired them a while ago. So I'm in that situation now, still waiting for the check -- if the check ever is going to... At one point, I decided that I’m going to cut my loses and just send them to the “Fu, pay me,” or just. EVAN: Well, what I've done is I will have a… what some people call, “Come to Jesus meeting” because I'll get them on the phone or equivalent, and I'll say, “Look guys, if you don’t pay me, I don’t work. Plain and simple.” Now you don’t necessarily wanna start with that. So what I’m getting at is have you talked to them about it? JEFF: Yeah, I talked to them a couple of times, and it's not necessarily… so this is an interesting place because they are not expecting it ton of work from me right now. So this from… I don’t know, at this point, October, November last year, was sort of the last engagement that we had. And then invoiced them maybe for November or October, something like that. And their first invoice was due or their check was due maybe the end of November or something like that. So there was a lot of stuff that was on hold, because I’m sub to a sub, to maybe another sub. It's a weird arrangement. They provide IT support for some type of companies. They provide a bunch of software support for a bunch of companies, but their main product is Flash stuff. And so I came in to help them with some Rails stuff. The whole promise, it's sort of all the signs were there if you look back at it. So estimate this stuff… EVAN: Wait, wait, lets back up, especially for the sake of the listeners. All the signs were there. JEFF: We’re cover them as I go. CHUCK : [Chuckles] ERIC: He's got a list. CHUCK: Yeah, this going to go from “firing your client” to “how to handle nonpayment”. [Chuckles] JEFF: Yeah, and sort of… I mean, we talked a little bit about it last week, how do you know it's a decent client. And sometimes you can't know. They can talk a good talk in the beginning. So this has happened before. And I even told them at one point that I was done, I was going to quit. And stupid me, I let them talk me back into it. The sub to a sub thing, we had a mutual distaste for their client, which ultimately is my client, and whatever. And so I let them talk me into helping them out again. They were working on a system, they were trying to productize it, but they are using their other client to pay for some of it. Maybe they'll get some money, lets come up with the scope to build this thing out. Maybe there can be some profit sharing in this tool, or at least they'll keep coming back to me for implementation and… EVAN: There could be atleast two or three different things in that last run on that you said that scared me. JEFF: Yeah, yeah, that’s what I was saying. We'll cover all the signs eventually. EVAN: [Chuckles] There are more. JEFF: There are more. So I was like, “Alright, fine.” I get in. You think this guy is a jerk, and maybe some of that is rolling downhill, but whatever, I'll give you another chance. And so back to the original question, when do you fire somebody, I try and give people a chance. The whole George Bush thing. EVAN: That’s what I was getting at to. JEFF: “You can fool me once, but you can't fool me again.” EVAN: [Laughs] JEFF: Whatever that quote was that he did botched. EVAN: I don’t think any of us are going to get it right because he… CHUCK: [Laughs] JEFF: So finally, I talked to them. And so I use cash board for invoicing. So it was because of them, this client that I have automatic reminders setup. And this is annoying as hell, but every three days, cash boards sends them an email that says, “Your invoice is late,” with the pdf, with the login to the thing. And now we are going on 90 days. So they’ve gotten 30 something emails from this. You would think they would just get tired and say, “Hey, stop sending me damn emails. I'll give you whatever payment they need to give me.” But they haven’t. So emailed, called, called my customer, called the CEO of my customer’s company, IM – it's like they disappeared. “Oh, we're moving offices, we'll get back to it. We have a part time bookkeeper, we'll get to it.” And then finally… so the last straw that should have been like ten straws past the last straw, was our client finally approved the invoice, and so we'll pay you. So they were floating me. So instead of… EVAN: They were floating you while they were waiting to get paid. JEFF: Exactly. So instead of assuming the risk of taking on a contract or not having the money to pay the contractor, they were billing everything upfront, waiting to get paid before they’d pass the money on – which is a horrible way to run a business. And thankfully, because of them, I pay everybody like within the hours of being invoiced that's my sub… I mean… EVAN: Well, that's how we learn how to do stuff like that, right? When we are treated badly, we learn how we want to be treated. JEFF: Yeah. EVAN: I've been in a similar situation before, and it's why I try to pay my subs in a timely basis when I do have them. Although that's a whole different topic. I generally don’t like having subs anymore. And we can have a whole different discussion about that, but that shouldn’t be this talk, this particular podcast, I think. JEFF: Yeah, I mean that's always… so red flags. I mean, obviously missing the payments, missing payments is huge, lack of communication on any part, when the other side goes dead, either you updating your client or your client getting back to you, that's normally sign for some things be irrevocably bad. EVAN: Yeah. JEFF: And you are like a step away from terminating and falling out or whatever. EVAN: Okay, so now I'll make this all about me because it's been about you [Laughter] EVAN: No seriously, because of lack of communication, that was a primary reason that I fired a client most recently. This was maybe six months ago, maybe a bit less. But I had one client where I was… getting back communication. The guy who was paying the bills delegated the project manager role essentially to someone too… in his tiny hierarchy down from him. Then this guy who he relegated the responsibility to also had no authority. So basically, the worst kind of possible decision maker; someone who can't. And so I went and ask this guy a question. And I would also tell him things that he should pass up the chain of command, because this thing will affect schedule. “This thing will affect schedule. This thing will affect schedule. You are increasing the scope, therefore it's going to affect schedule, and it's going to cost more.” I'm telling him all these stuff, and I only find out months later essentially, because the guy at the top is too important/busy to talk to me. This guy at the top wasn’t hearing any of the stuff, so he was inclined to blame me for all of it. And the he realized, when I finally get to a point where I said “I can't take it anymore,” and fired them, he finally realized that it was this guy in his organization wasn’t passing information to him. But then of course, like most relationships, not being willing to accept the blame himself, he blamed me for that anyway. CHUCK: Right. EVAN: [Chuckles] That’s the other fun part. I think maybe it was Eric who said last time that working for client in a way is sort of a courting relationship. So when you are dating, if you were single, when you were dating and you break up with someone, usually they are not going to say, “It was my fault.” And people who do that are usually are the ones with low self-esteem problems. People with a healthy self-esteem will occasionally be honest and admit there were issues on both sides. But often, people will say, “No, it's the other person’s fault.” And that seems to be the case with contracting. JEFF: That’s another red flag, not the self-esteem, but not working for… not having your point of contact to the guy who writes the check. EVAN: I hugely agree. That’s what I learned from that project. CHUCK: I ran into that kind of with one of my clients. And basically, the way that it worked was they kind of delegated one of their design staff to manage me, to help keep up their application. So he wasn’t writing the articles, it was kind of a new site. He wasn’t writing any of the articles, he really wasn’t putting together any of the main graphics. He was kind of in charge with the overall design. And initially, they had somebody in there who had done project management, and knew what she was doing, and was gung ho about the project, and really got what needed to go on. And so, she could get the stories together, she could clearly articulate what they wanted, and then get the stuff done. And she wound up leaving them, and I wound up getting passed from the like the top boss, to the next person down boss to this guy that just, he didn’t have the experience to manage somebody remotely like the way I was working. So it turned out to be this kind of weird dynamic that we dealt with for a few months. And then finally, he decided that the just couldn’t somebody remotely. And so, about that same time, I was dealing with, “You are not willing to pay me updated rate,” because I’d raise my rate, and they really weren’t willing to pay me that higher rate, mainly because I was remote, and the other thing was that just in general, they decided that he wanted somebody in house, so that he can manage it. So between all of the miscommunication and everything else, I was about ready to tell them, “You either need to pay up or get lost” – in a nice way. But was kind of the deal. “You are going to pay me my rate, or I'm going to find someone else.” And at the same time, they came to me and said, “We found a local guy, and we want a local guy.” So it was kind of a mutual breakup, I guess. EVAN: My last client, it was very similar that way. But what I think, what you are saying abstracts to what my experience with my particular client abstracts to, is it comes down to cultural differences. And I'm way out here on the east coast. These guys here are from San Francisco. And their development process was less ensured than my own. Their Ruby or Rails chops wasn’t as good, so I was trying to learn them up as we went, but… I think one of the feelings I've had with this particular group, the four of us talking is that we are all very focused on learning. And I like clients who are open to learning, and I don’t like clients who are not open to learning. And these guys had basically… I guess most people only have so much tolerance for learning… like, people only have a finite amount of willpower -- at least what some studies have shown. So, once you've exercised that amount of willpower, once you've learned everything that you can take in, once your pitcher was full essentially, then people will shut down. And that’s what this sort of what client did for me, and I didn’t wanna deal with it anymore when they were first… I think. It’s that and also being remote to them was I think somewhat of an excuse, but I think it was more of a cultural fit. CHUCK: Yeah, I can see that. And it sounds like you were working with the same company, or you run in to a lot of the same issues, because yeah, they were not as mature with development. In fact, they had outsourced the development initially, and then once pivotal labs got done with them, then they got handed off to a guy that was junior to me, and then he couldn’t do everything they wanted. So anyway, it got passed on to me. It was just kind of the way that it was. I had kind of a way of doing things. I tried to help them understand, because they were already using pivotal tracker and a lot of the other tools that I use, but yeah, they just didn’t quite get the development process behind something like this. EVAN: Right. So what I hear out of this is something I've kicked around before as idea. Maybe we need to collaboratively a write a contractor patterns book. Although I kind of feel like it was a Gerry Weinberg, oh yeah, there we go. Sorry, I just got my pick for the week right there. But I'll save that one for later. So that book is sort of already been written, but I don’t know if it’s been written in a more contemporary sense. Because what we are both describing is so similar, but from different organizations. CHUCK: Yeah. JEFF: I was actually going to get back to Eric’s original question, because this sort of get Eric to figure out sort of stuff I need to implement. So, I'll let his answer to the original question when you stop… when you fire a client, I don’t know how he’d answer that, but I know he will say that he stops work the minute they are late on a payment. And so I guess my question to that is how is that structured? How is that whole bit structured, I guess from deposit upfront, how much of that carries or covers some of your work, and how frequently you bill, how quick are your turn around terms. I mean, it's a great idea; “You pay me or I stop working.” And I wanna limit my risk as much as possible. I don’t wanna do work for free. So it's just sort of what the implementation looks like from Eric’s side. EVAN: It’s about risk exposure. And as I was saying earlier, it depends, right? Because if you have a good relationship with the client, if you trust them, then it's the perceived risk is lower. If you don’t know them that well, then the perceived risk is higher. And yes, I know you said “Eric”, Jeff. Yes, Eric needs to talk. ERIC: Yeah, so I have two stories I wanna go through real quick. The first I kind of want to point out is just listening to you guys, it really seems like most of the times when you fired clients, it's been because of… I’m going to say, “people issue” but that’s kind of a vague one. But it's like either there's a culture misfit or in clear communication or you're delegated way too far down the stack. But it actually comes… that’s the source of the problem, but it actually comes back when they’ve missed a payment or they late on a payment, is what actually triggers the actual like, “I'm going to let this client go.” So I don’t know if you guys noticed that or just something I saw as kind of an interesting thing in that, the root of the problem, and there's the thing that kind of like kicks the problem over and makes it actually make a change. CHUCK: Yeah, in my case, they had never actually missed a payment. It was literally just friction over a little bit… well, over several months that I was getting to a point where it was just like, “Look, we need to change something, or this isn't going to work.” EVAN: Mine, in one out of two cases, I guess I've only fired two clients. One of them was spurred partly by payment, the lack of payment, but not really, it was mostly communication. The other one was almost purely cultural. They were always on time. CHUCK: So what are your stories, Eric? ERIC: So there's two times I fired or let a client go that I can think of. I've done it more than … too. I still draw on what I did. One of them, basically they paid on time, it was a good kind of financial relationship. The work was interesting, it was fun, it was for a pretty munch a brand name type company. The problem was they were really fighting back on contract stuff, which I was fine with, but they were fighting back on things I couldn’t budge on. Mostly IP stuff, because of GPL type code, and they want it to not be GPL, which… I can't do. So I mean, we hammered some of that stuff out, and you know, did a prototype project and then we were doing a second one, and because they want to limit their risk, we scoped so that the contract was only for the prototype. We were going to do a second smaller contract, once we actually did the actual implementation. The problem that it came down to is when we started negotiation for the implementation, one of the guys got really upset, and started complaining about, “I don’t wanna sign another contract. We do this first one. We don’t need another contract. We can just go on like a good faith type thing.” Which that’s red flag number one, if the client does not want to sign a contract, that’s kind of a bad thing right there. And especially considering the company have a lot more money than me, and a lot more lawyers than me, it's not something I want to deal with. So that was kind of like, I can kind of work my way through that alone, but the client kind of said some things to me in a way that basically said I wasn’t really… he didn’t appreciate my work, even though like maybe two weeks ago, he was saying like how great this was going to be for him and his team. And long story short, basically I said, look, “I'm sorry it came to this, but I’m not going to work with you anymore. I just don’t think we are good compatibility… match.com, rating, whatever you wanna call that.” And it ended up just by saying that he kind of got really upset and went off to handle at me. And whenever you are in a business relationship and someone goes emotional, you just kind of nod and say thank you for the feedback and just let it go. Don’t try to fight back. So that was one way I kind of let a client go. I'm kind of happy I did because I saw some of the stuff they started doing afterwards, and it kind of went down the wrong path as a business, so it's fine with me. Another client, I worked with him for I think 2 or 3 years, paid on time, I mean he actually would pay. It would be like the 20th of February, he would pay me for March’s work. I haven’t even invoiced him, and he'd said a payment just approximately how much it would be. Great guy, really quick with feedback, everything. Kind of an ideal client, but due to circumstances in his work, he basically got promoted, and lost some people on his team for various reasons. And just a whole bunch of things happen, and he actually lost a whole bunch of time for me to work with. So, it came down to from what used to be a couple of hours a week of communications, really prompt stuff to like I wasn’t hearing from him 3 to 4 weeks at a time. And because I wasn’t in contact with my invoice is started getting paid later, and later, and later. And it got to a point where every month, he was late, about 15 days, which is not a big deal, but coming from someone who’s been paying early, that’s a huge change. And so I ended up working with him saying like, “Hey, I know you don’t have much time to kind of help manage or plan this. I did some of it for you, and I've kind of put the project on … support, so that it would atleast function.: And when the contract came to be renewed in December we basically both agreed to kind of just let for now and come back for it later when he has time. EVAN: So to go back to the dating metaphor, it's like your girlfriend became somewhat completely different. CHUCK: [Chuckles] ERIC: Yeah, it be like she got a new job, and wasn’t able to devote time to the relationship. EVAN: [Laughs] Right. Really, I think you hit the nail on the head there with the courting metaphor. ERIC: So I mean, those are the two that come to my mind. And the lessons I learned kind of from the first one is I mean, I call it my zero bs policy. I actually don’t say bs. I say that actual word for it, but family podcast all that But it kind of like if someone is going to insult me personally, or do things that I don’t personally don’t feel comfortable doing, that's something I don’t wanna do with, and I try to tell the clients, see if they are doing it purposely or if it's an accident. And if it's on purpose, then I try to like get away from them, and get out of the project. And the other thing is like I said a minute ago is payment. If people are late on payments, that’s a big deal to me. I mean, I have enough leads, enough work that I can work with someone who is going to pay me, so I don’t have to worry about like chasing down payment and then figuring out how am I going to make the mortgage on my house and all that each month. EVAN: So I wanna go back Chuck on this for a second. You got me thinking again, which doesn’t happen enough, obviously. CHUCK: [Chuckles] EVAN: I had to slam that ball before someone else do. CHUCK: [Chuckles] Right. We got to exercise that mental muscle, huh? EVAN: [Chuckles] Yeah, you guys have to catch these rebounds here. You have to slam dunk the rebounds. I really do that metaphor. Anyway, so Chuck, when you had that cultural non fit, one thing that Eric mentioned here that clicked, he said something about essentially being disrespected by a client. Did you feel that too with that client where you said you had to a cultural mismatch? CHUCK: I did a little bit from a guy that was managing the project. But the other thing was that… I mean, I was maintaining this application for basically this entire branch of this very, very large company. And it was funny to me how I've kind of got pushed off as kind of a side interest. And so, I don’t know that it was disrespect so much as they really just didn’t appreciate what I was putting together for them. EVAN: Well, the reason I ask is because again, Eric said this, that I think to some degree as freelancers, whether we wanna admit it or not, we also suffer a little bit from the pre-madonna syndrome, just a little. We want people to pay attention to us. But I think in mostly a healthy way though, that we want them to acknowledge the business value that we're giving them. In my particular case, my ideal client is someone -- and I think this is probably true for you guys. Maybe not Jeff, with some of the things I've heard him say, but we'll see -- that we want our clients to be more like partners to us. In the dating sense, we want to be more like business partners, rather than clients retaining us, and we are just servants. I've worked with clients where I've operated in a servant-like role, where here’s stuff that’s broken, can you go fix it? And I'll do that occasionally, but it's not what I prefer. I don’t enjoy it nearly as much, and I don’t give clients as much value, because they don’t give me the opportunity. And I'll try to give them more value occasionally and find that they are not usually interested. The clients who involve me more are the ones that I like working with more. This client I mentioned where I was delegated to runs down the hierarchy, they very much treated me as a servant. “We are paying you a lot of money to not have to worry about these problems. Just magically make them go away. We don’t wanna know anything about it.” And as we all know, we can't have a project like that, because without that communication, you don’t really know what problems is they want you to solve, so you solve the wrong ones. ERIC: Or you solve them the way that’s not going to work. Like using technology to solve cultural issue. EVAN: Right. CHUCK: Yeah, one other thing that I wanna point out is this particular client that I had issues with, they did hire a local guy, and I think they were paying them quite a bit less than they were paying me. And I think that kind of… I think that hurt me a little bit as far as being able to maintain the relationship, because I think the guy that I was working with, he didn’t quite understand why they were paying me so much. The other issue that I ran into was basically… oh man, I hate that. My mind just went blank. ERIC: Well here, chuck. The thing you talked about don’t know why someone is paying someone that much, I don’t know where I heard of it, but that's called shrink principle or something like that. It's where someone will pay a consultant as much money as they need, unless it cost less to pay a shrink to help them deal with the stress of having that problem. CHUCK: [Chuckles] ERIC: So if a shrink is $200/hour, they can just deal with the stress of having that problem for the rest of their life for $200. Or if the consultant is $150 to fix the problem, they'll pay the consultant. So I have some management book, but I keep referring back to that whenever people talk about rates and “Oh we could pay or just deal with this using something else.” CHUCK: Yeah, that’s definitely interesting. Though I have found that if somebody goes out and say they hired somebody half my rate, they’re going to probably pay about 1 and a half times to get the same amount of work done. And it's just because it takes that person two to three times as long as it takes me. It's not just the time from start to feature release, but it's also the time that you spend maintaining it afterward. So you are sacrificing both the quality and your time to market by hiring somebody at a lower rate EVAN: Usually how it works in the market is you get what you pay for. If you offer $30/hour for an iPhone developer, heard that lately, but if you offer $30/hour for an iPhone developer, then you are going to get probably really shitty code, that might or may not work. It might crash your team, it might be difficult to maintain. If you pay them the typical market rate supposedly somewhere around $150/hour, you'll probably get something that works pretty well, and reasonably maintainable and extensible. But you know, give or take some variants, you do get what you pay for. CHUCK: Yeah, absolutely. The one other thing that I was going to point out was that in a lot of cases, this client didn’t understand the development process much, because I mean the guy was a graphic artist that was managing me. And so some of the things that were bothering them were relatively easy to fix. And so I just go in and fix them. I mean, I’d crank out like 3-4 stories in a couple of hours because they are so simple. But then they come back with something that was a little bit more involved, that tied into a bunch of other areas of code, and so I’d have to go in and run the test and make sure that everything was buttoned up nicely, so that it works the way they wanted to. And I found that they’d get frustrated then, because I wasn’t cranking out this one feature in half a day, was taking me two days. And I was only working for them two days a week, so I’d crank it out in a couple weeks is really what it felt like to them. And you know, it's really hard to educate the client that doesn’t really want to hear your “excuses”, they just want to see you crank code out as fast as humanly possible. EVAN: And that’s someone you fire right there. [Chuckles] CHUCK: Yeah. EVAN: Yeah, one thing that I was going to mention in a pick, but it's a really big thing is that have a website. And then that’s kind of a no brainer. Have a website, just have a fairly simple content that is not going to change very often. And in my case on my side, I have very clearly stated, “These are the principles of how I work, and I really do stick closely to them, and I really do mean them.” And some of it has stipulations about how I expect my clients to behave as well. It's a little more indirect that way, but then I mention partnership, I mention win-win. And to some degree, the things that I say obligate my clients. And if they don’t behave that way, then yeah, what you described is the kind of person I would totally can. CHUCK: Yeah, absolutely. So one thing that I wanna jump in on is how do you fire them? How many warnings do you give them? Do you back things off slowly? Or they miss a payment, you come up and you say, “If you do this again, you are gone.” And how delicately do you express that? JEFF: I’m actually not the right person to ask. I mean, having… EVAN: [Laughs] CHUCK: [Chuckles] JEFF: I mean, having waited 90 days for this client to send me payment. I mean, I don’t know. I think the three day reminder automatic reminder from the billing system, maybe once might be a decent idea, but I mean, you said in the beginning you understand that people make mistakes or whatever. It's hard to… you forget to pay a bill or whatever. And it's easier for me to run somebody else’s life than my own life, but I mean, I think those excuses are sort of BS. And so, hopefully, I can turn this around and use them myself. But if you're important enough for somebody to hire, to do some job to help their business make money, you should be fairly important to get paid. So I'll forgive sort of a mispayment, something happen, lost the mail, whatever. I mean, I have heard a tone of excuses from this one client that I’m going to fire, stood on the hall and I wait for them. At this point, I don’t know how long I'm going to wait for them to send me a check or give them the finger, but I mean we a have part time accountant and the president went away, so we can't deal with your check. There's got to be some back up in place. You can't tell me that for two weeks, while the president of the company is on vacation, that you can't pay anybody. So I don’t know. I try to give people a break. I mean, you forgive them once, and if they make every amends… I mean there's some clients I've had that will pay me hours to wire me the money, they'll pay me the money, they'll say, “How do you wanna get paid?” And I'll tell them and they'll do it. EVAN: Jeff, let me interrupt you by asking you a question… JEFF: Interrupt me in a second. EVAN: Okay. JEFF: The customer is, “Oh we're, thirty days late. I'll send you another check in the mail.” “FU, buddy. Wire me some money, or drive down from New York and bring me the money.” EVAN: Okay, so the reason I wanted to interrupt is I’m trying to rectify the “FU, pay me.” That you are saying right now essentially with the “I’m putting up with the client taking this long to pay me.” JEFF: See this is the thing… EVAN: The real question is how are justifying this to yourself, waiting this long? JEFF: The justification is I’m not doing any work, so I’m waiting.. so for me, I’m just waiting for this last check to come in before I shut them off. That’s my justification. And at some point, I've got to ask myself, “Do I wanna keep waiting for the check,” which is not an insignificant amount of money, but it's money that I’m going to lose. So how long do I wanna wait before I just forget that I don’t wanna deal with you people or at some kind of termination. But hopefully… EVAN: Have you considered sending a collection agency after them? JEFF: I haven’t sent a collection agency after them. I did get a lawyer to write a… And so that should been received. Well, I got my copy of it ten days ago or something like that, and still no word from them. So at some point, I mean, I get voicemail. I try to leave voicemail, the inbox is full; emails don’t get responded to; the automatic emails don’t get responded to; instant messenger is not responded to. I mean, they basically gone for whatever reason. But back to the original question, I mean, I try to forgive once, especially if they are really good about making it up to you. If they genuinely feel mortified that they missed a payment to you, and do everything in their power to make up to you, then that’s probably an awesome client to have around, as long as they don’t mess up again. But the flip side of that is that if they miss it and it's no big deal, “We'll pay you when we get to you. We'll pay you when our client pays us. We'll send you a check and you'll get it when we feel like it,” then, “FU, pay me.” EVAN: Right [Chuckles]. That would be linked in the show notes, for sure. CHUCK: [Chuckles] I think I’m going to go register the domain “Fu pay me” ERIC: You should. CHUCK: Alright, so Eric, it seems like you've got some experience kindly cutting people off, and saying “Bye.” What do you do, typically? ERIC: So the really bad one that I let go a while back, gone off to prototype and then do the contract for the second one, that one due to the time it took for contract negotiations. I actually got all the payments from them, and so it ended up like contract negotiations email to back and forth. And you kind of feel when the emails are kind of getting like, “Okay, this is really unproductive.” People are like talking pass each other. And so I just picked up the phone and talked to them. And you know, that was the moment of like, “Oh, I really shouldn’t be working with this guy. He's going off now.” But I just kind of told him like I’m not going to be doing any more business with you. Best wishes all that -- and let them go. And because the previous contract was done, and I had all my payment, it was kind of a quick band aid like, just tell them I'm not working and finally moving on. Kind of my longer term client that got really, really busy, during the time, like I said he was paying like before I even invoiced a couple of months, but then a few months actually at his accounting department lost the invoice, I think once or twice, and I would say “You are late on a payment. What's going on?” I mean, he would basically say, “Oh, let me check with accounting.” And then five minutes later, he's like “Yeah, accounting doesn’t have it. Can you resend it? I'll take it down to their office and deliver it to them directly.” And then two days later, I have the wire coming through to my bank account. So I mean, he was really good about that. And with him, it just kind of came like kind of what Jeff was saying. He just started sort of going dark for longer and longer, and I think it ends up like, I think I talked to him like twice in a month, by the time we kind of decided like let’s just part ways. And it was very nice just like, you know, if he comes back to me and he says, “Hey, I have more time. I wanna work with you,” I have a lot of respect for him, so I would pretty much to sign him again, with probably be a bit larger deposit just in case he goes dark again. Other clients, I've told some in email, just “Hey, the project is done. I’m not going to be working with you.” And they'll get back to me and they'll say “Hey, do you want to do more work?” And I'll say, “Hey, I’m sorry. I'm busy.” Or “I’m just not able to take your project at this time.” And kind of try to be nice about it and kind of point to other developers or refer them to other places they might be able to get the work done. Try to be the good guy. In the back of my mind, I know I’m not working with these people anymore because they ticked off these three boxes on my ‘do not do’ list. But you know, it's pretty much being trying to be as nice as possible. JEFF: Another version of that is when you wanna be helpful, you wanna be a professional, don’t burn bridges. So I mean, the first time I tried to fire this client and then stupidly took them back, I mean it was an email. I told them, “I thought we were going in different directions. I want to do other things. I said, it wouldn’t be for 4-6 weeks. I'll finish off whatever I’m working on. I'll help transition you to another developer. I can even help you find another developer.” Referenced it in my contract, here's where we can terminate the relationships, sort of ‘no harm, no foul’. And it didn’t go into a bunch of the why I wanted to fire them. And then got on the phone with them, talked to them about it. So particularly, it's sort of my issues. And one thing that hasn’t come up yet, but I've complained about it on Twitter. One thing that annoys me more than anything is lack of punctuality. So if you are my client, and you schedule a meeting for 12:30 and it's 12:31 and your are not calling me, I’m pissed. At 12:35, I’m really not liking you. And by 12:45, I’m done you. EVAN: Is that why you fired them? JEFF: No I mean, this is sort of a habitual again when the client doesn’t pay me, habitual thing, but punctuality is another thing. Respect my time. EVAN: By the way, I feel very much the same way about punctuality. I've had a lot of clients when they schedule meetings and they are late for their own meetings. And I probably should be very upfront with my clients about this, but when they are late with meetings, I'm billing them for that time, because they asked me to be available and I’m available while waiting for them. So that time where they asked me to obligate it to them and I did, so either way, it's their time. JEFF: I know I’m cutting you off, but you've done it enough so I… EVAN: Jeff, it's okay. JEFF: So the thing that had always pissed me off was the dentist or doctor’s policy, that if there is some fee for missed appointment like, $45 they always chafed me and more. Because when you get to a dentist… dentist not so much, but when you go to the doctor and you have an appointment, especially pediatricians, you are waiting forever. I mean, I got 9 o'clock appointment, I get seen by the nurse at nine, and I’m in the backroom waiting for the doctor to come in and look at my daughter, and it takes 35-40 minutes. But there's a sign on the door that says, “If you are late for an appointment or you miss an appointment and don’t give us 24 hour notice, we are going to charge you $50,” or whatever it is. And I've always gone back to them and I said, “Alright, so if you are late coming back to see me, are you going to credit me back $50?” EVAN: [Chuckles] JEFF: And of course, they won’t. And they wanted me to sign some, not me, but they had these whole policy where they have patient had to sign, if you are late, you have to pay this thing. That has always pissed me off. I mean, it makes sense to what you are saying. If you want a meeting with me, and its 30 minutes or an hour, then I'll just enter it in my time system, whether you should up or not, that hour is gone, and you are paying for it. It behooves you to be there. EVAN: Yeah. So when I have fired clients, I also have tried to be nice about it. I try not to burn bridges. As a general rule, I don’t go into why I’m breaking up with them as such. However also, my experience has been that they almost always want to know come some time later. And they ask. And when they do, I tell to them plainly, and I don’t really sugar coat very much. It's not to say that I'm saying I hate working with them. My feelings only enter into it in so much as my feelings as the results. My feelings are the cost of letting go of them. So when I had a client essentially disrespected me by not making any time to talk to me, and I wasn’t sure I was building the right product for them, and makes me very uncomfortable the whole time because of it, I told them pretty much like that. And he gave me someone who didn’t have any authority to make decisions or what not. When clients have been late making payments, I'll get them on the phone. I'll usually start with an email, but I'll get them on the phone and say, “Hey, the payment is late. What's going on?” And after that happens a couple of times… there's only been one client where it's been like a month and a half, and I said, “One week, and I'm gone. You have to get it to me one way or the other.” In their case, they actually wired it to me. And the relationship wasn’t as nearly as good after that. I knew that was going to be the case, but I didn’t know how else to deal with it, because they wanted me to keep working with them, well, “FU, pay me.” So I guess I'll echo a lot of the other sentiments. It shouldn’t be personal when you give them that notice. I usually start by doing it in writing first to make it less personal, so if again the relationship metaphor, it's a little bit like a Dear John later. How it often starts off. But again, not the sappy kind. And then it usually progresses from there, where if they want more information, fine. If they don’t, then we just close up shop. And it's kind of been, I guess 60-40 as in who wants talk back and who doesn’t. CHUCK: Yeah. JEFF: So to wrap this all up. I think the sooner you can deal with it, the better. I mean, if you can avoid firing a client, fine. If you can't do it as soon as you can because it's just going to fester, and somebody is going to be more miserable at the end because you didn’t take care of it ahead of time. I mean this whole thing Evan and I hate people being late to a meeting, and I don’t think I've ever articulated to a client that, “Look, schedule a meeting, I expect you to be there when you said, mostly because I expect people to understand that you are asking me to be there. You should have a common courtesy to be there.” So maybe that’s on me on articulating that point, but if I get that out of the way soon enough, then we can either work around it or we can't. But the sooner it gets done, it's not going to be three weeks or six weeks or six months of rage, because they haven’t showed up to a meeting or whatever the problem is. Then finally, you hit your breaking point and then draw off on them. EVAN: It's a mindfulness thing, right? You have to identify that this is something that’s really pissing me off. And if it's really bother me that much, then I need to take some kind of action on it right away. And if you don’t take action on it right away, then it's on you for not taking action on it because they can't read you mind. And same for me too. Which is why when I have an issue with a client, I try to raise it as soon as I possibly can. I try to do it more subtly at first, and then progressively more actively as time goes on, because I don’t want to make waves. Yeah, I think I’m done there. CHUCK: [Chuckles] Well yeah, and overall, I think that makes sense. If you can save the relationship, and make it work for both of you, then you do it. And if you can't, then you want to do it as kindly and professionally as you can. EVAN: And quickly as possible. CHUCK: Yes. EVAN: I think Jeff, you really nailed that one right there. This was… I’m going to totally credit Eric with this one. The first time I fired a client, it was because Eric got me to read Book Yourself Solid. And there was the Red Velvet Rope policy that came out I think in the last session, and that Red Velvet Rope policy was really what helped me fire the client. So to anyone who is listening to this, if you feel like firing a client, pick yourself up a Book Yourself Solid book; maybe the next thing you know, you'll be firing a client. CHUCK: Alright, and with that, we are going in to the picks. So let’s go ahead and start with Evan. EVAN: Oh man, I thought we were doing this in alphabetical order. CHUCK: We can. EVAN: No, it's fine. I'll go first this time. So going into the show, I didn't really have any picks, but then I've realized Chuck wanted me to mention some stuff I do with my spare time. I can talk about that some other time. Instead, I briefly alluded to the book by Gerald Weinburg, it's called The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. And this was a book that sort of had me changed…. Or had me change how I do my business instead of really just acting as a contractor. It got me to give more advise to clients – whether good or bad, perhaps. Although I tried anyway, I’m not going to caveat that further. So get the book. Something Eric said earlier, usually why do people hire contractors? This book has the answer for you. Usually it's because it's a people problem, in one form or another. They don’t need a contractor if everything is going well for them. So it's also behooves us as contractors to remember we are usually getting hired to solve some kind of crisis. That’s a little bit of a.. but that’s it for me. JEFF: I'll argue semantics with just because contractor…. And this sort of goes back to the very beginning when we were talking about respecting you for your talents and not just your some code monkey they can plug in to their problem. Sort of contractor maybe even freelancer to a point, denotes sort of code monkey commodity piece. And I don’t know if I 100% agree with that, but contrast that with consultant, where that label, you are expecting to pay a little more, but you there. Consultants sounds more advice-giving and implementing good solutions, than contractors. EVAN: Sounds like a… [overlapping talk] JEFF: Yeah, exactly. Never thought about becoming that… dry wall sometimes. CHUCK: [Chuckles] Alright Jeff, what are your picks? JEFF: I don’t have good ones. I spent a bunch of time in iOS pushing on an app, so I don’t have a ton of stuff. The one thing that came across my desk today, was either Stanford or somebody else, they are putting out a like, there's a human learning class and game theory class, and a SAAS class and couple classes. And they are all getting ready to start around as time frame, like mid to late February or early March or something. And so the SAAS people, just came out with their book. It's a $10 kindle book. I don’t know anything about it other than it exists. But I’m curious. It's Berkeley, not Stanford, but the Stanford stuff is great on iTunes U for iOS stuff, but I’m in to the Berkeley. So that will be my second pick, Stanford for iOS. But the Berkley book, it looks ten bucks, it looks interesting. I’m curious to see how SAAS is going to be taught in an academic sense. In sort of Stanford, I guess you can expect SAAS to be… I don’t know, they sort of seem to have all these start up incubator type programs Stanford does. I’m not sure that Berkeley has the same Stanford reputation or I’m just not aware of it. So I’m curious how that book is going to fit into an academic sense. And then iTunes U, I'll give you a link, but Paul Haggerdy or I think that’s his name does the CS193P iOS stuff. They just published the most recent semester, so last semester is updated for iOS5. I mean, how awesome. Free, totally free, but awesome stuff. CHUCK: Yeah, that’s all cool. I actually got the same email about the SAAS book because I signed up for the class too. So it should be interesting. Eric, what are your picks? ERIC: So I have to picks today. They are kind of around a theme of like perspective. Recently I've been kind of looking back on what I’m doing, trying to take a bigger picture of things. The first one is a presentation, it was done at FutureRuby in 2009 by Dr. Nic. Basically he talks about how to live with managing a thousand open source projects. It's a really funny presentation. There's some good stuff in there, and it really talks about like scale. If any of you have ever looked at my GitHub page, you might notice I have over 211 public repos right now. Probably 80-90 of those are like actually open source plugins or projects I've started on my own. So that whole presentation was really interesting to me, just because I’m kind of drowning and trying to support everything. I guess if you don’t wanna watch it, it's like a 26 minutes presentation, the summary for it is like dump stuff that doesn't work, or you don’t care about anymore. So you know, just because you wrote some piece of code doesn't mean you have to maintain it for the next 50 years. But watch the presentation. It has pictures of puppies and whole bunch of other fun stuff in it. The second pick is a book I read called F**k it. I think it's from the UK, but it's kind of an interesting book. It talks about like really looking at your life and just saying F**k it to a bunch of things that don’t matter. It's spiritual, in that it kind of bashes on a lot of spiritual stuff, and has a good amount of humor in it. It's pretty short. I think I read it in like about a day, but if you kind of have the problem of like feeling ‘I don’t know what I’m doing’ or ‘I don’t know where I’m going with my life.’ ‘I wanna shift and work on bigger problems,’ like I found this to kind of help me kind of get unstuck from some of that stuff and kind of ignore the stuff that doesn't really matter anymore. So once again, it's called F**k it. You'll probably going to need a link for it because you can't search for it really easily, because it's actually like the asterisk for it. CHUCK: [Chuckles] okay. Alright, is that it? ERIC: Yeah. CHUCK: So I have two picks, both of them are related to marketing. The first one is, I am on the hub spot mailing list and so, every so often, they put out a short eBook on stuff. And it's just, I mean it ranges from SEO, to managing your mailing list, to all kinds of stuff like that. And you know, I haven’t read all of the eBooks that I've gotten from them, but there’s a lot of terrific content on there that really just helps you figure out what to do, and gives you some ideas on how you can market your business better. The other one that I want to pick is the Third Tribe. And this is something that was put together by the folks over at copy blogger and Darren Rowse and Chris Brogan. Basically they have like two calls a month where they answer people’s questions about how to do marketing. And they also have like other workshops. So I called into a workshop on headlines, so basically how to write a good headline for you blog or your podcast. And so I listen to that. I’m going to be reading through the eBook that’s related to that. And just terrific stuff. So if you are looking at marketing, those are two good resources. Hub spot, a lot of the stuff is free. They do have paid services that help you manage your marketing. And the Third Tribe is like $90/month or something. But well worth it in my opinion. So with that, we'll go ahead and wrap things up. I wanna thank our panelists for coming… JEFF: Before you end, let me ask two questions. The first one is, did Third Tribe ramped up? Because I was in Third Tribe for about a year, and left a couple of months ago. I was trying to get rid of stuff that wasn’t very useful anymore. And I just feel like everything had died off about the time I had left Third Tribe. Nobody was posting on forums. Chris Brogan, was he the one that started? He had just diapered basically, there's all these stuff coming out with premise. It felt like they were distracted doing other things. CHUCK: Yeah, from what I understand. I've been a member for like 4-5 months, and I rarely ever go to the forums. If I have a question, I can usually search it and find something relevant to it. But I really like the calls, is really what gets me. So I've gotten quite a bit of several good ideas out of that. And the nice thing is that I can kind of write them down, and then I can tell my VA to figure out how to do them. [Chuckles] So it is pretty nice. And they’ve really gotten some good content there. But yeah, as far as the forums go, I don’t know. And I haven’t heard Chris on a call for a few months. JEFF: Yeah, well he's busy right writing a book. And the last question, Eric never answered it the first time around. I don’t know if he can do it in two minutes or not, so the mechanics of actually stopping work if someone doesn’t pay by such and such a time. So I mean, how does the mechanics of that work? Do you cover everything with the deposit? Are your billing cycle short enough that you only do so much work or is there an easy way to answer that in two minutes, Eric? ERIC: Yeah, I can try. So I bill the first of every month or closer to the first if it's a weekend. And net 30, so basically, by the time I invoice, I know who's late. With the invoice, I'll send an email if people haven’t paid, and I'll just say, “I’m stopping work as of today. “ If they haven’t paid and the project is still running, I have heavy email filters, and I basically just ignore all the emails from their system. So I mean it gets to the point like if they have a massive bug, it's like “Sorry, I’m not paid. I’m not working for you right now. You are going to have to deal with it. I watch for like normal emails from them, so they'll say like, “Hey, we have a check cut. Can you work on this?” I'll catch it, and depending on how the level of trust, I'll make a decision. But I'm pretty tough on it, having to deal with that much, because just the way I structure my development, a lot of the times, most of the bugs are all the bugs that are going to run into your known, or kind of exposed before we get to the late payment stage, which I can probably talk about in another podcast, when we get to actually scheduling workers or something. JEFF: Okay, last follow up. So you're actually taking a months’ worth of risk is what you are saying? So right, after they pay, if they don’t pay for a month, you've already done that work, and then you are going to invoice for that work. If they haven’t paid you from 60 days ago, then you stop? ERIC: Yeah. JEFF: Okay, just curious. CHUCK: Alright, cool. Well, thanks again guys. We are in iTunes now, so you can go into iTunes and do a search for Ruby Freelancers and you'll find it there. And you can also subscribe on the blog. So yeah, if you have any other suggestions for us, feel free to leave a comment on the blog that is at rubyfreelancers.com, and we'll catch you next week!