Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Businesses

Freelance Web Developer Best Practices? 438

SirLurksAlot writes "My last employer had to make a series of budget cuts, and I was laid off. I have been on the job hunt since then; however in the meantime I have begun freelancing as a Web developer. This is my first time in this role and so I would like the ask the Slashdot community: are there any best practices for freelance developers? What kind of process should I use when dealing with clients? Should I bill by the hour or provide a fixed quote on a per-project basis? What kind of assurances should I get from the client before I begin work? What is the best way to create accurate time estimates? I'm also wondering if there are any good open source tools for freelancers, such as for time-tracking and invoice creation (aside from simply using a spreadsheet). Any suggestions or insights would be welcome."
This discussion has been archived. No new comments can be posted.

Freelance Web Developer Best Practices?

Comments Filter:
  • by Anonymous Coward on Sunday December 07, 2008 @05:23PM (#26024035)

    ive been web freelancing for around seven years, and in that time ive developed my own open-source billing tool, eboshi [github.com], written in rails. its no quickbooks, but it suits my needs and spits out pdfs. feel free to use it, give me feedback, or fork it and hack away!

  • A List Apart (Score:3, Interesting)

    by iangoldby ( 552781 ) on Sunday December 07, 2008 @05:56PM (#26024315) Homepage

    If you are seriously interested in freelance web development, there is a great community of like-minded people on A List Apart [alistapart.com], quite apart from a vast repository of well-written articles that go way beyond what you've so far asked.

  • Re:Contracts! (Score:1, Interesting)

    by Anonymous Coward on Sunday December 07, 2008 @06:41PM (#26024735)
    Aaaah yes I reminisce about the old .com boom days when that was really a problem for me, 20 hour/week part time job, part time college student, and 2 side freelance gigs, amazing I ever slept...and yes the freelance gigs in particular were pissed, an experience I'm not repeating...
  • PP derives from a fork of ActiveCollab before it went closed-source, AC being a knock-off so to speak of Basecamp.

    The one thing that stopped PP being adopted for my org. was the lack of built-in time tracking. I think AC has that in a much later version but ClockingIt has a 'push-on/push-off' AJAX-y timer which the PM's at my place fell in love with :(

    PP would work well for a freelancer I think, if they need to do invoicing and bill for time by hours I'd use a little desktop timer, theres one or two for KDE in the PIM tools I think.
  • by LibertineR ( 591918 ) on Sunday December 07, 2008 @06:41PM (#26024743)
    You will read much opposition to this, but the fact is that PROS do NOT bill hourly. You will initially lose money, but you will gain experience and more importantly, the MOTIVATION, to bid and scope your projects properly at the beginning.

    You will find clients who wont agree to a fixed-fee (1/3 up front) contract, and those are the clients that you don't want anyway. Your goal should be to work for clients who know what they want, and understand that changes beyond the initial contract will cost them more in money than it will cost you in time.

    You will only lose money, when you attempt to do favors for clients who change the scope of work continuously, without regard for your time or contract. Run from these clients, or suffer greatly as you learn why.

    Clients should not pay you for the time it takes for you to discover what they want. You should have the ability to provide DETAILED project plans and scopes of work BEFORE your client knows what it will all cost. If a client ever has to ask you: "So, what do we get for that amount?" You failed.

    Clients should also not have to pay for you to learn ANYTHING, a new technology, a new software platform, etc. You are supposed to be the pro. If they are paying you to learn, you suck, and will eventually get caught. Learn on your own time.

    Provide a standard Boilerplate contract, with an attached Schedule A, defining the specifics of your project. Give your clients a 7-day out-clause, with an understanding that after that time, the upfront payment is YOURS, regardless of any cancellation.

    The bottom line is, to be perceived as a professional, you must present yourself that way. If you cant afford to walk away from business, you are not a pro, but a hack.

    You would be amazed at what clients will agree to if they perceive that you are confident, professional, and most importantly, not willing to be shat on for their business.

    When you bill by the hour, you and the client are at odds from moment one. They want it fast, and believe that you do not, less you reduce your billings. When you charge a flat rate, you are in sync with the client, because now you BOTH want the work done as fast and as well as possible.

    No project gets completed without changes or adjustments. You don't want those adjustments costing you, so learn to plan for them, and bid them right into your fee. Dont be a job-shopper with a client looking over your shoulder, calling your cell phone endlessly requesting updated timetables. Your client should know BEFORE THEY SIGN, exactly when (barring changes) the project will be completed.

    With a well developed reputation, you will find yourself able to charge for early completion, with the caveat that you will also except penalties for projects that are late. Planning is everything, or you WILL lose your shirt.

    If you bill by the hour, every project you do will have a winner and a loser. If you lose, the client is happy, but you left money on the table. If you win, the client is pissed and you wont get more work.

    Dont charge by the hour; be good enough to know what your work is worth, and CHARGE for it. If they wont pay, fuck them. Someone will, because if you have your marketing shit together, you wont have to pound the pavement for work.

  • Re:Get a lawyer (Score:3, Interesting)

    by omb ( 759389 ) on Sunday December 07, 2008 @07:01PM (#26024901)
    Does someone want to post a standard US contract of this type. Ie simple!
  • by dubl-u ( 51156 ) * <2523987012&pota,to> on Sunday December 07, 2008 @07:26PM (#26025095)

    And I won't be happy if I have to pay more than I expected because you've estimated your time badly.

    That's a reasonable attitude to have. But it turns out 99% of the time, the client will see any change in cost as the result of bad estimates, rather than any other possible factor. Which is why I only work by the hour unless it's on a project and with a client where I have lots of experience.

    I think the key to quoting a fixed price for the whole project is to clearly define the project first.

    There are three downsides to this.

    One is that you have to spend a lot of time and money hammering out the project definition, and unless the project is a very simple one, there will still be surprises. And then you will spend a lot more time arguing over whether or not what is delivered is technically "in spec". Fun!

    Another is that canny developers will use this approach to totally screw you. They'll let you define the project, quote you a very attractive price, and then rape you on the overcharges for scope changes that were likely from the beginning.

    A third is that as a client you can't evaluate long-term maintainability. For pre-planned, fixed-price jobs, the developer's financial incentive is to reach the finish line and hand you a christmas-paper-wrapped turd. You see the shiny surface and sign off. And now you're the proud owner of a totaled code base, and any significant modifications would be best done with a total rewrite. But you'll object to that, so over time you pay your new devs twice as much to fix your project than a clean rewrite would have cost.

    I think a much better approach for any non-technical purchaser of custom software, especially web-based software, is to pay by the hour, but structure things with regular, frequent deliverables. If your dev adds a couple new features a week, then you can quickly tell how good he his, and boot him if he's a fuckup.

    Also, if you are spending more than you are comfortable throwing away, then get a professional to check how maintainable the work is. Frequent milestones help mitigate that risk, but they don't eliminate it.

  • Re:Learn CSS (Score:3, Interesting)

    by Hooya ( 518216 ) on Sunday December 07, 2008 @08:52PM (#26025825) Homepage

    Well, without going into the specifics, (and i'm over-simplifying it a bit) divs are the reason we're hiring right now when everyone else is looking at a bleak economy.

    To expand that a bit, separating the concerns (of a programmer from that of a graphic designer) has allowed us to bring the polish to our web based app and has freed the programmer from trying to make things look pretty. we now have divs, with the graphic designers working the CSS and the programmers working the divs. it's all 'brown-boxed' so our clients love us since we can completely re-brand it as well with minimal effort.

    while there are times when tables are certainly the 'easy way out', having CSS driven layout has paid off in the long term for us.

    so much for "semantic markup" demagoguery. it works. for us. YMMV.

  • Good Advice (Score:5, Interesting)

    by SirLurksAlot ( 1169039 ) on Sunday December 07, 2008 @09:05PM (#26025965)

    Please excuse me for replying to my own post.

    I want to thank everyone for all of your excellent advice. It's obvious there are some very experienced folks here, and it sounds like the way most of you have learned how to freelance is through the School of Hard Knocks. I'm sure I'll be putting some time in there myself, but hopefully not too much ;-)

    It sounds like there are a lot of good arguments for and against billing by the hour and fixed-rate quotes, and that may just be something I'll have to try on a case-by-case basis until I find my groove. I can see value in both methods depending on how big or small the job is. I also see a lot of posts about setting up a some form of standard contract and from a CYA perspective that makes total sense to me. All in all I have a lot to consider (this is a good thing), and hopefully someone else who may be in the same boat that I am will benefit from this discussion as well.

    This is my first AskSlashdot submission, and after reading through the responses it makes me realize again just how many intelligent and helpful people hang out on this site :-D

    Thanks everyone!

  • Re:Contracts! (Score:2, Interesting)

    by coryking ( 104614 ) * on Monday December 08, 2008 @02:53AM (#26029243) Homepage Journal

    If you cannot afford Quickbooks, you have no business doing freelance web design. You are a business, you a not a fucking hippie charity.

    Quickbooks is a god damn scam for sure--they "upgrade" every year and do crap like stop supporting one year old software and force you to upgrade at full price so it runs on vista. But dammit, you are a business person and so you should think like one. Your accountant uses it, you can invoice your clients with PDF files, and it works. It is only $190 tops and if you can't afford something you use for billing, quit now while your ahead.

    Guess what, this is business. Just because the software is free doesn't mean you save money. Quickbooks is the *only* accounting software worth your while. You dont bill your clients to fuck around with SQL Ledger or some other bullshit. You bill them for web design. Pay the money and STFU. If you think if is worth your non billable hours to fuck around with getting open source software to work with your accountant and getting it to *just work* by all means use it, but really just pay the fucking price and be done with it.

    Seriously. Not all things are appropriate for open source. Accounting software is one of those things. I hate intuit with the passion of a thousand suns, but I have better things to do with my non-billable time then fuck around with software I use to invoice billable hours. Welcome to reality.

  • by PCM2 ( 4486 ) on Monday December 08, 2008 @04:27AM (#26029817) Homepage

    I second this. As someone that had trouble getting paid when I started out, I have to acknowledge it was my own fault for doing work for either friends, or friends of friends that were just starting out.

    My best friend Ryan had this problem when he started his own Web design business. He would give good rates to friends, but the problem was that his rates were so low (and he didn't charge a penalty for change orders) that they didn't mind throwing endless changes at him -- without adjusting the deadline, mind you. He ended up working round the clock for these so-called friends, literally giving up sleep so he could deliver what he promised. The shame was that most of the work was crap -- your basic logos and Web pages, nothing he'd really want to add to his portfolio.

    But the real downside is that he ended up with severe, crippling Repeat Stress Injury in both arms. [sfgate.com] That's right -- he worked so long and so hard on the computer that he literally crippled himself. For a year or more he was in so much pain that he'd have to spend entire days bedridden, popping horse tranquilizers. He tried every treatment possible -- every kind of pill, massage, acupuncture, etc. -- everything short of surgery. Just to give you an idea, if he took a girl out on a date he wouldn't be able to open the car door for her because it would mean he'd lose another day due to pain. He'd have to ask her to open his door. The bottom line is that the only way he could wean himself back to health was to walk away from the computer -- probably forever. He still does some design work now but he relies heavily on assistants and he knows better than to push it.

    I used to joke that he got himself into this position because he didn't charge enough. But I was only half kidding. And think about this, too -- because Ryan was self-employed at the time, he wasn't eligible for workman's compensation or state disability. You bet he moved back in with his mom. Not everybody will be so lucky.

  • Re:Contracts! (Score:3, Interesting)

    by PCM2 ( 4486 ) on Monday December 08, 2008 @04:38AM (#26029873) Homepage

    I hear you; I'm just saying it's not the perfect fit for everybody.

    I should probably add at this point that in the field in which I work (freelance writing), we work for flat fees. There's no time tracking. The client tells us, essentially, how much work they want, when they want it, and what they're going to pay us for that work. We negotiate, then we say yes or no. After that, the essence of the business is A.) being able to know what the client really wants and to deliver that, consistently; and B.) being able to do it blazingly fast. Since they're paying us flat rate, the faster we can do a high-quality job, the more money we make. It's not an easy road if buying a boat is your goal, but if you can find your niche and a few reliable clients, you can do quite nicely.

  • I would recommend the following steps to proper way to structure your relationship with potential clients:
    1. Set up an Initial Meeting
    2. Develop a proposal that client signs off on
    3. Develop mockups
    4. Have client sign off on mockup and sign a final contract
    5. Develop Site
    6. Release Copyrights and Make Live
    7. Provide Maintenance per the contract

    For the proposal, develop essential proposal terms to submit to qualified parties at the conclusion of initial meeting or shortly thereafter. Terms at a minimum should include:

    • total amount proposed (or projected if charging by hour),
    • time frame,
    • target screen size,
    • logo/template development,
    • stock image/font costs,
    • copyright releases,
    • hosting,
    • outline of proposed implementations (Java, Perl, Ruby, php, database connectivity, flash/movie development, etc.),
    • website optimization,
    • maintenance,
    • relocation costs,
    • content updates/timeframes,
    • meta-data implementation,
    • and release/transfer of copyright to design.

    Why are these terms in a proposal, because this is where you: appear more professional and as a result can command higher amounts; provide an avenue to upsell additional services (maintenance, copy {content} development services, optimization, web site submission, online ad buying, etc.); reduce confusion by educating the client about the amount of work to be performed; and set realistic timeframes that all parties can agree with.

    The final contract should detail the process even further and in greater detail but these terms must be specific to each individual developer's requirements.

    Don't rely on what you find on the internet for your contracts. You'll only get what you paid for. The cost of a competent attorney is negligible compared to a potential reduction in liability and the maximization of your earning potential. I've developed different versions of both the proposals and final contracts (both from developer to client and from developer to subcontractors) in the past.

    Anyone interested in learning more please feel free to drop me an e-mail or contact me at my office [bucarolaw.com] if you like to inquire about engaging my legal services.

    And now a disclaimer: The content of this comment is only an opinion and not to be construed as legal advice. You should not act nor forgo to act on the basis of the material contained herein without seeking advice from a lawyer licensed in your jurisdiction.

Remember, UNIX spelled backwards is XINU. -- Mt.

Working...