The Ruby Freelancers Show 047 – Full-Time Contracts and Projects
Panel Eric Davis (twitter github blog) Jim Gay (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 03:45 - Long-Term Contracts 07:14 - Marketing while under contract 10:01 - Working on other projects while working full-time 16:10 - Energy 17:01 - Money Emergency funds 21:41 - Lone developer vs team projects 28:05 - Full-time contract pros and cons Renewing Flexibility Meetings Routine 40:50 - Finding full-time contracts Picks ruby-orgs (Jim) dtao / safe_yaml (Jim) Freebook Sifter (Eric) Discomfort Zone: How to Master the Universe (Eric) Doctor Who Sonic Screwdriver of the 10th Doctor (Chuck) Contactually (Chuck) Dropbox App (Chuck) Next Week Outsourcing and Odesk with Jonathan Shank Transcript CHUCK: I'll get ideas from my ideas. There's an idea. [Are you a busy Ruby developer who wants to take their freelance business to the next level? Interested in working smarter not harder? Then check out the upcoming book “Next Level Freelancing - Developer Edition Practical Steps to Work Less, Travel and Make More Money”. It includes interviews and case studies with successful freelancers, who have made a killing by expanding their consultancy, develop passive income through informational products, build successful SaaS products, and become rockstar consultants making a minimum of $200/hour. There are all kinds of practical steps on getting started and if you sign up now, you’ll get 50% off when it’s released. You can find it at nextlevelfreelancing.com][hosting and bandwidth provided by the blue box group. check them out at bluebox.net] CHUCK: Hey everybody and welcome to Episode 47 of the Ruby Freelancers Show! This week on our panel, we have Eric Davis. ERIC: Hello! CHUCK: We also have Jim Gay. JIM: Hello from Arlington, Virginia's greatest suburb, Washington, DC! CHUCK: Awesome! I'm Charles Max Wood from devchat.tv. And real quick, I want to mention this to a few people. I get request from people who listen to all of the shows that I do, so some of you will be interested, some of you won't. That's fine. If you're not interested, I apologize. You can't help by getting the word out, but I'm going to be teaching a Ruby on Rails course starting in March. And I'd love to get people to sign up, if they want to learn Ruby on Rails. I think the approach that I'm taking is a little bit different from what a lot of other people do, and that it's a course over 8 weeks. I encourage you to build an application and then we get it deployed to a server or to Heroku or both and just help you figure it out, help you find what road blocks you're going to run into as you build whatever application it is and kind of get you all the way through the process in 8 weeks. I don't think you can get that from a book, from videos, or from a 2 or 3 day in-person course class. So if you're interested, go to railsrampup.com and sign up! And I just appreciate you listening. If you're not interested, then I would appreciate it if you just tweet that out and let people know that it's available. ERIC: Awesome! Yeah I think that would be great. Like I know a lot of people who come to local meet-up groups and say "Oh, I'm trying to learn" and they spend some time hacking away from reading tutorials and cobbling stuffs together from the internet. But a long course like that could really help people kind of get over the hump and understand. CHUCK: Yeah that's what I found. I've had a few people actually come to me and say "I read this book, (or) I took this class, and now I'm trying to build my app, and I'm running into these issues." And so that's what this is kind of designed to work around. ERIC: Cool! CHUCK: Alright! Well let's get into today's topic. We're going to be talking about full-time clients or full-time projects, I guess. Either way. JIM: Neither projects where you're what?
CHUCK: I'll get ideas from my ideas. There's an idea. [Are you a busy Ruby developer who wants to take their freelance business to the next level? Interested in working smarter not harder? Then check out the upcoming book “Next Level Freelancing - Developer Edition Practical Steps to Work Less, Travel and Make More Money”. It includes interviews and case studies with successful freelancers, who have made a killing by expanding their consultancy, develop passive income through informational products, build successful SaaS products, and become rockstar consultants making a minimum of $200/hour. There are all kinds of practical steps on getting started and if you sign up now, you’ll get 50% off when it’s released. You can find it at nextlevelfreelancing.com] [Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net] CHUCK: Hey everybody and welcome to Episode 47 of the Ruby Freelancers Show! This week on our panel, we have Eric Davis. ERIC: Hello! CHUCK: We also have Jim Gay. JIM: Hello from Arlington, Virginia's greatest suburb, Washington, DC! CHUCK: Awesome! I'm Charles Max Wood from devchat.tv. And real quick, I want to mention this to a few people. I get request from people who listen to all of the shows that I do, so some of you will be interested, some of you won't. That's fine. If you're not interested, I apologize. You can't help by getting the word out, but I'm going to be teaching a Ruby on Rails course starting in March. And I'd love to get people to sign up, if they want to learn Ruby on Rails. I think the approach that I'm taking is a little bit different from what a lot of other people do, and that it's a course over 8 weeks. I encourage you to build an application and then we get it deployed to a server or to Heroku or both and just help you figure it out, help you find what road blocks you're going to run into as you build whatever application it is and kind of get you all the way through the process in 8 weeks. I don't think you can get that from a book, from videos, or from a 2 or 3 day in-person course class. So if you're interested, go to railsrampup.com and sign up! And I just appreciate you listening. If you're not interested, then I would appreciate it if you just tweet that out and let people know that it's available. ERIC: Awesome! Yeah I think that would be great. Like I know a lot of people who come to local meet-up groups and say "Oh, I'm trying to learn" and they spend some time hacking away from reading tutorials and cobbling stuffs together from the internet. But a long course like that could really help people kind of get over the hump and understand. CHUCK: Yeah that's what I found. I've had a few people actually come to me and say "I read this book, (or) I took this class, and now I'm trying to build my app, and I'm running into these issues." And so that's what this is kind of designed to work around. ERIC: Cool! CHUCK: Alright! Well let's get into today's topic. We're going to be talking about full-time clients or full-time projects, I guess. Either way. JIM: Neither projects where you're what? You're working like 40 hours a week or as much as possible, and you only have the one client, right? CHUCK: Yeah, basically. ERIC: Mostly like Chuck, can you take on a multiple full-time projects, then you might have two full-time clients. [Jim laughing on the background] CHUCK: I really have a project er a problem with that. It's not full-time clients per se, but I have like a full-time client, and then I have another project that takes up about full-time's worth the time. I really -- JIM: So you don't sleep? CHUCK: I really haven't for a while. Maybe we should talk about health and fitness. [laughter] CHUCK: The importance of sleep! ERIC: The importance of saying no. CHUCK: And why Chuck is so..[snores][laughing] CHUCK: But, yeah. So I think -- JIM: Well I can say that for me, when I first started getting full-time clients, I was relieved. Because when you have lots of small contracts, either if they're all happening at the same time, or they're just sort of like happenings to cut or throughout your calendar (you get one and you work on something briefly and then you have nothing, and then you get another one and it's small), it really took a lot of stress off. There are other stresses, I'm sure we'll get to talking about, but I was completely relieved when I finally got that contract that I knew was going to last 6 months or a year long and was going to eat up all my time. CHUCK: Yeah. I mean you kind of wait for one extreme to the other. There's the extreme in the middle where it's a long term contract, but you're not working 40 hours. And that's kind of the sweet spot for me, that's where I like to be. ERIC: Yeah, same for me. I mean for I guess most of my business I've had - 2 to maybe up to 4 or 5 clients. And the majority of those were like -- the term was like in the span of years and it was like a little bit of time each month. That was nice because you kind of got a steady stream, but you also have kind of redundancy. Like if a client needs to stop, or if something happens and you guys part ways, you still have other clients aside or are not being approached. CHUCK: Yeah, that's definitely one downside, I guess, to having full-time clients - is that watch your backup; you got to go find another client. JIM: Yeah, that's definitely dangerous. It's always good, we've talked about marketing or sort of and that type of thing, but whenever I get a new project, I start looking for another project. Just so I at least make sure I'm on top of staying in contact with people. But for those ones that lasts a really long time, if it's a year long, it's easy to kind of lower yourself into this full sense of security and kind of forget about it. And then get into panic mode like in the last month of your contract like "Oh no! I'm not going to be working next month!" CHUCK: Yep, unless they renew. But yeah and I've done that; I've heard a few other people say "Wow! This contract's going to last a year so I'm not going to worry about marketing right now." If you can pretty well count on the work ping, then I guess that's okay. But there are client, just like any other clients, so you have as much guarantees you do with anything else. So I like the approach. I like saying "Yeah, you should be marketing anyway." JIM: I used to have projects where I would work 40 hours a week on a project or more for this single client deals. And just lately, I've started trying to pull back because I would hear others like even on this show say "Yeah, I'm trying to work 40 hours a week. It's crazy, you can't do it", and I would do it [laughs], and I didn't think it was crazy. But what I found now as I pull back my time, I'm trying to do other things. I'm trying to do more research and finish up a book. And I find it -- I feel like I actually have less time. So even I'm trying to shoot for 30 hours, I actually would love to only have 20 hours. And so when it was just me working on a project that it was 40 hours a week, it was the only thing I had to worry about. And I feel like as I pull back, then I sort of try to fill that time with other things and realized how little I actually have to do all the things that I want to do. CHUCK: I want to go back real quick to the point that you made where you should be marketing while you have this full-time client. What comes to mind for me is "what do you do if one of the other clients or leads lands in and you're still in the middle of this other full-time contract?" Because then you don't necessarily have time to pick up the other contract. JIM: Yeah, that's a good question. I think it probably depends upon the client and what you can do. You can always schedule it out and say "Yeah, I can do these things, but I'm not going to be available for a month or two months", and depending upon what you do. And in that time, you might be able to find somebody to help you; maybe you can do part of the work and someone else can do part of the work, or you could actually form out all of it to someone else. But it depends on how you go into it. If you go into getting a contract somewhere, and they want you onsite, and you're already onsite somewhere, and they want you, then it's pretty much impossible to join up with somebody and have them support you in a project. But if you go into it and you treated as though you're a separate business, you're not just an individual and you have an office of your own regardless whether or not it's in your house or it's a coffee shop but you have an office in place where you work like starting a relationship or the discussion around the project, that way I think it helped at least open the door for you to better managed to at once. CHUCK: Yeah, that makes sense. And like you said, I think it really depends on the contract you're working and the contract that you're landing and how they can work together. ERIC: I do a bit differently because I don't want to hire people; I don't want to have subs unless it's like design. I don't want to have a developer as a sub. And so typically, like right now I'm on a full-time contract, and so I'm getting leads still, giving on up marketing. And depending what they're asking for, I'll go tell them like "Sorry, no I'm not interested" or I would say "I'm interested in it, but I'm on a current contract and I'm not going to have availability until (we'll say) June. If you could wait until June, we can start talking May-ish and try to get it ready as I'm on deck. So starting June, if that doesn't work for you, I'm sorry you're going to have to talk to someone else". Basically, I set that expectation upfront and I'm not going to hire people out. And if I'm not able to work on it, then I'm stuck not be able to work with them. Now I guess another thing I do is I try to refer them off. Like if I know other people who are like they have some availability or they might be someone that's a better fit, I will pass on their names like "Talk to Chuck here, he has some time. He might be able to do the project for you," and basically just keep it as a straight referral and not try to sub Chuck into it. CHUCK: Yeah, that makes sense. So are there any other things that we want to...any other downsides? I know that one downside for me with working full-time is that I do have other projects that I want to do. I mean I was kind of joking when I said I have a full-time job and then I have my business as kind of my other full-time job. But it is kind of true. I mean if I'm working 40 hours, I really don't have a lot of time for anything else. It's really hard for me to fit in the podcast even at 40 hours. JIM: Yeah, I honestly don't know how you do that. CHUCK: Well I'll tell you how I do it, I don't. [laughs] I'm actually behind on my hours of my client, I will admit that. And it is. But they knew upfront that I have the podcast and that I was going to have to work around them to work for them. I try and get at least 30 hours a week, if I can I'll get more. But yeah, I mean it's just really really hard. And then I'm trying to pull this Ruby on Rails course together at the same time, and so that's another project. And I have other things that I want to work on that I just don't have time. ERIC: Well the problem for me, it's not so much the time, it's the energy. Like I've gotten into a state now where I can do all the time I need for this client every day, but by the end of the day I'm shut. Like I'm lucky to have the energy just to go through process my email, I'm not even considering doing marketing, or writing, or any of that stuff. I've basically kind of, over the past few months, drained it so bad that I'm going to have to take a break and step away and take a vacation (but I dont' think it's going to be a real vacation), and basically recharge back batteries. And that's kind of the hard thing because I know, at least for myself, when I'm working for a client I push myself hard. And so I know that I've been draining down my energy over the past couple of months for this client. And I knew like I'm going to, not going to burnout, but I'm getting close to burning out, and that's just something you have to manage. And that's basically a [inaudible] I took on for having the stability of a full-time client and the revenue of full-time client. It's going to burn through me. JIM: Yeah that's definitely something to balance. And I think, kind of going back to what Chuck was talking about earlier with your client knowing that you've got this podcast to record, I think it's all about setting those expectations. And so if you're picking up a project that you know is going to be a lot of work and they are like the 11th hour and they need you because they have to completely change something because it's broken or just unmaintainable, you sort of go into with an expectation that "Oh, this is not going to be a 30-hour or 20-hour a week job", they need somebody who's going to be calling 40+ hours all the time. There's upsides and downsides. You can make a lot of money doing that very short period, but then you get out of shape or you don't sleep well, neglect your family in some regard. But I think it comes down to figuring out how you're going to set not only expectations for yourself about what you want to get out of a particular project, but then turning around, setting expectations for the client of how you're actually going to manage their project, and whether or not you are available from where. If they hire you for 30 and they say "Oh, you're great. We said we didn't have enough money in the budget, but we really do. We need you." What is your answer going to be? Is it going to be "yeah, I'm all for it"? Or no because you're doing these other things? All in all though, I think I'm definitely happier having this long term projects just because it relieve me from worry about on a daily basis or weekly or monthly basis about what's going to happen. So even with all the works and downsides of not feeling free sometimes because all your time is sort of bundled up into providing hours, I don't know, I feel that's better than not knowing what's going to happen or constantly struggling to pull that next project then. ERIC: See, that's a bit different than mine. Because the full-time stuff every now and then I fell is good because you can actually make a considerable amount of money in a short period of time. But I found its way more sustainable for me to have multiple smaller projects that expand a couple of years. For me, that's when I felt comfortable because then I could get into kind of a regular systematic process with each client and it's not all like a bunch of fire drills like "Hey, we're doing another launch. We need everyone to do 60 hours this week." That doesn't happen when you have the kind of a longer term or magnet-stack contracts. JIM: Yeah. I'm curious about how you find those contracts. So for example, I will often get, at least lately, I've been getting kind of rescue projects where the code is not in the best shape and perhaps a good portion of it had been outsourced to team that wasn't really well educated in how to even use Rails or Ruby. So I've been hired to help problems with that. And then also, the team, finding up a team is not operating in the way that they communicate well. And so finding a project for me that would only be 20-hours, like somebody might want to hire me to help me do that stuff. But if you're not really there with the team, you can't really, at least I, haven't been able to really improve team communication and help everybody work together better if I'm not there all the time. ERIC: And so I think the ones that works good for me, I was the sole developer. There might have been like designer on it, but it started out as kind of a green field "we need you to build this thing", and that was where this kind of the more intense almost full-time effort. Once it was built, then it shifted down to (we'll say) a quarter time effort of just kind of maintaining or adding your features, or maybe a new version here and there, but it kind of start with the big thing, get it out there, and then just slowly refine it. And that was great because I'm able to communicate well with the clients, so we're able to kind of plan things out and scope stuff, and kind of get ahead of any deadlines we needed. But I think there might just be luck of draw and just how you fill to your projects. CHUCK: Yeah I want to pop the stack real quick couple of times. The first one I want to talk about was the energy thing that Eric was talking about. I've definitely seen that as well especially when you get into the fire drills that he talked about. Over October and into November, we kind of have that big major push because they were going to a trade show and they wanted to show off the product that we were working on. So we did; we pushed and we were pulling 50-60 hour weeks. And then it came to Thanksgiving, and I pretty much just took the whole week of Thanksgiving off to recharge. So if you're not into those kinds of things, then full-time clients may not be the way to go. Or you can just be clear like Jim said, and just set the expectation upfront: "Im not going to pull more than 30-40 hours a week. The other thing you talked about that I want to dig into here a little bit and I'm sure you guys have stuff to add on it is the money. So I mean if you're working a full-time project, and let's say you regularly would have worked like 20-hours a week, and for this project you're working 30-40 hours a week, you will make more money as just a function of more hours x your hourly rate is more money. And that's kind of the thing right now, I've renewed with my client, I'll be working for them for another 6 months and it's a full-time deal. And the thing that's really get me excited is that my wife and I are going through financial piece university which is Dave Ramsey's Program for getting out of debt and building wealth. So we're looking at getting out of debt and extra money means that you can get out of debt faster. And so that's something that's something that's really exciting; we can build up that emergency fund maybe. And so it does payoff that way as well. JIM: Yeah, it absolutely does. And I think it depends upon like as you start talking before you even got to the punch line, I was thinking "yeah, it depends on what you're going to do with it". Like taking on those projects, if don't really need to. If you are not in debt, and you are reasonably good at handling your finances and you only need 20-hours a week, then that's great! Why bother going after those? Unless you want to sort of build up funds and take that money to take time off to either develop your own product or just go on a vacation somewhere. I think it all kind of depends on who you are and what you and your family needs. ERIC: Yeah and that's basically like I said, for a couple of years I've been kind of keeping a sustainable, taking just enough projects to cover the finances with little bit of extra in the savings and retirement, and then using the extra time to work on my books and my suffer as a services. But the whole goal of taking this full-time client on, besides it was an interesting new client and I want to work with them, in short amount of time I'm going to make a lot of extra cash that I'm basically shrouded to as same as account to have a very very large emergency fund. So like I said, I know I'm going to be approaching burn out, and I can kind of take couple weeks off digging to that money and basically not have to worry about making ends meet, running to the next contract. And even if you don't need to have that, having some extra money in a savings account for that sort of ideas are great, but thing is it's more flexible. So I can now take a couple of months to look for another client once this one's wrapped up; I don't have to jump by the first one that shows up. CHUCK: I do like that, too. I mean that's what we're going toward; it's not just getting out of debt. But having the emergency fund means that I can pick the clients that I want provided that I still have money in the bank. ERIC: I mean you just kind of have a goal like it's a business. Like you're giving a service and you're, with full-time stuff, most of the time you're going beyond or at the peak of your capacity and your business is going to get compensated for that. You just have to know what to do with it. You don't want to just drop into it and say "yeah, I'll just work for them" and not know what your game plan is. Like I knew going in with this client whatever I was going to do with the money. JIM: Yeah I definitely think that having that time to market, like when I jumped in to a new project, I immediately start thinking about what will happen later. Not necessarily to fill the pipe on, but to either do other things like practice marketing myself, practice doing conversations around business that will help sort of gaining somebody's trust that I can help them in the future. So if I'm talking to people about potential projects, I engage them more about what their business goals are and things like that, rather than getting down to the [inaudible] of like "Alright, what you need to do when do you need it to start happening?" But also, once you're settled in a project, it's easier to start looking right away and try to raise your rates. If you could move to another project and you have enough lead time, if there are 3 or 4 people who'll come along or interested while you're working, it's easier to turn around and say "Oh well, this is my rate." It's not the one you currently working on, you've add a little bit to it. And when you're gainfully employed, that's the best time to look for a job. So when you have somebody already paying you to work, that's the best time to look for other work because you don't want to wait until you don't have work. ERIC: Yeah. It's the "don't be desperate" like "don't go to the bank when you need money yesterday". CHUCK: Yup. So I'm a little curious if you guys have worked or what the nature of your full-time contracts have been? Have they always been sort of the staff augmentation, you're part of a team working for the company? Or are you usually the lone guy on a project and they just need that kind of progress? JIM: For me, I've done a lot of stuff augmentation, either helping write code, helping clean up code, helping to get the team to be a better team. I haven't done a whole lot of a lone gun development. But yeah, when I used to have smaller projects, it was people would come to me for design and come to me for development, and I do some little website for them or something, and then that would be it, right? But now, as I'm getting it to bigger development projects, I'm jumping in with companies that already have something started and they've sort of lost their way. And so I help them get back on the right track and show them that writing test will actually be valuable. [laughter] I found a lot of pressure where I come. People just haven't written tests and they're constantly in panic mode about whether or not they can't slow down and figure something out. They've just insist though if she's got to push these features out. So that's generally how my projects have been going. I don't know why; I wonder what I'm doing to attract that type of client. Or if it's just the people I know are already in businesses where they have that type of problem. CHUCK: Yeah I don't know. I really don't. It is interesting. But the project that I worked full-time is, like I said I'm part of a team, it's a staff augmentation; I'm one of the two experienced Ruby guys on the team, and so it's more of a "Hey let's get people in here who know what they're doing and have them help us with our internal team, getting expertise, and get to the point where we want the internal team to be." And so the way that this has gone, it looks like that they're going to want me for a while, probably quite awhile, as long as they can keep me. The nice thing about that is then I can stay with them as long as I'm comfortable, as long as it's taking me where I want to go. I've been a lone developer on projects before. I was a lone developer on a project for most of 2011 and about half of 2012, but it wasn't full-time; it was 20-hours a week. Anyway, so I've kind of in both places, but not as full-time contracts. JIM: Yeah I don't think I have either, though I'm sure if I was hired to be a lone developer, I would make great use of trying to open source as much as I could to interact with people on the project, or just talk with people at meet-up groups. I think for a lot of people who are lone developers, people who aren't really in team with the community -- I remember years ago when I was a professional Ruby developer, paid to write Ruby, had no idea that there were groups I could go to to actually talk with other people and kind of just discuss things and learn new things. But there are people there who I think could really benefit if they knew about groups that are out there, blogs, chat rooms, podcasts, all that type of stuff. And so it's easy, I think, when you are a lone developer on a full-time project to not learn anything and sort of stagnate, and then also become sort of depressed with your work. At some point you might be happy with your work, but at some point you might look at it and say "I just can't get over this hump. I don't understand how to write good test; I don't understand how to make this not so complicated or not so slow in getting out and talking to other people." If you're honest to yourself, then I think it really help. CHUCK: Well you can run into that, too, with the full-time staff augmentation kind of thing especially if you're the expert that they brought in to help everybody else figure out what they're doing. And I've seen that somewhat with my current contract, it's not totally that way, there are things that challenge me one way or the other. But in a lot of ways, I spend a lot of time doing things that really don't push me to try new things or to challenge the way that I think about some of the projects. So, you can get that either way; you just have to make sure that you're doing the right things and doing a lot of the things that you talked about, whether you're the lone developer or one of the experts on the team. JIM: Eric, what say you? ERIC: Yeah I mean you really have to watch kind of where you're growing towards. If you have other developers on the team that are better than you, and not necessarily just in Ruby Rails but maybe in Javasript or HTML or in some way, you'll learn from them, but if you're solo, you won't. But on the other hand, it's kind of what Chuck was saying. If you're brought in as the expert and if are kind of above other people, skill wise, there's not very much you can learn unless you try to push the envelope yourself. And the problem with that is if you push it too hard, you might be making decisions or making the application more complex or harder to understand for the people who are more junior than you. And so you kind of have to hold back a little bit on how much as if you want to push. Like if someone just got into Ruby, you don't want to be throwing better programming into the project right away. So that's where I use open source or work on different clients where I would set like "On this project, I'm going to try these two new, I guess, more advanced techniques and kind of see how they would turn out. But if you're on a full-time project, for instance like right now, I don't have the energy to really put into open source or put into side project learning, and so I'm kind of holding my skill set steady and not relieved -- learning the heck of a lot! And like I said earlier, it's kind of a risk that I took and I knew I was going to be in that situation when I got started. CHUCK: So if you had to do a full-time contract starting right now, what would be the things that you would hesitate about? And what would be the things that you would be excited about? We've kind of talked about some of these, and I'll go ahead and start. With my current client, I really hesitated for awhile about renewing with them. And really what it was, was that I have a lot of other things I want to work on, and having a full-time client takes a lot of time. And so the other thing is it affects the time that I have to spend with my family and the time that I have to make it to use at group meetings and other things because I'm so busy that I'm trying to make up that time in other places. And so that was my biggest hesitation, but at the same time like I said, we decided that we were going to go ahead and get out of debt. And so this seem like a goodwill to do it. Are there other hang ups or other things that have made you think "Yeah you're nye on some of this"? ERIC: Well if you can know in how the team is, that's going to be like what we're just talking about. If you know the team is about a junior people, then you have to evaluate that. You're going to have to keep your skills fresh some other way. But if the team has like a couple expert people or people you want to learn from, then you might be able to keep some skills fresh and pick up new ones just by working in the project. So that's a hang up. Another hang up that I tend to look up really big is how good are they going to be about pay? Like are they a well-known company and they're going to pay you? Are they a startup and it's kind of sketchy? You don't know if they're going to pay you, and also how fast like if they're going to make you wait two months to get the paycheck. Well two months of full-time work basically means that you're going to be in the whole a lot of money if they decide to not pay you. And so, based on their payment terms and based on kind of the company financial structure, that's a big thing I look out for. JIM: I like to see flexibility. A lot of projects I've been on is on site and that's good. I certainly don't think that it's not valuable to be on site with the rest of the team. But as long as it's flexible enough that the team works together well, this is of course assuming it's staff augmentation, but if there's already existing team and they work together well and communicate well, then working remotely is no big deal. But I've definitely been on projects where if you're not there, then nobody will communicate with you even if you do your best to try to reach out so that it may sort of only within the core doors of the building, does anybody speak? That's that. So I've been trying to avoid a project like that. But I'm also definitely looking to find projects where it doesn't require that I spend absolutely 40 hours. I know there are startups where they're under the gun; they're funding. They're trying to get something off the ground, and they demand 40, 50, 60+ hours from their employees and want their contractors to do the same. I certainly understand there are crunch times, but sometimes some companies get into crunch mode all the time. And so I'm always looking for whips, asking them about the business process and about what sort of goals they have and what they expect to be able to achieve. And if anything smells fishy to me, then I probably going to turn it down. ERIC: Yeah there's actually another one, it's "if you have an out clause in your contract". Because a lot of this stuff you might not pick up just from talking to them and kind of get in the high level, but once you get into it, you're going to see that "yeah, people are doing 80 hours a week and they've been doing it for 6 months". That's basically like time to use its gay patch. CHUCK: Yeah. It's definitely something to think about. One other thing that came to mind while we were talking was that with a 40-hour contract, just like with the full-time job, any of your clients' deficiencies or dysfunctions are going to be amplified by the amount of time you spent working on that or working with it. The other thing that I've noticed with my current client, (and I love him to death!), they do some things that kind of bother me. But I don't think you'll ever going to find a contract that they do everything exactly the way you want them to especially with more hours being worked and things like that. But the other thing is that I find myself in more meetings with the full-time client because I'm getting closer to that employee status. And so they want me more involved with their process. That's sometimes a pain thing for me especially when the meetings go 6 hours. JIM: Yeah that can be good. I was on a project not too long ago where they had weekly staff meetings. And after being at the first one, I just went to my manager and said "I'm not going to these things". Because it was this meandering meeting where they were giving updates about who's working on what, but they would wait if somebody was late. They didn't just start the meeting, they waited and "oh so and so isn't back from lunch, yeah we'll wait", it was like 20-minutes later. So things like that, I just said flat out "I'm not going this meeting. If you would like me to show up at a particular time to give a status, I'll do that. You're paying good money to have some stuff done and I intend to do it". But it depends; if you're on a meeting where you have to like help them plan the direction of an application or the business or something, then of course you do your best and give them the best feedback you can. But there are some times where I've been involved and I've just flat out said "This is a waste of time not only for me, but probably for all the rest of you." I've worked on a project where they had stand up meetings that lasted like 45-minutes, and I got on there and I said (it was like a team of 4 people) "This should be 5-minutes long at the most," and so we eventually got down to that. But sometimes I think organizations don't realize how sloppy they are with their time and so as coming in. Like nobody has ever raised the question like "why is this meeting so long?" even though they all hate it. Just coming in and say "Hey you shouldn't be doing this" can make improvement on just the way that the team works together. CHUCK: Yeah we pushed back in our last retrospective because we're following scrum process. We actually have a certified scrum master that is pushing this along. ERIC: Nice! CHUCK: So anyway, we pushed back on him about everybody attending the product demo. And the reason, there were couple of reasons, but the main reason was that we would all basically show up and try to pay attention through stuff that we already knew was done, we already knew it worked. The discussions really didn't impact us as far as how the process went ahead because if there were a bug, then they'll just file a ticket. And so we pushed back and said "Why are we going to this sprint demo?". It's the same kind of thing. I mean it's only an hour meeting, but, I don't know if I dare admit this, I guess I can. I know they listen to Ruby Rogue, I don't know if they listen to this one, but I have actually gone to that sprint demo and we used go to meetings. So they have the HD phases thing that shows everybody and I'm usually on one of the web cams on there. And so I basically just pinged somebody else and said "Hey, if it looks like I'm not paying attention to the demo, let me know on Skype." and so then I would just do other work than get other work time during the demo, and they've let me know if it looked like I was off doing something else. JIM: I think that's great. I think a lot of times managers, well anybody really I just said managers, feel like they need to be the center of attention when actually someone else can be told about it later and they could be off doing productive work on that. CHUCK: Well that's the thing. I want to provide the maximum amount of value for my time because they're paying for my time. And so if I'm sitting there and watching somebody demonstrate something that I already know works just to get the sign off from the proctor, then that's not a process that really involves me unless there's an issue. And in that case, pull me in! I won't mind. So anyway, that's kind of where I'm at. And I think it's fair even in this full-time contracts. I mean they're bringing you in because you get it what you do. And so go ahead and feel free to push back, ask questions, and things like that. JIM: I think we've talked a bit about the good parts. Like I know I've mentioned that for me just the security of it. But getting seveled into a project where, if you're working on a full-time, you are working 40 hours a week. You know it and you know it very well. And it's comfortable. So it's kind of good to get into a routine where you're maybe solving different problems, but you don't have to bounce around between code bases and change context. For smaller projects, one hour you're talking to this client, another hour you're talking to that client. It's nice to be able to just sort of get started with one thing and stick with it and yeah go that around. ERIC: Yeah not having a context which is to go from one code base to another code base is a big improvement. I mean you still have context which is inside of your one mini project. You're going from like one area to another, but you can keep a lot of the extra knowledge along with it. CHUCK: Yeah one other thing that I've seen with the full-time deal or being the only developer on a project you're working on a full-time is that you tend to get all the way to the end of the project like they're hiring you to help them get to a certain point. And so you can basically declare success and tell people "Hey I was involved to that project" or "Hey we got that released". In other cases where I've been kind of the part-time semi-maintenance guy, the fact that the site's still up and doing what it supposed to do is supposed to be my victory. But it's not as big as like this major launch of a project that somebody is kind of banking on. That's one thing that I really like because it's like "I'm put it all this effort and look we won!" JIM: Yeah. I never really did this before, but lately I've started keeping notes on like "what has improved?" What was the situation before I started working on something and how did I leave it whether it's actually code or it's tightening up our meetings. And so I've taken these for shorter term and smaller part time projects that's less of a big deal especially if you want to have the option of leaving early. You want them to feel like you've contribute a lot and you can point back and look at all these things we did since I've been here. Wow! Isn't that great? So I've been trying to stay on top of tracking all my contributions and wait that will look good when I leave and say "This is what we were able to accomplish". CHUCK: That's really cool. And I bet you get a pretty good list if you're there all the time. JIM: Yeah I mean it adds up. You could look back at the end of them and you can say "Well I guess we kind of did this and we kind of did that", I mean you have a very short list. But if you're doing it on a regular basis, it just grows so easily. You can widdle it down later, but it's better to have all that information then gives you a better perspective of what you actually achieved. So I think finding long term projects or full-time projects and balancing that with the other interest that you get has also been a challenge for me where I've had -- somebody interested in a small project where if I was only working on part time things, I'd say "yes". But then if they only need like one a day or two of code, I balance it with "Well, can I get a 'pirate' for doing?" like taking a day off of my full-time project and working on this small deal. Or would I just say "no" and pass along to somebody else. So that's one of the things that I think is different. If you don't have the bandwidth, you don't have somebody who's working with you, some of the smaller things that you used to take you begin to say no to. CHUCK: Yup. Alright so are there any other pros to having these contracts? I'm also curious as to how you find the full-time contracts as opposed to the others if people are interested in working one or the other. So I asked two questions, how rude of me. ERIC: I mean there are dimension. Full-time contracts are probably going to be your [inaudible] and you get more revenue from them just because it's pretty intense. If you have a bunch of little projects that ended up made so that you're working full-time, you can probably have the same amount of revenue, but in most cases it's easier to manage one client versus managing ten separate clients for the same amount. CHUCK: Yup. JIM: I'm not entirely sure; I sort of just started getting people interested. I think from being involved in the community and having my name connected to open source projects, it just sort of grew overtime. So finding the long term projects just kind of came with having more experience and being around and visible. CHUCK: Yeah. My full-time client is the only one that I've had full-time since I went freelance. And it was a referral; somebody else is working the project. David Brady was working the project and said "we need more experienced Ruby devs please please please", and so I went on work with him. As far as long term clients go, most of the longer term folks I found actually came off of "Teach me to code". There's some videos there that demonstrate how to build like a Twitter clone and things, and they really kind of get excited about that. And then they have a comfortably-sized project that has some similar functionality, and so they bring me in. They want over the long term, more focused features than what was in the demo. How about you, Eric? ERIC: Yeah I mean I've had, I guess this is my first where I came in as full-time, I have another one where it started kind of partial time and then it accelerated to full-time for about a month, maybe two months. Over those, I came across in the same way as any other project or referrals came after being about [inaudible], and a lot of it is just being working really good with my existing clients that they refer me to other people. It's kind of, I don't think that there could really much of a difference between getting a part time, getting a full-time, or getting kind of like the really small project, I think it's just in the matter of who comes to you and how you work with them to close the deal. It's also by availability like right now, there's a lost hours, I have a lot of funding so there's going to be a larger work out there versus a couple of years back, things are a lot [inaudible]. So there's a lot smaller projects that are out. CHUCK: Nice. Alright. Well, if there aren't any other things we can talk about, then let's go ahead and move into the picks. Jim, do you want to start this off? JIM: I would love to. I started a, I just want to mention this, I don't know that there are a lot of people out there listening that are organizers, but I started a "organizer's googoo group for Ruby group". So if there are people out there who organize a Ruby group, I wanted to find a way to collaborate and help sort of drive some of the discussion in the community and help contribute to different projects in a coordinated way. So there's some discussion there, I will post the link in the show notes. And this podcast will be out sort of a little while after the Ruby gem's security vulnerability breach. But I just want to encourage everybody, this isn't really pick, but go to groups, encourage people at the organizations that you're part of to contribute back to projects like Ruby gems and Bundler and Rails. Because when everything hits the fan, it's usually just a handful of people who were saving everybody's bots, and that's kind of happening right now at Ruby gems. And I think, we as a community opt to do more. So anyway, I'm trying to encourage groups in the local area to start contributing, not just hack nice site, learn how to code, but let's find some issues on the project; try to find security vulnerability and patch them up or report them. So anyway, I'm encouraging everybody to do that. CHUCK: Nice. Is there a good place to find out what the patches are? Or is it just updating Rails? JIM: There's a Rails security, googoo group or other posted, and then the Ruby on Rails blog has information about the patches. But what I would love to have people do is dive into the issues on GitHub, either for Rails or for Ruby gems or Bundler or any particular project like device even had a security vulnerability. And I think we're going to see a lot more of this, it basically comes from Yamo parsing. And if you're parsing Yamo anywhere and it's not well protected, you could be possibly executing some arbitrary Ruby code. So I guess anywhere, you're parsing anything, living enough to Ruby. So anyway, I want to encourage as many people as possible to just make contributions, write blog post about "How to help fix the problem". It does tie back to business as well. I mean there are companies out there who may not know enough. If you have clients who you've talked to in the past, just send them a note. Say "Hey, there's security problems and show them that you're a person who's thinking of them, who they can trust, and maybe they might hire you to help tightening up their code as well. CHUCK: Alright, sounds good. Eric, what are your picks? ERIC: Alright so I came across this one the other day, it's called "Freebook Sifter). There's probably link in the show notes. It's a site that are like, I don't know if it's crawling or whatever, but it basically list all of the free kindlebooks on Amazon. I found it because I was looking for some more fiction books to read. Basically it's ranked by like different topics, but then number of ratings and average stars. So it was actually a pretty easy way if you're looking for some free books to get into like a lot of the fiction series. The first book is free and then the next one's in the strayser you have to buy. But I found that, got a couple of [inaudible], I'm going to start reading. And then, second one is a post on Zen Habits, I'm going to link to. But there's basically one thing in it that I want to talk about. The post is about this comfort and it talks about kind of how to get over this comfort. And one of the tips that I thought was actually really nice was: if you're doing something for the first time, you're going to get a point where you're uncomfortable with it. It says "the first time that happen, suck it up and keep doing it". That uncomfortable feeling will come again the second time, suck it up deal again. And then if it comes of a third time, then give in and kind of stop what you're doing. Basically the kind of idea behind it is that, don't give up on the first try and don't just force yourself to go through it, but kind of give it a good go and see if what you're doing can be make comfortable. You can kind of work through it, but at rather in this kind of limit how far, how deep you're going to get into it. So the whole post is about discomfort, but I thought that was kind of a tip that can be applied anywhere else. CHUCK: Nice. Alright well I've got a couple of picks here. The first one is I got a guessing hole, with a gift card. But it was basically coupon code for $20 on thinkgeek, from a listener to Ruby Rogues. If you're listening to this, thank you very much. I look through thinkgeek and a lot of the stuff I was passingly interested and I thought was funny. But nothing really grabbed my attention until I saw something that I just had to have. If you're a doctor, you probably recognize this noise [alarm noise], that's the noise that his sonic screw driver makes. That's what I'm holding in my hand; this is sonic screw driver. It's the 11th doctor sonic screwdriver. It has a green light on one end, and a couple of buttons that you can hit to make you go off. And you can also hit this little button [snap sound] and it snaps out so that you get the full effect and then [alarm noise]. Anyway, so you get the sonic screw driver effect and it's just the fun twice, so I thought I would pick it! Another pick that I have is an app that I'm kind of have been playing with for the last couple of weeks, it's called "Contactually". It's actually been reminding me to get in touch with people that I have in my leads list and do follow up with them. And that, when we talked about get clients now, that was my big failing, was follow up. So I'm really excited because it actually seem to be working. I've got an email, it said follow up with this people. I'm going to do it right after the show and so I'm thrilled because it really hits me where I'm living and saying "you need to make sure that you're following up your folks". So, I'm going to recommend that. And finally one thing that I found, I have this skinsnap scanner, little do like business cards and receipts and stuff. But whenever I feed the receipts through, they usually don't come out very clear. I turned the quality way up and they look okay, but sometimes it feeds it through funny or -- because I stick them in my pocket then they get all crumpled. So what I've been doing is I've been taking pictures of it with my iPhone. And then if you open the Dropbox app on your iPhone. it will sink all the pictures on your phone up to your Dropbox cloud. And so from there and then, I can sort them on my computer to wherever they need to go for my tax purposes. So I'm going to recommend the Dropbox app as well. Anyway, I believe that's it! So thanks for coming guys! I want to talk about the schedule and then we'll wrap up the show. So next week we're going to be talking to Jonathan Shank. He's a member of the podcast mastermind, he's on our mymastermind group, but he's somebody that I met at New Media Expo and he's an expert in outsourcing and using oDesk. And so we'll talk about how you can use oDesk to augment what you're doing in your business. They actually do have Ruby on Rails developers on there, and other developers on there. So we'll talk about some of the things that you can look at to figure out whether or not you want to go that way. The week after, we're going to be talking to my Attorney, his name is Gerald Richards and we're going to be talking about contracts. And then the week after that we're going to be talking to another person in the Podcast Mastermind that I met at new media expo. And he's an expert in prospecting, prospecting being finding leads, and his name is Steve Cloyda. So if you're interested in any of those and then finally at the end of the month we're going to talk to Scott Swiney again. We're going to talk about bookkeeping and business expenses. So we've got the next month put out, and we've got guest coming on to talk about some of the things that we may or may not have expertise in. Anyway, get excited, pay attention, we'll get these topics covered for you and we'll talk to you next week. ERIC: Take care!