17 ms·
Everything I wish someone had told me (about freelancing)
- aantix 14y agoOne additional note: Automate wherever possible. Especially if you're a developer there are no excuses. Automatically log your time using something like Time Sink ( http://manytricks.com/timesink/ http://manytricks.com/timesink/ ). Adopt a convention for your git commits so that you can use some of your git messages as line items for your invoice (e.g. anything with "Feature: " in the front) I wrote a gem called "Big Bucks No Whammies" ( https://github.com/aantix/big_bucks_no_whammies https://github.com/aantix/big_bucks_no_whammies ) specifically for my billing purposes.
- tptacek 14y agoI'm a little confused by web developers' fascination with time tracking. In my practice, if I'm working for you for a significant chunk of a day, that's the day, gone. I am more likely to just do work for you for free than to bill in less than 8-hour increments. Do you really invoice clients for "11 hours, 3 minutes"? I think I'd go so far as to say that the "N minutes" part of that invoice actually looks a little unprofessional. (I'm sure you're a consummate professional, though!)
- patio11 14y agoI think time-tracking has fascination for a certain bracket of freelancers because it is an easy, low-stress way to rescue waste from the business: you are actually doing more work then you are invoicing, so if you actually tracked it better your billings go up and your client will be happy and it doesn't hurt any shadow beliefs about the evilness of making money. There are better ways to accomplish these goals, like switching to daily rates (or weekly rates). No client worth having cares what your work structure looks like if you're capable of producing -- just move to a day rate, give them your honest best effort, and deliver results. e.g. Most of my clients are pretty happy with me. None of them would perceive value from me slicing out 7 minutes from an invoice because, e.g., I wrote a post on HN. (They just profoundly don't care about that, they care about the deliverables, the feeling of happiness they get working with me, and -- ideally -- measurable results as a result of the engagement.)
- tptacek 14y agoI figured you'd say something like this; just to make my bias clear, I'm pretty close to thinking "use of automated time tracking or paying for web services to manage time tracking is a symptom of a broken business model". Harvest is a lovely web application, but something would have to have gone wrong with my consulting practice for us to want to use it.
- _lc1i 14y ago"No client worth having cares what your work structure looks like if you're capable of producing" That is very easy to say when you are an established freelancer with work being thrown at you. Just starting out though, there is a fine balance between what's ideal and staying afloat.
- tptacek 14y agoIf you want to run your business suboptimally in the hopes that it will attract your first clients, that's fine, but you shouldn't do so while pretending that it's the right way to run a business. I have a hard time thinking of clients who are particularly well-served by, say, 3-hour billings. Customers that need sporadic work like this are probably far better served by retainer arrangements. If you find yourself doing lots of 1, 2, and 3-hour projects, you should consider a staff augmentation arrangement instead of project billing. For the most part, I think all consultants kid themselves about how productive they are juggling multiple projects in a day. It's not as if this is some great insight on my part. I'm a developer; I've read all the same stuff as you. I just paid close attention to the stuff about getting "in flow". Re-read Joel Spolsky's "Fire and Motion" essay.
- jdminhbg 14y ago> In my practice, if I'm working for you for a significant chunk of a day, that's the day, gone. In my practice, I'm more productive working on two or three different projects throughout the day. So I bill for the part of the day I'm actually using for that client.
- tptacek 14y agoI would be more productive if I worked nights and weekends, but since nobody would pay the bill rate premium that inconvenience merits, it benefits nobody for me to do that. Sometimes programmers actually want to interleave multiple projects. Maybe you have two totally different codebases to work on; perhaps one is backend async code, and the other is Javascript UI. Both are a week's worth of work, but you'd burn out if you did either straight through. Fine: interleave the projects. But that decision is orthogonal to your billing increment. Bill full days exclusively. You will find as your business matures that every single client you want to keep won't blink if you round that 5-hour project they need up to a full day. Call it your minimum billable increment. Offer, if you want, to chunk a bunch of small projects into a day; this is one way to prospect for more hours at a long-term client.
- _lc1i 14y agoHourly billing gives a freelancer a lot more flexibility on their day. What if the number of hours you work for a client on any given day (or week) is highly variable? For example, you work off hours when you can. Or you are splitting time between clients. Or the amount of work a client has on-site wanes and spikes unpredictably. Or you feel like leaving at noon every Thursday and Friday. I am still newish to freelancing, but I do not feel comfortable billing an full 8 hour day for just showing up in any of the above scenarios. And I certainly would not want to give me time away for free if I did not hit some minimum.
- tptacek 14y agoWhat if the number of hours you work for a client is highly variable? Bill them for a full day. What if the client genuinely just needs a 1-line change every once in awhile? Set up a retainer arrangement that allocates 1-2 billable days to them every month, use-it-or-lose-it. The clients who will both refuse to arrange a retainer and refuse a minimum increment are almost by definition pathological, and you should not work for them. In reality: virtually everyone you'd ever want to work for is fine with a 1-day minimum. If you are so low on the food chain that your clients aren't, I strongly advise you to climb up the food chain instead of figuring out better ways to extract value from terrible clients.
- _lc1i 14y agoIf I am regularly working onsite at a client, and I leave early on my own accord, I am not going to bill a full day. How would that be fair to the client? Sure, billing for a full day is optimal for my business, but I don't see how it's optimal for the client. I do not use hourly increments because my clients are awful or because I am low on the food chain. I choose hourly because it's the most straightforward way for me to provide my clients a hired hand while retaining flexibility on any given work day.
- chc 14y agoIf you work for 7 hours and 58 minutes, do you give them a two-minute discount out of a sense of fairness? Probably not. patio11 and tptacek's point is that for the kind of clients you probably want, a three-hour discount is not significantly more "optimal" than a two-minute discount. If the client agrees to a minimum billing increment of a day and you are doing the work you're paid to do, then it's fair. If you give them more than that, what you're being isn't fair, it's generous.
- enobrev 14y ago> Do you really invoice clients for "11 hours, 3 minutes"? I would certainly hope not. I personally tend to round to the half day (including down to zero), and sometimes to the next hour depending on the client, the frequency of work, how much we've worked on together over time, etc. I think you might be skipping over the personal benefit of time tracking. Sure after a few years of freelance development, Most estimates get easier, but only because you know how long things have taken in the past. If I didn't track all my hours in the past, I'd have no idea how to estimate tasks, much less entire projects. The hardest part when I was first starting out was estimation. After a couple years of getting it wrong - and eating hours instead of food - I was finally able to get my estimates within a couple days. Of course when projects get more innovative, it gets difficult to judge how long things will take, but I can still count on the parts I already know to build a groundwork for how long most of the project should take. Otherwise, I've found charging down to the hour can be a good practice for new clients with small intro projects to make it immediately clear that they will pay my high hourly rate for the work they request. It's a filter. Over time, I'll probably eat plenty of hours for one-offs and whatnot. But I certainly don't want a new client to think so until a relationship has been developed.
- driverdan 14y agoThat's exactly what I do for long term clients with open ended projects. I use Freshbooks' timer to track my time. Whatever that totals to is what gets billed. For close-ended projects I generally quote up front and track my time for my own purposes. For scope changes and other additional expenses I often use a timer and bill actual time.
- adrianhoward 14y agoOne productivity hack that I've used a few times is to flip it around. Rather than track work time - I track non-work time. I set aside 20 hours (or whatever) of coding time for a project during the week - and then track all the things that stop me doing that and subtract it from the total. By focusing on tracking the interruptions rather than the work - the impact of poor multi-tasking/poor-scheduling becomes much more obvious. [Edit: And in case it wasn't obvious - the time is tracked for me, not the client]
- Produce 14y agoThis is an excellent idea.
- damoncali 14y agoDepends on the project and client. If the client cares at all, I just write down how long something took. If it's 1.05 hours, so be it. BUT... I don't generally do anything that isn't at least a half day, totaled up. But if I do 3 things in that half day, I find some clients benefit from seeing how much time each thing took. It helps them to get more realistic about their time expectations. Other clients could give a toss, and for them, I just send a one line invoice: "Web development: $x,xxx"
- ars 14y agoI round to the nearest quarter hour, and yes I time things exactly. If I stop working to browse the web I'll pause the clock. At the end of the day I'll round the time to the nearest 15 minutes and record it.
- tptacek 14y agoThis is a pretty good post; the latter half, I think, probably applies well to all solo consulting practices. I particularly liked how flexible her thinking was on billing. "Hourly, with a cap" is one good way to do it; we tend to do "flat rate, fixed schedule" to similar effect. My only critique is with using "hourly" as your time quantum. Hourly sucks. It's probably some kind of standard in design, but even if you're a designer, I recommend pushing it at least to "daily". Has anyone else here obtained a "line of credit" (say from a bank)? Do we think she just means "get an Amex card"? Two other points I'd add: * Incorporate: LLCs are (very) cheap and absorb most of the risks that are most likely to bankrupt you or take your house away. * Get an accountant. Less cheap, but almost certainly cheaper than doing your taxes yourself; in several of the last 7 years, my accountant has made me money.
- mynegation 14y agoAbout line of credit: she is Canadian, and in Canada line of credit is a revolving debt instrument pretty much like credit card, but with lower rate and no card attached to it, so it is less convenient to pay from it. This is designed for medium-ticket one-off purchases, like say TV or washing machine.
- graeme 14y agoWow, I had no idea that was just a Canadian thing. What do Americans do?
- 286c8cb04bda 14y agoBusiness with significant capital get loads secured against that capital. Smaller or low-overhead businesses get loans personally guaranteed by the company officers (often against their personal assets) Or they get by with corporate credit cards (which they used to hand out like candy at the doctor's office) and work out separate payment terms with the vendor for any bigger-ticket items.
- wmeredith 14y ago
- 54mf 14y agoIf you're freelancing, you need to read Design Is a Job by Mike Monteiro. It's an absolutely brilliant overview of the entire client/contractor relationship, and how to operate in a way that protects both you and your client from any potentially hairy situations. Can't recommend it enough. http://www.abookapart.com/products/design-is-a-job http://www.abookapart.com/products/design-is-a-job
- tptacek 14y agoEvery time I read about this book I really want to buy it, but I hesitate because I'm not a designer; how designer-specific is it? Like, the drama involved in getting clients to accept a creative brief is interesting, but it's not very relevant to what I do.
- rglover 14y agoI just finished the book and while it's weighted toward designers, a lot of the lessons can apply to various industries. Namely: dealing with clients, negotiating contracts, getting paid on time, and the importance of developing a working and business process. Go buy it.
- pacomerh 14y agoIt's not designer specific. It feels more like the word 'designer' is being used in terms of being a creative, rather than specifically a graphic specialist. So it applies to freelancers who invent, but doesn't touch developers issues either, so its weighted to professionals who need taste to acomplish their job. It's a good book, I like Monteiro's no-BS approach to things.
- beosrocks 14y agoSteve Friedl's So you want to be a consultant...? ( http://www.unixwiz.net/techtips/be-consultant.html http://www.unixwiz.net/techtips/be-consultant.html ) is also a must-read. Not only is Steve a Unix expert (and the brother of Jeff Friedl, regex legend), he's an excellent writer as well.
- pessimizer 14y agoThat's the link that I needed most in this world right now. Thanks for posting it.
- beosrocks 14y agoMy pleasure! Glad to hear you found it helpful. It played a large part in shaping my course (and later success) as well.
- trucious 14y agoPost seems pretty enlightening, makes me wish I could find something similar regarding software development specifically.
- typicalrunt 14y agoThe "Fuck You. Pay Me." slide aggravates me. No matter how you dress it up with asterisks, you're still swearing and showing a lack of class. I agree that a large part of freelancing is making money (getting paid), but there are nicer ways to say it. The rest of the presentation is really well put together, but this particular slide seems out of place.
- veenix 14y agoIf you actually read the article, you will see that the slide that you're referring to is sarcastic. The actual text just says the facts and is not laced with profanity or emotional words.
- jwwest 14y agoThis is a reference to an infamous talk given by Mike Monteiro who's infamous in the design community. http://www.youtube.com/watch?v=vZGra65Nob4 http://www.youtube.com/watch?v=vZGra65Nob4
- SkyMarshal 14y agoWhich in turn was a reference to Goodfellas: http://www.youtube.com/watch?v=5ydqjqZ_3oc http://www.youtube.com/watch?v=5ydqjqZ_3oc
- megrobichaud 14y agoHeh yeah, I was referring to the Mike Monterio talk. But in the actual talk that I'm giving at the school I changed it to "Hey you. Pay me" if that makes you feel better?
- Udo 14y agoI'm not sure why he or the talk is considered infamous. (Full version here: http://vimeo.com/22053820 http://vimeo.com/22053820) When a client orders work to be done, that work should be billed as agreed and then the client should pay for the work they ordered. In design and web development, there seems to be some moral confusion among some clients whether they actually have to pay for the work the ordered. The speaker argues, and I believe rightly so, that this is bullshit.
- Jebus 14y agoThe "f*ck you pay me" part remembered me of this: http://vimeo.com/22053820 http://vimeo.com/22053820
- ChrisNorstrom 14y agoThe biggest mistake I made when I started freelancing is I had NO plan on how to take care of maintenance after I closed up shop. Websites are living business cards that are almost always changing. So when you take on 5 projects over a year. You're never really going to get away from them. They are perpetual. You will always get calls later on about "fixing this" and "changing that". And if you think you can simply give the client all the code so they can go on to someone else, it's not that easy. Especially if you're hosting everything for them (which I now understand is a big mistake). Clients don't understand code well enough to be able to do that, and the changes they need are sometimes so vital to their business, you'd feel like an asshole for not giving in. Sure you can charge them for the changes but again: If you get busy later on in life you'll always be haunted by your former clients. It's hard to let go. Learn from my stupid mistake. Before you even create index.php create a plan on what you're going to do when you get sick of freelancing. Set everything up around the idea that one day you will need to pass this all onto someone else.
- jiggy2011 14y agoCould you not build up a network of people who you would trust to do a decent job of maintaining the website after you moved on? Then recommend these others to clients if the need arises. I know some developers will offer "understudy" type services where the code is always available to at least 2 developers. One will do the majority of the work and the second will simply look at changes incase they need to take over.
- goostavos 14y agoHow do you handle that sort of thing? Is there a cut-off or something? I've never done any web development, but I can see how this would be a hairy situation.
- damoncali 14y agoYou put it in your contract - it should be crystal clear. If at some point, you don't want to continue (i.e. extend your contract), just refer them to another developer. It's not that big a deal.
- Mjux 14y agoreal gem, in the mix. Oh, the definites, very. Thanks for the Joey Tribbiani strictness.
- lawnchair_larry 14y agoOf course we are not supposed to reply to spam, but this has me curious and amused. Why is there a markov bot posting on HN? In hopes that it will be coherent enough to get enough upvotes to be useful to someone?
- egypturnash 14y agoLearning to say no is one of the most important things IMHO. In the Discworld books, there's a bit where the Best Smith In The World shoes Death's horse. It's a thing he HAS to do now and then, because otherwise, well, he's just not the Best Smith In The World anymore, is he? It's a little weird and unsettling, but he does it, and he does it well. Every now and then a job comes along that makes me feel like that. It's something that the client is coming specifically to ME for, not just because they like my style but because I am one of about three people in the world who could do justice to this idea. And when one of those comes along, I make room in my schedule for it. I warn the client that it may take a while - but it'll be worth the wait. But most of the time? Most of the time, I politely say "no". Once you've gotten your head above water, this is not a luxury; keeping your workload under control and not having twenty unfinished projects hanging over your head makes you AND your clients happy. (Underpricing yourself is also a terrible idea, and one this piece doesn't address. Most of the stories of nightmare art commissions my friends tell are of a too-cheap piece where the client demands endless re-dos for free.)
- dafritz 14y agowow. thank you for that helpful post!
- chrisrhee 14y ago> You’re not your own boss, you’ve got about 30 different bosses As a freelancer, you get to choose those bosses. Much harder to do at a regular job. > If you’re not on twitter, it reflects poorly on you. The design community is strongly linked to the start-up and web-dev communities. Minor nitpick: Our design community is strongly linked to the start-up and web-dev community. But other design communities exist outside of the software world :) Good information in the article. Shared it with friends who are getting started with freelancing. I'm sure they're in a better position now than me, when I was starting out.
- BillAtHRST 14y agoOne not so minor point: you can't just "write off unpaid invoices" - if you're on an accrual basis (i.e., you record income when you bill), then you can "write off unpaid invoices", but what you're doing is simply subtracting the unpaid invoice from the income you earlier recorded; - otoh, if you're on a cash basis (i.e., you record income when you receive it), which is far more common for small biz, then you never recorded the income for that unpaid invoice, so attempting to write it off will get you in big trouble with the IRS (or the equivalent in the Great White North).