The Ruby Freelancers Show 017 – Subcontractors
Show Notes
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
Subcontracting programming Assistants Subcontracting design Communication breakdowns oDesk Screening Processes CSS Mac App Development Chop-chop Pair programming Subcontractors talking directly to the clients Desired attributes of a subcontractors Can work remotely without supervision Reliability People you already know Great communication skills Problems that can crop up with delivery You are responsible for your subcontractors' work (including the screw ups) Have a contract Communicating with subcontractors Chiliproject Skitch Skype Email CloudApp Pivotal Tracker Dropbox Balsamiq Mockups AIM/iChat TeamViewer Join.me Screenflow Tracking Subcontracting Time Harvest Freshbooks Billing for the subcontractor's time Hourly with a rate markup Hourly with no markup Hourly under a fixed bid project Passing along subcontractor's invoices included with your invoices Including subcontractor's time on your own invoices
Picks
Canable (Evan) Presentation on Distraction (Eric) Podcasting A to Z (Chuck) Brother Labeler (Chuck)
Book Club
We're reading Get Clients Now and will be talking to C.J. Hayden at the beginning of July.
We're reading Get Clients Now and will be talking to C.J. Hayden at the beginning of July.
Transcript
CanCanEVAN:
The joy and the experience that... that… that… the… at the shame of others. How about that? If you didn’t know [unintelligible] before that, that’s a great word to know. Not a very Buddhist word.
[This podcast is sponsored by Harvest. I use Harvest to track time, track sub contractor’s time, and invoice clients. Their time tracking is really simple and easy to use. Invoicing includes a ‘pay now’ function for credit card and PayPal. And you can get them on getharvest.com. Use the code “RF” after your 30-day trial to get 50% off your first one.]
CHUCK:
Hey everybody and welcome to episode 17 of the Ruby Freelancers Show. This week on our panel, we have Eric Davis.
ERIC:
Hi.
CHUCK:
We also have Evan Light.
EVAN:
Holy crap. We’re up to 17.
CHUCK:
Yup. We also have Jeff Schoolcraft.
JEFF:
What’s up.
CHUCK:
And I'm Charles Max Wood from teachmetocode.com. And this week, we are going to be talking about hiring subcontractors. So have we all had subcontractors at one point or another?
EVAN:
Yeah…?
JEFF:
Yup.
ERIC:
Yeah.
CHUCK:
Ok, cool. So I'm not exactly sure where to start. I guess we just start wherever we start and then go from there, because we tend to come back around to whatever we missed at the beginning. So first off, do any of you have sub-contractors currently?
EVAN:
I'm hiring a new one.
JEFF:
I have a couple.
CHUCK:
All right, and I have a few as well. So what kind of jobs do you sub contract? Do you sub contract programming? Do you sub contract other things too?
JEFF:
Mostly programming. I'm just starting to play with assistants, trying to get them to do some stuff that’s on my plate that I can pass out but, but mostly programming. It’s easier for me to successfully hire talent that I need for something I'm familiar, with as opposed to something I can barely figure out for myself.
CHUCK:
Right. That makes a lot of sense. That’s actually a conversation I did have with a client of mine where I was hiring a sub-contractor and he was basically saying, “Well, I was looking for programmers and I wasn’t confident enough to hire them.” And that was exactly it was, “Well I can hire him because I can look at the code and I can tell you whether or not it’s good.”
EVAN:
Yeah, I've done that. I've also subcontracted design work. That one was easy because I can’t really do much design. I'm only learning to.
JEFF:
Have you truly subcontracted that as in you managed the whole thing? Because I've always been leery of trying to do anything with design, because it’s always fairly personal for the clients.
EVAN:
Yeah, I've truly subcontracted it but then again, this was someone who I've worked with off and on before, and I trusted him to communicate well with the client because I've seen him work before. And so I knew he was going to do a good job. I understand what you are saying. I feel the same way in general about sub-contractors. So one of the topics that’s easy to get into is if you’ve been burned by sub-contractors, and the answer is yeah. Because hiring a sub-contractor would be difficult. You don’t necessarily for remote work like I do; I don’t know how it will work out because it takes a different skillset or additional skillsets to be and effective remote worker, versus working in person. And I've seen some very, very talented people be kind of awful remote workers, so not so great contractors as a result and it usually has to do with communication and the inertia, and that needs to be overcome to communicate with people who are remote.
JEFF:
That was sort of less of my concern…
EVAN:
Well that was my experience and problem be usually with communication.
JEFF:
No, no, no, I mean my question was “Did you truly subcontract that or just put a client in touch with somebody else and let them deal with that nightmare?” was sort of insulating the sub from the client or how much visibility does the sub have into the project. I mean, as a developer its one thing. We deal with change request; we understand what that is, but all I hear from designers are revision, revision, revision. “Change this font; change this color, blah, blah, blah.” I'm not a designer, so I don’t have anything set up to insulate itself from that.
EVAN:
I have two experiences with designers; one that was where we were both contractors on a project who were technically both subcontractors. And they were each pain in the ass. And then with a sub who was great, but he was a new designer and… he is/was a programmer and he works more like we do, I guess you could say. So no, he doesn’t go tweaking things all the time. When he comes up with a design, he’s pretty set on it. So I didn’t have any problems like that. I like to have my subs be fairly independent and be able to talk to the client. I just asked to be kept in the loop in what the communication is ongoing. So yes, there has to be a fairly high degree of trust, but that’s also because I don’t like the fidelity lost that can occur if the client talks to me and I talk to the subs, because I know that even I won’t be the perfect conduit no matter how hard I try.
CHUCK:
Yeah, I'm kind of in the same boat. I have three different guys that are working for me right now doing different contracts, and they are more or less managing the communication lines with the clients and then I just manage things on the sidelines and offer my expertise when the subcontractor doesn’t have the expertise to do what they need.
EVAN:
Yeah, that’s what I'm going to be doing with my new sub producing.
CHUCK:
Yeah, I do have to say, and maybe this is a point where we can get into where we’ve been burned by sub-contractors, but it was like two years ago I hired a guy off of oDesk, and he was pretty inexpensive and he did ok work, but eventually he just kind of flaked out. I think part of it was because there was a bit of language barrier there. He was in Brazil. He spoke ok English, but not great English. And one thing I ran into with him was just that I would tell them to get something done and then it inevitably either wouldn’t get done or will get done incorrectly. It was so funny because in the beginning he was fine, but in the end he started having these problems, and so I wound up eating a bunch of the cost for having him work because oDesk requires you to pay for their time. And you know, I could argue with it a little bit, you can fight with them on oDesk but it wasn’t worth it.
EVAN:
Yeah, I'm just surprised you even mentioned oDesk, frankly.
CHUCK:
Yeah well, it was the first time I’d subcontracted anything, and I figured out pretty fast that…
EVAN:
You get what you pay for.
CHUCK:
Yeah, exactly.
EVAN:
Just like when a client hired you for a reason; they get what they paid for. Same difference. We're just hiring another contractors, we also get what we pay for.
CHUCK:
Yeah.
EVAN:
The sub that I'm hiring, I've mentioned this in our chat, not in the podcast, is intentionally a local because I’d like to potentially grow a small boutique business, but it’s also because I wanna actually create a local Rails community. So I'm bootstrapping this guy out of PHP into Rails.
CHUCK:
Right. I kind of like that approach. One of my subcontractors is in our little Rails co-op, we have our little group where we chat about Rails subcontracting or Rails contracting. And then one of the other guys that I’ve hired, he’s actually local. And the third guy, he is in Texas, but the nice thing about the local guys is yeah, I can go down there, I can smack them on the side of the head if they don’t do what needs to be done. But the other thing is that in a lot of cases, I've actually worked with them at different companies, and so it’s nice because I've actually seen their work. I've managed the guy that I hired here in Utah. And so there were couple of pluses there; I know exactly what I was getting. And yeah, I know the kind of work he does; I know the kind of person he is; we have a good working relationship; there's not a communication barrier. And worst case scenario, he has to drive 30-40 minutes to get to my house or I have to drive 30-40 minutes to get to his. And so it’s rather nice that way.
EVAN:
So it sounds like you are probably doing what I'm doing that is you are getting what work you can do and these are people who are interested in freelancing, but they aren’t marketing themselves and they’re perfectly happy to have you do all the marketing.
CHUCK:
Yeah, and that’s one thing that works out rather well is that exactly, you have some guys that all the business management they really want to do is not even necessarily send you invoices; they just wanna get a check, they want to get their work done, they like doing it from home -- that kind of thing. And the marketing thing is just something that they don’t even wanna think about. And so it’s like, “Ok, you do all the hard part, you get a cut of what I'm working, and everybody’s happy. And that worked out really well for me, but I had to learn the hard way with this other guy that I hired off of oDesk that I know I needed to kind of go with… hire people on oDesk, but essentially hire people that are higher quality than oDesk.
EVAN:
So Jeff was talking earlier about anti-picks. [Chuckles]
JEFF:
I disagree with anti oDesk sentiment. I agree that you get what you paid for in 99% of the cases, but I've found some absolutely brilliant people on oDesk and I've found some absolutely horrible people on oDesk. And regardless of how good I think my screening is, I think it’s worked out both ways for me.
CHUCK:
That’s generally true of anybody though. I mean, you can screen them and some of them are just not going to work out.
JEFF:
Yeah, for the most part. It depends on technology too, if you are hiring for a tech outside your scope. Even though it’s tech and we understand software hiring for, I don’t know, a Scala person would be difficult for me. I mean, I can understand the basics of, “Are you are trying to bs me about tech?” in general, but I can’t go deep into, “Do you actually know what you are talking about?” Did you read a blog more than I did and can out-vocabulary me or whatever. But you can find folks on oDesk in the US that charge $60-$70/hour something doing a variety of things in .NET or Rails and all that stuff. I mean, you can find decent people.
CHUCK:
That’s true, but there are so many people that you have to filter through. And I mean even if you just filter it down to the 5 star people and blah, blah, blah, it’s still hard.
JEFF:
Yeah, I mean there are a bunch of games that you have to play but if you need somebody… it all depends on a bunch of things, right? So if you need somebody quickly, and you don’t have somebody waiting on the wings, you are not queuing somebody on an overhead and finding them busy work to do, I mean you have to find somebody quickly, it’s the easy place to jump because they have so many people but then you have to play games with filtering and language and reviews and billing an hour or $1 on oDesk and then put some stupid thing in job description that says, “You won’t be looked at until you include this particular string or the result of this particular snippet of code, and the response. Blah, blah, blah.”
EVAN:
Let me turn the question around, under what circumstances do you find yourself needing someone that quickly?
JEFF:
I don’t know. I've had a number of quick turn out. Say there's a Mac app I'm interested in building and I'm not going to build it myself and I don’t necessarily have… I'll throw a search on it on oDesk and eLance and see if I can find somebody.
EVAN:
Ok, that’s not necessarily has to get done right away sort of thing though.
JEFF:
No, it doesn’t. And I've had some contracts that have a deadline. Like a couple weeks out for something that I just don’t feel like doing, and I'll find somebody in a relatively quick time. I mean admittedly, it’s for a fairly well-defined task. So I mean there have been a few occasions with that.
Especially for stupid stuff like CSS and probably that I just hate to deal with.
EVAN:
[Chuckles] I sympathize greatly there.
JEFF:
Because I'll do something like chop chop or something to get a design sliced up to html, but if I had to do some little tweaks, you can go back and forth to them, but that’s not very responsive. It’s easier to have somebody that I can just talk to on Skype because it’s going to take me five hours to figure out.
EVAN:
Yeah, I might have to do that too. I really hate CSS and there's some projects I've kind of passed on because they seem too CSS or front-end heavy, and I just don’t wanna deal with a lot of that stuff.
CHUCK:
Right. So Jeff mentioned the screening process. What do you put your potential sub-contractors through to make sure that they are up to the challenge of writing great code for your clients?
JEFF:
It depends on the source. The ultimate test is to spend time pair programming with me, just so I can see how you think about a problem and how you do development. Some of that is pedanticness on my part, but some of it is to see how people can write code and respond to problem definitions; see how much you have to explain to a person to get your idea across. And nine times out of ten, whatever communication barrier you have hiring a sub, it is on you to explain yourself and not expect somebody else to just magically understand you.
EVAN:
It’s also a matter of, is this the sub you are going to let to talk to a client or is this someone that you are just going to interact with? And if it’s the latter, then I guess I could see to some extent how pairing would give you some clue about how they do and don’t communicate. If it’s the former though, then that one is trickier. Also in either case, if you are not sitting right next to the person when they are working, then the dynamic won’t be quite the same as though you’re pairing, because again there's that remote developer inertia.
JEFF:
By which you mean?
EVAN:
By which I mean there's a big difference between sending an IM to someone and turning over your shoulder and saying, “Hey, Jeff!” It’s a lot easier to just shout out “Hey, Jeff!” than it is to go do a few clicks, open a window and type a message and there was actually a barrier.
JEFF:
I agree there's a barrier, but I've been in plenty of offices where I've sent an IM and turned over my shoulder and said, “Hey, whoever I just sent you this thing.”
EVAN:
I get it. From having worked remotely with teams for a few years now, that barrier is very real and actually very competent people, I mean people who otherwise were great teams do pretty awfully with remote teams.
JEFF:
There's a difference there too, as well. I guess that’s an entire discussion on its own. It’s just the ability to work remotely without supervision, because it’s one thing to pair…
EVAN:
Because it’s a mutual micromanagement.
JEFF:
Exactly because obvious if you hear a bunch of cracking on the keyboard and takes a couple of seconds for somebody to respond, that they are not paying attention to you and they are surfing Reddit or whatever. And so there's less of the peer pressure than physically pair program with somebody. But pair programming in general is enough peer pressure, most of the time to convince remote people to work.
EVAN:
If you are remote pairing with them, sure. If you are not remote pairing, then right, they can be doing anything. And I’ve had various experiences there. In a nutshell, when it comes to remote subcontractors, I'm a lot more concerned with reliability and communication skills than I am with technical chops. Because even if their code does not meet my standards, as long as I know what they are doing and they asked me the right questions, and they asked the customer the right questions, then I can at least be convinced that the end product will be very close, if not on target. And with people who are excellent programmers who don’t communicate, who don’t ask questions, then I have no idea what they are going to build and the customer doesn’t either.
CHUCK:
As far as my screening process goes, I generally will talk to them a few times, I'll do the interview kind of thing. I'll just get an idea of where they are at. And then I'll also usually get code samples from them. Sometimes I'll actually give them a dumb little project to build; spend 3-4 hours building a blog or something, just so I can kind of get a feel for what parts they get. Because I make them give me access to a Git repo, and so then I can see, “Ok, they built this first, they did this next and I can get an idea too of how they commit and what they're habits are when they are coding that way. I don’t know that I've ever pair programmed with somebody, but I kind of like that idea. But yeah, ultimately then the other thing is, are you going to get the amount of work done that I need you to get done within the amount of time that I needed done. Are you capable of doing that, and can I
rely on you to put in the time to get it done?
EVAN:
If we are going to get back to talking about screening, I tried to restrict my subbing these days to people who I knew fairly well already. And that way, I already know how they communicate; I have a pretty good idea what they work, even if I've never actually worked with them, even if I've never actually paired with them. I'm a lot more concerned about understanding their values and how they communicate and have some sense of how they work that actually seeing code. Because as I said, even if I don’t agree with how they code something, as long as I know for sure they were going to get the job done, that’s my biggest concern because I've had a lot of problems in the past with contractors whom I write perfect code and don’t necessarily get the job done.
CHUCK:
Yeah. I think that’s really the most common way that you get burned is not necessarily that they're writing terrible code, because you can generally get an idea of where they are at and where they are not this code. It’s a communication breakdown. And either you are not communicating well what they need to do, or they are not just doing it. And generally, if you are going to point the blame, it’s probably more your fault than theirs.
EVAN:
That’s one’s debatable. And the reason I say that is because… I guess you can put it that way, yes. However, and this isn’t me being defensive. I'm just trying to find the phrasing here. However there needs to be an understanding on how independent you expected that contractor to be. And if it’s very clear to both parties, you are expecting them to be reasonably independent for some definition of reasonably and some definition of independent, and they fail to achieve that, they fail to deliver given that expectation, then that’s mostly on them, other than that you hired them.
CHUCK:
That’s fair enough.
EVAN:
And I've been there in that case. I've also had the case where I’m working with a small team I've inherited subs after a [unintelligible] as well and had people flake out too.
CHUCK:
Yeah, in my experience, I mean except for the one guy that I hired off of oDesk where he just wasn’t writing decent, quality code for whatever reason, which he was doing in the beginning, which really frustrated me, but whatever. Either way, he eventually flaked out but that was on quality. Most of the time, where I wind up picking up the sack is that the client wanted something done within a certain time frame, they are committed to be able to get that done within the timeframe, and then they didn’t put in the time to do it. And that by far is the most frequent problem that I have had.
EVAN:
Which comes back to the, “They didn’t deliver,” which usually they didn’t deliver on time. I've seen that a lot before. It’s simply a matter of the sub-contractor knowing what they do but don’t put enough effort in and they are off schedule for whatever reason. I've seen that one a lot. It’s not necessarily, “they haven’t put in the hours.” I had this one guy whom I worked with who he was marvelous when we paired with him, but he on his own, he just churned. He just was not making progress, and yeah, it was really frustrating. As I said, he was just absolutely great when you pair with him.
CHUCK:
I've worked with a guy that …
EVAN:
I guess that’s also a warning against “just pair with him and see how they do”, because this guy paired terrifically, but solo he was not effective.
CHUCK:
Right. The interesting thing we’re talking about this and I don’t want to necessarily scare people away from subcontracting because it is a really good way of getting a good deal of work done for your client, and you run in to the same problems of you are actually hiring employees. It really just comes down to your ability to discern what the needs are and whether or not this person can meet them. But sometimes it is hard if they are remote.
EVAN:
And be responsible and accountable for them. So I will actually push back on what you just said. I do want to make people a little scared about taking on subs because you’re making more work for yourself one way or the other; you have to communicate with these people, you have to monitor these people because they’re subs, you are the prime -- you are responsible. You can use the anal retentive star fleet version, I guess on Star Trek not Star Wars. You are the captain of the ship. It’s all your fault no matter what.
CHUCK:
Yeah. And I guess what I was trying to say not necessarily, I don’t wanna scare people away from it, but because I do want them to be weary of some of the problems they can run into, and help them avoid it. I just don’t want people to dismiss it out of the pan because it’s hard.
EVAN:
Oh yeah, totally. Its more work but it will let you grow your business. But its more work than anything that makes that lets you scale up beyond yourself until you reach a significantly large scale which nonetheless are at, I don’t think. It’s going to be more work. It’s just a question whether it’s worth it or not or that is person to person.
CHUCK:
Yeah. I just wanna reiterate what you said before though, and that is that if you are the prime contractor, you have subcontractors, you are responsible for your subcontractor’s work, including their successes and their screw-ups.
EVAN:
Oh yes. But on the flipside of that, you also need to hold your subcontractors accountable to you.
CHUCK:
Oh, absolutely.
EVAN:
Your customer is your customer, but you are your sub contractor’s customer. So, if they screw up, then you get in trouble. Even if you don’t get in trouble with your customer, sometimes I try to preempt mistakes; when I see problems with the sub, I try to correct the problem before the customer ever notices -- when I can. It’s not always possible; sometimes you don’t see.
CHUCK:
So speaking of holding your subcontractors responsible, do any of you guys have a standard subcontracting contract that you have your sub-contractor sign?
EVAN:
I need to get one.
CHUCK:
I actually have one. I went to an attorney and had them draw one up for me. It cost me $92 or something.
JEFF:
[Chuckles] Who’s your attorney? They only cost you $90 for that.
CHUCK:
Well, he has a standard boiler plate that I read through with him.
JEFF:
Yeah, but that’s like five minutes of explaining on lawyer time.
CHUCK:
I know. [Chuckles] he was actually pretty good. He sent it to me, I asked him a bunch of questions over email, he responded to those, I cleared up a few things with it, and then I said “These are the things that I need to change,” because it had a pretty hefty non-compete in it. And if I'm hiring subcontractors that are freelance Ruby or rails freelancers, I can’t have a non-compete there because that basically says, “You can’t work for anyone else,” and that’s not fair to them.
So basically I just said, “Look, here’s the gist of what I need it to say.” And basically it was, “You can’t steal my clients. So, if you work for me on a client’s project, you can’t work for that client unless I give you the ok as a direct contractor.” And that's more or less the gist of that. And then the rest of it is just putting liability on them for things that they may or may not mess up and stuff like that. But it’s kind of hard to really enforce a lot of that, because ultimately, you have to prove that they screwed it up and that they did it wrong and they did it wrong, whatever ways that the contract actually explains.
EVAN:
Contracts are there for when things go bad, but the other thing I realize is contracts are really there only for when things go so bad that it’s actually worth enough money to sue someone. And the answer is usually is it’s not because the lawsuit would just be so painful for both parties and so expensive for both parties, the magnitude of the stake would have to be enormous.
CHUCK:
I agree, but at the same time, I mean, just like you should have a contract with your clients, you should have a contract with your subcontractors. And really, what that does is it really does define it in basic terms how the relationship is going to work atleast from a business stand point, and they'll say, “Look, these are the expectations that I have, these are the expectations that you should have.” And it just kind of solidifies that, so that it’s not this adhoc, “I'll pay you when I have money.”
EVAN:
Yeah, so just to reiterate what I was talking earlier. Definitely have a contract with your subcontractors. When I said that “contracts were really only there for when things go bad…” most relationships start on a good foot. They don’t necessarily end that way.
CHUCK:
I was going to say, you don’t get attracted to thinking, “This one is probably going to go bad. I better get a contract.”
EVAN:
[Chuckles] When I get the impression with the potential client, “This relationship is probably going to go bad. It’s someone I just don’t work with.”
CHUCK:
Yeah, exactly. If you at that beginning stage, you are just like, “This isn’t going to work.”
EVAN:
Yeah.
CHUCK:
And so you don’t work it.
EVAN:
I’ve had a few of those.
CHUCK:
I've had a few of those. I think we all have, to some degree or another. But it definitely works out well. What tools do you guys use to communicate with your subcontractors?
JEFF:
Email, Skype, Chili Project, skitch… those are big ones.
EVAN:
I mentioned this as a pick before but I'm starting to use cloud app instead of skitch because sometimes… the only thing that I get from cloud app that I don’t get from skitch is if I wanna annotate, if I wanna get an image and if I annotate it and then share it, skitch is good for that. If I just wanna share a picture of something, then cloud app is way faster for that.
JEFF:
I would say 90% of the time, if I break out skitch, if I had taken screenshot, it’s because I wanna annotate something.
CHUCK:
Yeah, I like skitch. I'm actually using pivotal tracker. I'm paying for it right now.
EVAN:
I almost always use Pivotal Tracker.
CHUCK:
I'm actually paying for it so that I can have private projects. I'm trying to decide if that’s the way I
still wanna go or if I wanna use something like Chili Project where I can just set it up on a machine and then not pay for it except for the hosting.
JEFF:
Maintenance and plugin configuration and getting clients to understand it…
EVAN:
Well, that’s a debatable too, and that’s a whole different topic because do you really wanna share your pivotal tracker if that’s what you are using with your client because I've had mixed experiences with that.
CHUCK:
I've done that in every case and if they don’t care, then they don’t get in.
EVAN:
Well sometimes, the function they don’t care. This is definitely a rat hole. Sometimes they don’t care if that is easy. Sometimes its they care and they wanna see, “Ok, fine.” But they won’t necessarily understand what they were seeing. And then the worse ones is if they wanna comment, you give them read/write privileges and they do stupid things, maybe it happen only once. But it’s often that they start looking at pivotal tracker and they don’t really understand what they are looking at.
CHUCK:
Right, that makes sense.
JEFF:
You have to have a fairly solid understanding… of the paradigm of backlog and all that stuff, but I mean I agree; there's different tools for talking to a customer than maybe talking for a sub. And I
mean you said you had a designer, Evan, and I don’t know that a designer is necessarily get in and love Chili Project or Pivotal at that point.
EVAN:
Generally, I'd agree with you. I mean this a guy who was a coder first, so he was completely cool with it. But yeah, generally I’d agree with you.
CHUCK:
yeah, one other tool that I've used a lot with my subcontractor is drop box. If you have documents you have to pass around, it’s a great way to go. And one other thing that I've used both with clients and with subcontractors if I need to make appointments is balsamiq markups, just because you can get something that you’ve thrown together that is quick and dirty that kind of gives someone an idea, “These are the elements that need to be there and here is what they do.” And you can kind of annotate that as well. I use Skype all the time, and it’s really handy for screen sharing and stuff.
The only area I have a problem with the screen sharing is that you can’t interact with their screen.
EVAN:
I've had other problems with the screen sharing; occasionally, it just stops.
CHUCK:
Yeah, well there is that too.
EVAN:
And that’s usually my biggest complaint with Skype peering is that the screen sharing is unreliable.
CHUCK:
Yeah, reliability issues aside, because Skype has other reliability issues that come up here or there, but if you need to make it work, then what you can do is you go get an AOL instant messenger account and then use iChat, and then you can actually interact with their screen, like you can the mouse, you can share the keyboard and all that stuff. So you can essentially then pair program over the wire with that and you can see what they are doing and you can actually get in and use their machine to show them what you need.
JEFF:
I’ve found TeamViewer and JoinMe to be much better alternatives to Skype or Apple’s iChat with screen sharing.
EVAN:
Yeah, TeamViewer is expensive though but it works very nicely.
JEFF:
Team Viewer is expensive and JoinMe is all browser-based, the view is browser-based, but you can swap sides and you can interact with both sides if you have the clients on it. I don’t know if they are built on top of team viewer or not. They have are very similar to team viewer’s IDEs.
EVAN:
This is where I don’t share my screen. Granted this is more for remote pairing, but I think I've mentioned before, you can SSH Tmux, but when I want to share screens, this is actually where I use cloud app. I just take a shot, it gets uploaded and then I instantly get a link and I just paste it in the chat.
CHUCK:
Yeah, this is for the higher fidelity communication where you actually need to interact on some level to get the idea across.
EVAN:
If you need to demo something, I don’t really need to do much of that.
CHUCK:
But yeah, there are a lot of great tools that we’ve listed here. And I'm sure there are some that we’ve left of that we use.
JEFF:
Screen flow. Because Evan mentioned demos. I do a lot of screencasts for demos.
EVAN:
Yeah, I got screenr for that, which is not cheap, but I got them cheap on appsumo.
CHUCK:
And the one I use to track time for my clients is I actually use Harvest and I just give them an account on my harvest account and assign them to the project, and then they can go and their time in my system. And then when I do the invoices, it’s really easy because the time is already in there and so I can pay them according to what is in harvest and I can bill my client according to what is in harvest.
JEFF:
Yeah, Fresh Books basically do the same. That’s actually the reason I started using Fresh books is because it handled subbing so much better than Harvest, at least at the time.
CHUCK:
Yeah, and I think harvest kind of developed a lot of features that a lot of people like about fresh books, so I think the difference isn’t as pronounced as it might have been in the past, but it’s nice to know that there are tools out there, if harvest goes away for whatever reason or they do something that really ticks me off, I can just come to Fresh Books and do the same thing.
EVAN:
Like not sponsoring the show?
CHUCK:
No, if they quit sponsoring the show I'll keep using them.
EVAN:
[Chuckles]
CHUCK:
That reminds me too, if you’ve been listening to the show for a while, there was an issue in the sponsorship message, they initially sent me the discount code for one month free, and they said it was RR and then they changed it to RF, but the sponsorship message that I recorded I didn’t change because I didn’t realize or it fell through the cracks one way or the other, or probably my fault. Anyway, if you are trying to get that free month, then use the code RF instead of RR.
EVAN:
Or blame Chuck.
CHUCK:
Yeah, or blame me. If you’ve had a problem with it, just email me and I'll get in touch with the right people and make it happen for you. Anyway, you have tacking the time. Do any of you just have them send you an invoice with their hours on it and then you just pass them along to the client? I'm assuming you are billing hourly and doing some kind of markup on the rate?
EVAN:
Not always, but usually.
JEFF:
You don’t fall into the “usually” camp as well?
CHUCK:
Is there another way that you work out the deal there?
EVAN:
Yeah, sometimes I'm just a pass through. It depends.
CHUCK:
What do you mean a “pass through”?
EVAN:
They bill me, and I bill the client exactly the same thing if they bill me. But there’s no markup, it’s a short version.
CHUCK:
Ok.
ERIC:
I've done it a different way where I had a fixed [unintelligible] of a client and then I paid the designer to do some design work for me at an hourly. So I just paid the invoice, and then that was just a cost of doing the fixed bid.
CHUCK:
Yeah, that makes a lot of sense. If it makes sense for the project, then definitely. And so have any of you actually have them just invoice you and then you pass that along or do you just… how does that work? Is it just…
EVAN:
Since I'm using Fresh Books, they submit to me and when I submit my invoice, their invoice gets included in my invoice, but I typically review my subcontractor’s invoices just to make sure that there’s nothing to that will throw the client for a loop, and that’s just a matter of communication and knowing to look for things which might sent the client off inadvertently; poor choice of words or cursing, I mean that’s an obvious one; or saying something that client will likely misinterpret to mean that there was some kind of significant failure where there wasn’t, or something like that.
JEFF:
The biggest scenario that I have, it’s a similar. When the subcontractor is entering time and entering time for me and not for them the end clients, and so their comments are directed to me more than to the end client about the description of whatever work they have been doing, and so there’s been some massaging that I've had to do to include that for the client and…
EVAN:
Yeah, I like to have the client to have as much transparency as possible. At the same time, I have to make sure what the subcontractor is saying is presentable to the client.
CHUCK:
Yeah, generally with most of my clients, like I said I just had my guys entering their hours into harvest and the client just gets an invoice for the hours. And it’s basically a, “Hey, if you have any questions about what was done or how the time was spent and things like that, you are welcome to contact me.”
EVAN:
Put comments next to all of your time entries, and that you have your [unintelligible] comments next to all your time entries. And what I was talking about was reviewing those subcontractor comments. I just wanna be clear, especially to the people who are listening that I want to have writing of what was done for these hours of these days. Not necessarily all the details, although occasionally.
ERIC:
I go higher level than that because I tie all the time to actual features, and so my invoice just says “features” so it doesn’t actually break down like these many hours for this feature. I can look it up, if it’s all available in my system and stuff, but I just found in my invoice that it makes it too cluttery, especially if there’s like ten time entries for one feature, it’s just… I didn’t care for it. My clients actually like it. It’s a lot cleaner so they can just see what they paid for.
EVAN:
I would do that except a lot of the time, the clients themselves don’t really have names for the features; I'm ascribing names to them, so the names are a lot more meaningful to me than they are to the client.
CHUCK:
One thing that I have to point out is that most of my invoices just say “programming” and then the give the number of hours. I don’t give them any detail whatsoever on what was going on. But then again, with most of my clients, they are pretty involved with the project, and so they already know that it got down. They already know what’s there. The ones that aren’t as intimately involved in what’s going on, they just get the invoice and pay it. And they don’t do a lot of follow up because they either trust me or they are busy or whatever. And if they wanted that level of detail, I would provide it, but most of them don’t care enough to even ask for it. But I do like the idea of putting notes in there, so that for backwards reference or whatever, you can just go in and say, “Well, it says this.”
Anyway, are there any other aspects of subcontracting that we haven’t covered? I think somebody mentioned assistants, which is not exactly “skilled person” subcontracting. Is that something we wanna talk about for a few minutes? Because we have about five minutes before we have to get into the picks.
EVAN:
This is going to sound a little more different than subbing; subbing is usually more specific to the work that we do day to day.
ERIC:
Well, its project-oriented versus task-oriented.
CHUCK:
Yeah, I think there's probably enough there too to actually do a whole nother show. So let’s go ahead and skip that. Is there anything else you guys wanna talk about before we wrap this up?
Because I'm ok wrapping it up a few minutes early.
JEFF:
Wrap it up.
CHUCK:
All right. Let’s do the picks then. Evan, do you wanna start us off for the picks this week?
EVAN:
No.
CHUCK:
Evan, will you start us off for picks this week?
EVAN:
[Laughs] Damn. Did I say no to that one too? I really don’t have any this week; I'm just trying to think about. Oh yeah, the closest thing I can get, and I mentioned it in my twitter feed is I use the gem called Canable and the name is not spelled as though someone who eat someone else. I've used CanCan in the past -- with apologies to Ryan Bates -- occasionally it drives me completely bonkers. Canable is beautifully simple gem. The directory is only 82 lines of code. This isn’t to say it’s a hipster gem that way, it’s just really that simple to understand; there’s that little going on. And it works marvelously. So I've been taking a look at it.
CHUCK:
Sounds good. Sometimes CanCan does seem a little… I don’t wanna say it’s too simple or too complex, it doesn’t seem to fit all the time.
EVAN:
I've just had weird problems. Maybe it’s my mental model of CanCan is not 100% correct, and that I expected it to behave a certain way. I use a different one, and I've gone plowing through the code a little bit in the past, but even then, my mental model is not 100% because CanCan is just not something I use all the time. And Canable, as I said I think it’s literally 82 lines of code into one file or the implementation in the lib directory. And it really is pretty simple. [Unintelligible] usually impresses me with his code. This is one of his.
CHUCK:
Cool. Eric, what are your picks?
ERIC:
My pick today is a presentation. It’s about distraction and how modern time we are getting really distracted, iPhone, twitter, all that jazz. I think it’s pretty odd minutes. It’s pretty good. The thing I really liked about it was at the end, that actually has two ideas about how to get better at not being distracted, and it’s pretty practical stuff that you kind of put in practice right away. So I recommend watching it. In the link, there’s actually transcript if you don’t actually watch the video. Part three is what you can actually do if you don’t wanna see a lot of the background on it.
CHUCK:
I'm sorry, what were you talking about?
EVAN:
Eric [unintelligible] today, be careful. [Chuckles]
ERIC:
Yeah, it’s not a good day for sarcasm.
CHUCK:
[Chuckles] Ok. Jeff, what are your picks?
JEFF:
I don’t know that I have any today. I'll skip picks today.
CHUCK:
Ok.
JEFF:
I don’t have anything useful.
CHUCK:
All right. So one thing that I've been involved in and I brought this up several times is the podcast mastermind and the guy who runs it is Cliff Ravenscraft. He does podcastmastermind.com. I've had a lot of people ask me how to get started with podcasting, and I'm totally willing to help people, I just don’t have a lot of time. And so what I'm going to recommend is Cliff is actually holding a podcasting A-Z Course. It starts next month and I think it starts on the 9th of July he said, and goes through August 4th. Everything that Cliff does I just think is awesome. Its $999, but if you go in and you use the promo code “wood” like my last name, then you get $100 off and I get a little bit of referral bonus.
But honestly, it’s totally worth it. And he talks through equipment, he talks through hosting, he talks through audio quality, he talks about audio formats, how to put your site up, how to run WordPress to get it up fast. I mean, everything that you wanna know about it, he covers it all. I mean it is literally an a-z course. And as I said, its 4 weeks long, and it’s just going to be awesome. So you can go check it out, podcasting a-z.com. And I'll put a link in the show notes as well along with the promo code, so that you can remember. Just go to Ruby Freelancers Show on the 17th.
Other than that, I've been working through the Getting Things Done book. I know we’ve talked about it before. But I've wound up buying a whole bunch of stuff, and one of the things I bought was this brother labeler, [Chuckles] and I have to say I've had it for a few days now and I absolutely love this thing. Are you trying not to laugh, Evan?
EVAN:
No, it was a small laugh.
CHUCK:
It’s just nice. I mean, I've been able to… I'm probably labeling things that don’t need to be labeled.
EVAN:
The first thing I pictured was slapping a label on a child’s forehead.
CHUCK:
[Chuckles]
EVAN:
That was why I laughed. That was the first thing that came to mind.
CHUCK:
Yeah, there we go. What's your name again? [printing sound] [Chuckles] Anyway, just a super handy tool. I’ve use it to label all of my file folders so I can actually read what’s in them. And you know, just using for things like that’s been really handy. He also tells you to go get a few other things that have also come really handy. I've only had paperclips in my office for a long time and I mean, I've been using those like crazy to get things together and make those work as well. Anyway, the book is awesome. That’s my pick is the labeler. And I'll put a link to that in the show notes as well.
ERIC:
If you do get a labeler, make sure to get one that plugs to the wall. I had a battery powered one; it worked good but I kept having to recharge the batteries and I've upgraded it to the plugin to wall one, and it’s a million time more useful.
CHUCK:
That’s good to know. Mine actually have a that you can plug it in, but it didn’t come with a power supply, so I'll have to go look through my collection of power supplies and see if I have one that will work. But yeah, that’s good to know.
The other thing that you should know is don’t get the clear labels. I've had clear labels for stuff before in other people’s labelers, and I mean, if you put them on anything other than white paper, it’s kind of hard to read, so I tend to like the one white labels.
JEFF:
Clear also does not do very well for re-use. White labels with black writing, you can label over something that was previously labeled and reuse the file folder but if clear label with black writing does not re-label very well.
CHUCK:
Yeah, that makes sense. So that’s pretty much it. We are reading get clients now. We'll be talking to CJ Hayden, looks like the beginning of July. We're still confirming actual dates. But yeah pick it up. You can get it on Amazon and the type… it’s so funny, the cover of the book, and I tell people this all the time, it looks kind of like an infomercial book, but it is an awesome book. It’s totally worth buying.
EVAN:
It’s a great book.
CHUCK:
I think we’ve all read it or read parts of it. I've read parts of it but I haven’t made it all the way through. And yeah, so we'll be going through that and talking about how to set up a marketing funnel, marketing pipeline whatever you wanna call it. Is there anything else that I missed that you we need to talk about? I guess not. So we will wrap this up. We'll be on next week.
The Ruby Freelancers Show 017 – Subcontractors
0:00
Playback Speed: