Slashdot Mirror


Freelance Web Developer Best Practices?

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."

80 of 438 comments (clear)

  1. Contracts! by nurb432 · · Score: 5, Insightful

    First of all be sure you get signed contracts, or you will be stiffed more then you get paid.

    Plenty of OSS timekeeping apps out there. Check out SQL-Ledger for a complete solution with accounting.

    --
    ---- Booth was a patriot ----
    1. Re:Contracts! by ushering05401 · · Score: 4, Insightful

      Same note, different angle, make sure what you are getting paid for is something you can do not only ability, but time-wise.

      Talented novice freelancers are often oversold freelancers, which leads to unhappy customers.

    2. Re:Contracts! by Anonymous Coward · · Score: 3, Informative

      I've heard bad things about SQL Ledger so i'd suggest doing a good bit of research into its problems before deciding it is appropriate for your use. This may have changed, but what i'd originaly heard a few years ago was enough to scare me.

      You can also take a look at LedgerSMB which is a fork of SQL Ledger when a number of people decided to improve it. http://en.wikipedia.org/wiki/LedgerSMB

      Personally I like the looks of TinyERP. http:/www.tinyerp.com/ its may be overly complex for your purposes, but i've been looking to migrate to it from QuickBooks for a while. (Yeah Quickbooks works but I hate it. The only reason I still have a windows vmware image.) Plus many linux distros already have packages for it and recently they added a web client.

      There was another package i encountered that looked promising, but can't recall what it is. I'd done most of my research at the time on http://www.sf.net/ (Sourceforge) and http://www.freshmeat.net/ (Freshmeat)

    3. Re:Contracts! by Anonymous Coward · · Score: 2, Informative

      Signed contracts may not be enough in the UK.

      If you are doing business with a small client, make sure you get written confirmation that the director(s) will personally underwrite your invoices to his company. If the client company has no money, then there is little you can do to recover debts unless the director's have been negligent, or you have this personal guarantee.

      (I have recently been burned by this.)

    4. Re:Contracts! by Anonymous Coward · · Score: 5, Informative

      I have to disagree. I do a fair bit of freelance stuff on the side and I have never (not once) had trouble getting paid. At first I was very cautious but it just has not been an issue. Even on jobs where I'm basically dealing with an email address in another country the check has always cleared.

      I terms of contracts don't waste your time. A contract is only worth anything if you can enforce it. Are you really going to spend thousands in legal fees going after a few thousand in wages. Just make sure they pay you as milestones are delivered and don't worry too much.

    5. Re:Contracts! by dwarg · · Score: 5, Informative

      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. Or sometimes taking a chance on a shady character or bad referral. Unless you want to spend a lot of time and money in court, signed contracts won't help you.

      In addition signed contracts will scare off more legitimate customers and cost you more time than they are worth. Just make sure you are dealing with a company that is a viable business, write a good bid/estimate, use common sense and MOST IMPORTANTLY require a fractional payment up front (1/3 for large jobs and 1/2 for small jobs.).

      Also, to elaborate on your question about fixed bids versus hourly rates, the answer is both. Most clients are going to want an estimate and you are going to be stuck to something near that number after you pull it out of your ass. So keep track of your hours so you can make better estimates in the future. And make sure both you and your client understand expectations and deliverables so you can increase the dollar amount *WHEN* your client starts moving the goal posts. You'll also want an hourly rate for any down-the-road maintenance or ancillary services you might provide. After a few years in business 80% of my income comes from 4 clients that provide me with a steady stream of work, billed at an hourly rate. Those clients started off as fixed bid projects that grew and grew until I was an important enough part of their business that they had to keep me around. And I don't know about you, but I would rather have a steady stream of work from known clients I trust than be making cold calls or spending money advertising to find new work. Which reminds me, the other 20% of my work comes from referrals from those 4 clients.

      First rule of freelancing:
      When you find good paying clients, treat them like gold and they will return the favor.

      Good Luck!

    6. Re:Contracts! by Sanat · · Score: 2, Informative

      Read carefully what DWARG has written here for it is sage advice.

      Dale Carnegie used to say that you had to have "the right to talk about it" meaning that the information is from personal experience garnered in the trenches and not from reading a book or guessing.

      I have the right to talk about computers for I have been in the business professionally since the early 60's and yet DWARG concisely and eloquently speaks of his "Right to Talk" in his process of interacting with his customers and potential customers.
       

      --
      And in the end, the love you take is equal to the love you make
    7. Re:Contracts! by ShieldW0lf · · Score: 3, Insightful

      I would recommend that if you're going to be doing a project that is going to take longer than a month for anything larger than a small business, you sell them on the importance of good, formal requirements gathering. Tell the owner that he doesn't really understand his employees day to day problems well enough to tell you what he needs, and that he should pay you by the hour to interview an individual in the organization that will be using your software for each particular role and give him a document specifying precisely what he needs. Explain to him that this understanding allows him to be in control of the project he is paying for. If anything were to happen to you, he would be able to present the document to another programmer and they would be able to pick it up and get to work and give him what he needs. If he's smart, he'll be thinking that having the liberty to replace you is a smart move, while you should be thinking that this document is going to be paying work all by itself, and also allow you to negotiate a fair price for your work without having false expectations, a failed project and a black mark on your name.

      --
      -1 Uncomfortable Truth
    8. Re:Contracts! by wibs · · Score: 5, Insightful

      I agree to a large extent but it depends a lot on the client. I say this as a fulltime independent web developer.

      I once spent a month in negotiations with a client over a contract, until finally I walked away. The only thing that would have been acceptable to them was essentially a non-binding resolution governed by the state of Utah, their corporate home, suffice it to say I am not in Utah and it would have made even an effective contract impossible for me to enforce because I don't have the time or money to fly somewhere to fight over payment for one gig. A few months later I heard that they had stiffed the person they eventually found to do the job, and now more than a year later they still haven't made any progress but have lost the benefit of any referrals.

      Point is, a contract wouldn't have saved me there, and it certainly burned some goodwill with the client. But it also showed me what kind of people they were, and the struggle ended up steering me away from a bad situation.

      In general I agree with everything else said. Keep very detailed accounts of your hours and how you use them. Treat your good clients like gold - and I mean that. Send them Christmas cards, with handwritten notes - nothing sappy or long, but let them know you're a human being and you appreciate their faith in your work. If you love them, they will love you back. Always get money up front (this depends on the client and the project, but it's generally within 25%-40% for me).

      I have made a gut call and not even mentioned a contract with a few clients. Just remember that to a stand-up client who intends to pay you money for the work you do, a contract shouldn't be a scary thing. If it is, that means you're presenting it wrong, it's written poorly, or something about them isn't aboveboard. Maybe they're just trying to keep the government out of their accounting, or maybe they want to be able to walk halfway through if they get a change of heart without having to pay anything. Whatever it is, it's important you find out before it hurts you.

      Ideally, I have 2-3 major projects going at once and a handful of smaller ones with less demanding timelines, and almost all of my business comes from a fairly small circle (20 people or so) who pass around referrals. I think maybe the biggest thing I haven't seen mentioned is that us independent web developers and designers and coders and whatever are not competitors - even in bad economic times there's plenty of work out there for us, if anything it's the expensive agencies that will lose contracts to flexible independents. Cherish your network of trusted associates, it's through them that you build a reputation and grow your business. And the next time you've been offered some work that doesn't fit into your schedule, pay it forward and refer someone else.

      With good clients and bad, the most important thing is getting a feel for them as people. Show respect, get respect. Do a good job, get paid for it. Pretty simple, really.

      --
      If you get nervous, just remember that there are a few billion other people who don't really give a damn.
    9. Re:Contracts! by Registered+Coward+v2 · · Score: 4, Insightful

      In addition signed contracts will scare off more legitimate customers and cost you more time than they are worth. Just make sure you are dealing with a company that is a viable business, write a good bid/estimate, use common sense and MOST IMPORTANTLY require a fractional payment up front (1/3 for large jobs and 1/2 for small jobs.).

      While I agree with all of the rest of your excellent advice, I differ here. A simple contract, that clearly spells out the deliverable, due dates, etc., helps both sides understand what is being done for what cost. As the work progress, you talk with the client to ensure they are getting what they expect and to keep the project on track. That way, there are no surprises and both sides are happy. I've never had a client balk at signing a contract; in fact most want one and get nervous about starting work without one. Be professional about it and clearly lay out what is to be done when, for what cost, and what support you get from the client and I suspect you'll have no trouble. Once you have a solid relationship you can work on spec but until then a contract helps both sides.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    10. Re:Contracts! by sjames · · Score: 3, Informative

      And make sure both you and your client understand expectations and deliverables so you can increase the dollar amount *WHEN* your client starts moving the goal posts.

      That cannot be emphasized enough! Once the client sees their original spec in action, it WILL occur to them that it's not exactly what they need even though it is what they asked for. You must have a policy and procedure in place so that you can accommodate that without ending up doing 3 projects for the price of one.

      The procedure should include a discussion of how much the change will cost. A little 'economic feedback' is a great way to keep change requests from becoming the death of 1000 cuts.

      For little things that really aren't a bother and really will make the client happy, you're always free to waive the charges.

      One thing to keep in mind. I've found (oddly enough) that the more cost conscious the client is from the start, the more perfection they seem to expect. The guy who pounds on you endlessly to get you to drop the estimate another $10 will be the one who wants to see the site in every possible shade of red (only to settle on the first proof you offered) and expects an AI based log parser thrown in at the end for free.

    11. Re:Contracts! by lalena · · Score: 4, Insightful

      Exactly.

      And if that scares people, then call it a "Statement of Work" instead of a contract.
      All you need to do is write out exactly what you are providing, by when, and for how much.

      Then, if the project does suffer from feature creep you can always point to the statement of work to show it wasn't in the original estimate.

    12. Re:Contracts! by coryking · · Score: 2, Interesting

      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.

    13. Re:Contracts! by PCM2 · · Score: 2, Insightful

      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.

      Please, get off your high horse.

      1. Nobody said anything about not being able to afford it. They said OSS.
      2. I generate invoices with an Excel spreadsheet -- no fuss, no muss. My business has so few material costs that Quickbooks is overkill for me. What expenses do you need to track for Web development, exactly?
      3. Your paragraph about how badly Quickbooks sucks and how much hamstring you with bogus upgrades and poor support kinda undermines your righteous indignation at people who choose not to use it.
      --
      Breakfast served all day!
    14. Re:Contracts! by PCM2 · · Score: 2, Interesting

      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.

      --
      Breakfast served all day!
    15. Re:Contracts! by easyTree · · Score: 2, Funny

      Haha, retard.

      If you're gonna make such an insightful comment.. could you at least wrap the original comment in some <blockquote>'s so we don't need to scroll?

  2. Get a lawyer by plopez · · Score: 4, Informative

    Write up a standard contract. Make sure it defines what you will and won't do. Make sure that if anything is requested beyond what is listed the contract must be renegotiated including pricing. Making sure you are indemnified and held blameless. CYA.

    --
    putting the 'B' in LGBTQ+
    1. Re:Get a lawyer by teh+moges · · Score: 3, Informative

      I'd clarify this by saying just to get a lawyer at the start to organize a 'standard contract', which means you don't need the lawyers involved for every little job.

      Other then that, follow the parent's advice: Make sure the contract says exactly what you will and won't do DO NOT take a job where the client doesn't give solid, complete answers to your questions. Google 'scope creep', or learn the hard way yourself.

      Make sure you track your time, not only for your clients, but also so you can learn to judge how long it takes you to complete a project. That skill is invaluable and will save you from many nightmares in the future.

    2. Re:Get a lawyer by omb · · Score: 2, Interesting

      Does someone want to post a standard US contract of this type. Ie simple!

    3. Re:Get a lawyer by Chapter80 · · Score: 2, Informative

      This contract was done by the company not the contractor, and protects the company. But there may be some useful tidbits in there.

      I think the important thing is to establish the scope of work (or do it hourly), the code ownership (work for hire? or are you trying to retain some rights to use the code later?), the relationship (not an employee relationship, a contractor), the payment terms, and the warranty / support (if I were you I'd say no warranty is implied; if you want me to support it, it'll be a separate deal and more money.)

      Note, this is an EXAMPLE only. Use at your own risk. I am not a lawyer!

      Contractor Agreement

      This Agreement is made effective as of July 1, 2008 by and between [insert developer's name and address] and [insert company name and address].

      In this Agreement, the party who is contracting to receive services shall be referred to as "[company name]", and the party who will be providing the services shall be referred to as "The Consultant".

      The Consultant has a background in web page design and is willing to provide services to [company name] based on this background.

      [company name] desires to have services provided by the Consultant.

      Therefore, the parties agree as follows:

      1. DESCRIPTION OF SERVICES. Beginning on _July 1, 2008 the Consultant will provide the following services, (collectively the "Services"): web application development.

      2. PERFORMANCE OF SERVICES. The manner in which the Services are to be performed and the specific hours to be worked by the Consultant shall be determined by the Consultant. "[company name]" will rely on the Consultant to work as many hours as may be reasonably necessary to fulfill the Consultantâ(TM)s obligations under this Agreement.

      3. PAYMENT. [company name] will pay a fee to the Consultant for Services based an hourly rate of $[rate] per hour, at an expected rate of 20 hours per week. This fee shall be payable monthly, no later than 10 days after the end of each applicable month during which the services were performed. Upon termination of this Agreement, payments under this paragraph shall cease; provided, however, that the Consultant shall be entitled to payments for periods or partial periods that occurred to the date of termination and for which the Consultant has not yet been paid.

      4. TERM/TERMINATION. This Agreement may be terminated by either party upon 10 day written notice to the other party.

      5. RELATIONSHIP OF PARTIES. It is understood by the parties that the Consultant is independent with respect to [company name]. [company name] will not provide fringe benefits, including health insurance benefits, paid vacation, or any other employee benefit to the Consultant.

      6. DISCLOSURE. The Consultant is required to disclose any outside activities or interests, including ownership or participation in the development of prior inventions, that conflict or may conflict with the best interests of [company name]. Prompt disclosure is required under this paragraph if the activity or interest is related, directly or indirectly, to: â a product or service of [company name] â any activity that the Consultant may be involved with on behalf of [company name]

      7. INTELLECTUAL PROPERTY. The following provisions shall apply with respect to copyrightable works, ideas, discoveries, inventions, applications for patents, and patents (collectively, "Intellectual Property"):

      a. Consultantâ(TM)s Intellectual Property. The Consultant does not personally hold any interest in any Intellectual Property unless agreed upon in writing by both parties.

      b. Development of Intellectual Property. Any improvements to Intellectual Property and any new items of Intellectual Property discovered or developed by the Consultant (or the Consultantâ(TM)s employees, if any) during the term of this agreement shall be the property of [company name]. The consultant shall sign all documents necessary to perfect the

  3. Pirate an obsolete version of Dreamweaver... by John+Hasler · · Score: 2, Funny

    ...and you're good to go. Just look around the Web a bit. If they won't pay take down their sites: you'll own the domains.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  4. Learn CSS by Anonymous Coward · · Score: 4, Insightful

    For the love of god, do NOT make your websites using any of these:
    - tables (for layout, I mean)
    - Flash
    - Java

    Also, learn to code for Opera/Safari/Firefox first, then add conditional CSS for IE6 and IE7.

    Take time to learn the real-life differences between JPEG and PNG. You shouldn't have a photo in PNG anymore than a logo should be in JPEG.

    And last, know the limits of bandwidth and clients. Not everyone uses a high-speed cable connection on a Quad-core computer.

    posted anon because of the freakin' Adobe Flash fanboys.

    1. Re:Learn CSS by vipz · · Score: 2, Funny

      Pretty sure GP meant Java applets. You know, the little grey boxes from the 90s? :)

    2. Re:Learn CSS by localman · · Score: 4, Insightful

      Table layout is still very useful. I've seen some ugly, brittle CSS layout hacks that could have been solved with a very simple table layout. Yes, tables can be abused. Yes, in Netscape 4 they rendered painfully slow. Yes, CSS removes much of the need for tables. But dismissing tables entirely as a layout tool is pretty foolish.

      Just my $0.02.

    3. Re:Learn CSS by Stormx2 · · Score: 4, Informative

      There aren't many instances where tables give an advantage, and in the few instances it, the advantage isn't significant

      Usually tables are a hindrance for me. I think in terms of divs now. And its always a pleasure to code. I didn't get that when I used tables, really.

      Contrast tables with radical layout changes that can be made with small CSS bits. CSS was a pain before IE6, and IE6 still has issues, but for the most part CSS is an absolute joy to use now.

      Cached CSS means your HTML files are all about content. It means less bandwidth use, and cleaner code.

      Theres loads of reasons I like CSS, and not many for liking tables. My $0.02

    4. Re:Learn CSS by vux984 · · Score: 5, Insightful

      For the love of god, do NOT make your websites using any of these:
      - tables (for layout, I mean)

      1) using tables for actual tables of course is perfectly ok (as you implied by saying 'for layout'
      2) I would suggest "avoid" using tables for layout as much as possible, but don't discount them.

      When faced with a situation where a table will just work in every browser you intend to support with minimal table html markup, and doing it with CSS requires divs nested in divs nested in divs nested in divs with all sorts of css hacks, and then STILL needs a javascript to run after the page renders to fix the widths and heights etc...

      Yet its trivial to do with a table, without any javascript or browser hacks.

      I just use a table.

      Pure CSS is gold. But in my opinion browser hacks and javascript for layout are WORSE than tables. If you need them to avoid tables and make your "pure CSS" work, the cure is worse than the disease. (and really its not "pure CSS" anymore if you are using hacks and javascript)

      As for flash and java. I again agree to a point. For most sites you absolutely don't want to make them essential for your site to operate, but there is nothing wrong with using either appropriately. And depending on what the site is, it might be appropriate to make them essential. homestarrunner.com without flash would be pretty pointless.

    5. Re:Learn CSS by harry666t · · Score: 4, Insightful

      http://giveupandusetables.com/ :)

    6. Re:Learn CSS by Oligonicella · · Score: 3, Insightful

      will just work in every browser you intend to support

      "which will work everywhere but IE"

      Reconcile please.

    7. Re:Learn CSS by daniel_newby · · Score: 4, Insightful

      There aren't many instances where tables give an advantage, and in the few instances it, the advantage isn't significant

      CSS is terrible at sharing horizontal space. Consider a two column page: a sidebar on the left aligned to the left of the page, an elastic-width content column on the right, and a fixed-width margin separating them.

      With a table, the code looks like this:

      <table class="bare-layout-table"><tr>
      <td><div class="sidebar"><% sidebar %></div></td>
      <td><div class="content"><% content %></div></td>
      </tr></table>

      Is that really so bad? All of what you normally consider style is set by CSS. The table is just there to position the content horizontally at sidebar right edge + margin, regardless of how wide the sidebar is at the moment.

      If you use raw divs for this, then you have to lock the sidebar to a fixed width, and manually give the content a horizontal position. Every time the sidebar is resized, you have to pull out a pocket calculator and recalculate, looking up the desired margin from whatever non-machine-readable place you stashed it. This is not good engineering, it is guru full employment. It is X Windows modelines brought to the web.

      float: left is not a solution either. Oh, it will seem to work for a few toy tests. But think what happens if the content ever gets so much as a single pixel wider than you hoped: it gets reflowed vertically below the sidebar to give it that extra pixel. The poor user is left staring at a blank space where the content should be. In the modern context of resizing fonts and single-pixel fixups in Javascript, this effect is almost to be triggered eventually, probably by a junior employee who cannot even recognize what they have done. Quite a number of major websites blow up in this fashion. One feels an urge to pat the designers on the head and take away their crayons.

      That's what the grandparent comment means by "ugly" and "brittle". Good engineering is about making the computer automatically do the hard work, not following the "semantic markup" demagogues off a cliff. Even if it is a damn stylish cliff and all the cool kids are doing it.

      Contrast tables with radical layout changes that can be made with small CSS bits. CSS was a pain before IE6, and IE6 still has issues, but for the most part CSS is an absolute joy to use now.

      CSS is pretty great for controlling typography**. Unfortunately, it provides no way to make block elements simply share horizontal space.

      **But try indenting/outdenting your headings a certain number of ems when they use non-100% fonts. It's pocket calculator time. If you change the indent/outdent/percentages, you have to manually fix-up everything. Dammit, CSS! Learn some arithmetic!

    8. Re:Learn CSS by Anonymous Coward · · Score: 2, Informative

      Say what you want about Flash, but Flash developers are always in high demand. If you get in with an ad agency for instance you can end up making a ton of money.

      You may want to consider just doing a Flash ad banner here and there to supplement your income. Great budgets and quick timelines.

      I agree with the bit about JPEGs and PNGs, though GIFs have their place too...

    9. Re:Learn CSS by Mansing · · Score: 2

      Use tables for tables of data, not for layout and style.

      Use style sheets for style and layout, and not for tables of data.

      It's not that hard, folks.

    10. Re:Learn CSS by Hooya · · Score: 4, Informative

      Pick one from here.

    11. Re:Learn CSS by Hooya · · Score: 2, Interesting

      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.

    12. Re:Learn CSS by wibs · · Score: 2, Insightful

      I can't believe I'm seeing this argument again. Here. Now. In 2008.

      Maybe I'll fire up IE6 to really complete the feeling I'm getting.

      The counter arguments are everywhere, and this discussion has been dead for years now, so I won't bother repeating them. I sincerely hope you're not charging anyone for HTML.

      --
      If you get nervous, just remember that there are a few billion other people who don't really give a damn.
    13. Re:Learn CSS by Bill,+Shooter+of+Bul · · Score: 2, Insightful

      If it takes more brain power to use divs, than tables, than css is a step backwards. What you meant to say is that the web developer who uses tables for layout hasn't taken the time to learn an easier, more flexible method.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
  5. Just some answers by rho · · Score: 3, Insightful

    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?

    1. Maximize what you get from the client. Do hourly or fixed-quote, whichever is most appropriate. If you have the luxury of choosing only high-paying clients, well, nice to meetcha, Santa. How's the skiing in Hell?

    2. Half up front. No exceptions.

    3. Years of experience.

    --
    Potato chips are a by-yourself food.
    1. Re:Just some answers by FredFredrickson · · Score: 3, Insightful

      Always do hourly. Scope-creep will instantly ruin any fixed quotes you have. Even without scope-creep, the client will take a few looks, make you re-do everything because of some stupid reason.

      Always bill hourly.

      And, yes, upfront is good. I personally prefer pre-paid time blocks.

      --
      Belief? Hope? Preference?The Existential Vortex
  6. Always bill for time & materials by duffbeer703 · · Score: 5, Informative

    Quoting a fixed price for projects is like putting a "kick me" sign on your back. You'll attract cheapskate clients who will chisel you.

    Use a standard contract that indemnifies you and covers your ass as much as possible. Always create a statement of work for each engagement and create a new revision that gets signed off for each material change.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
    1. Re:Always bill for time & materials by nine-times · · Score: 2, Informative

      Quoting a fixed price for projects is like putting a "kick me" sign on your back. You'll attract cheapskate clients who will chisel you.

      I disagree with this. You might argue that I'm a cheapskate, but if I'm going to pay a web developer, I want a real idea of what I'm going to be paying. If you quote me an hourly rate, I'm going to want to know about how many hours the project will take you so that I can calculate a total cost anyway. And I won't be happy if I have to pay more than I expected because you've estimated your time badly.

      I think the key to quoting a fixed price for the whole project is to clearly define the project first. Make it very clear what you consider to be part of the project, and what's extra. Make it clear to the customer that if they want anything extra, they'll have to pay for it.

      Remember, it's not just about legal obligations, it's about managing expectations. If you deliver what you said you would within the time frame and budget you've quoted, you're more likely to end up with a happy client who will hire you again and recommend you to others.

      It may be tempting to give a low quote in the hopes of winning business, but I'd generally rather do business with someone who quotes me $x and charges me $x than someone who leads me to believe a project will cost $0.5x and then charges $0.9x. That may seem strange since $0.9x$x, and you'd think that I'd simply want to pay less, but really it's just that there's some business value in having predictable costs.

    2. Re:Always bill for time & materials by dubl-u · · Score: 2, Interesting

      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.

  7. % up front and milestones by jimbudncl · · Score: 2, Insightful

    Even in the current economy, you're an asset. Don't under value your services; the worst mistake you can make is letting your clients get used to being billed for less than you're worth.

    Aside from that, bill a percentage up front when you've all agreed on the specifications. Also, set milestones and bill another percentage when you meet them. This keeps you in the black and sets up expectations which help your client perceive you as a professional (now, be sure to _meet_ those milestones!).

    As for time tracking... I'm sure there are good free solutions, but I haven't used any yet. I did use Quickbooks Online and it works, especially if you'll be working with others. Hopefully you'll be back at work somewhere soon! Working for yourself can be stressful.

    Good luck!

    1. Re:% up front and milestones by Firehed · · Score: 2, Informative

      FreshBooks.com is also good for freelancers - I don't use them (I have a desktop app, Billings, Mac-only, which I prefer) but have seen what it can do and it's pretty solid. Free to get started I believe.

      On that note, I'd read the hell out of FreelanceSwitch.com. They have lots of great advice and opinions for billing practices, contracts, invoicing, determining your worth, dealing with clients, and all of the stuff that you'd have to deal with by switching to freelance work (surprise!).

      I will say that what you charge will drastically change what kind of clients you can get. If you can produce some damn fine work, then don't charge what a high school student with some free time will, because then you'll get stingy clients who are demanding crazy requests.

      Learning to say "no" is also a good skill. Don't overdo it, but agreeing to bad terms is setting yourself up to excess stress and failure.

      Again, I'd strongly recommend reading freelanceswitch.com. I'm not affiliated with them in any way, but have found them to be a great resource in my own freelancing experience.

      --
      How are sites slashdotted when nobody reads TFAs?
  8. Good estimates by Mad+Merlin · · Score: 5, Funny

    What is the best way to create accurate time estimates?

    First, take your best estimate, then multiply it by two, and then increase the units to the next largest. So, if you estimate something will take 3 hours, tell the client it'll take 6 days.

    1. Re:Good estimates by Dan667 · · Score: 2, Insightful

      If he was talking about pure run rate to code then yes. I always used run rate to code times 10 to estimate. Surprisingly, it works fairly well as you need to do a bunch of stuff besides coding like collect requirements, documentation, etc.

    2. Re:Good estimates by Anonymous Coward · · Score: 2, Insightful

      There's a better one... measure the work and keep track of your historical records. These multiplication techniques really only mean that you have no idea what you are doing.

  9. Mint money with maintenance by Fished · · Score: 5, Insightful
    I do some websites on the side, and one thing I do that positively mints money is offer maintenance contracts. Basically, here's the deal. I offer two hosting plans:
    1. One for $10/month, and I charge $50/hour for any updates.
    2. One for $25/month, and I will do minor updates for free.

    I carefull define what constitutes a "minor" update--basically, anything that doesn't involve a complete site redesign or a lot of graphics work is covered.

    Here's the beauty of it: about half my customers go for maintenance and in the 4 years I've been doing websites on the side, I've gotten 12 customers that have maintenance contracts. I haven't done one update under maintenance. I just sit there, quietly collecting $25/month for doing absolutely nothing. And, even if I do have to do something, so long as it's not alot of graphics work, it only takes me a half hour or so anyway.

    Also, as others have said, get a deposit before you start work on a site. I do sites on a flat-rate basis, and require 50% up front. Otherwise, you can spend a lot of time working on a site for someone and never get paid.

    Also, remember that you will make as much money on hosting in general as you will on design--get a reseller account with a good hosting provider (I use hostgator, but if I had to do it again I'd probably get a dedicated server because hostgator's rails support sucks.) I suggest using paypal subscriptions to make sure you automatically get paid for hosting. They're cheap and easy to setup, and it all happens automatically.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
  10. plan well, overestimate time by friskyfeline · · Score: 2, Insightful

    Several years ago I did exactly what you are doing. I worked for several companies as a freelance web designer/developer. Here is what I learned: 1. Overestimate time demands. Use the 2x, 3x principle. For new projects figure out what you will need in terms of material resources. Break down projects into subparts and estimate the time it will take. For technology and projects you are familiar with double your time estimate. For new technology you are less familiar with triple the time estimate. If the learning curve is very steep use 4x estimate (avoid this). 2. Use a contract with your client based on 1 third up front, 2 thirds midway, and final payment on shipment of product. Specify this in writing and get it signed by their billing department. If they won't agree then consider another project to work on. 3. Consider your billing and internal planning such as flow charts for projects just as important as doing the actual work. A lot of new freelancers fail to do this and get burned. 4. If you use artists work or do your own graphics use sign off contracts to get your client's approval that the final design is acceptable. Most clients will at this point say, "It needs to be approved by marketing...," or something similar to this. This step can save you from redoing this endlessly for free. 5. Be assertive about following the above suggestions. Part of running your own business is sticking up for your rights. If you don't others will take advantage of you.

  11. What I'm doing by jjohnson · · Score: 4, Informative

    I figured out an hourly rate based on my skills and the prevailing rates. When someone wants me to do something, I get a clear statement of what the work entails. I give an hourly estimate in the form of a range (e.g., 20-25 hours), and tell the client that the top of the range is a cap--after that, I turn off the clock and finish the job, and count the 'lost' hours as an expensive education in estimating (clients quite like that there's a ceiling on their costs and that I'm apparently willing to take a hit for doing things badly).

    Then, when I'm estimating, I make sure that I understand the requirements clearly enough that I (almost certainly) won't ever hit that cap. I'm generous in my estimated hours, and if possible, come in at or below that floor of my estimate, which also impresses clients. I'm very upfront about the time taken being a range to handle unexpected difficulties.

    For larger jobs that I quote, I break it up into estimable pieces, and call them milestones.

    For jobs under five hundred dollars, I do the work and bill. For jobs over five hundred, I get half up front and half on delivery. For large jobs with milestones, the half up front, half on delivery is for each milestone. Milestones are structured with a clear deliverable so that the client feels like, if they stop at that point, they've got a recognizable thing for which they paid.

    So far it's worked pretty well for me. The most important part has been long discussions beforehand so that a clear statement of requirements is agreed to before work starts. Then, if the client says they want something different, I've got clear grounds for either revising my estimate or calling it 'out of scope' work with a separate estimate/bill.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  12. My experiances by vw_bob · · Score: 5, Informative

    I started freelance web development more than 10 years ago. I built my company on my freelance work. So I can speak with some authority here.

    Here's my advice in bite-size nuggets:

    - Only bill time and materials. Do not ever agree to do fixed fee work or you will loose your shirt.

    - Incorporate. It's actually easy and gives you more protections.

    - When tax time comes around have a CPA do your taxes.

    - Find a basic, easy to read, even handed/fair contracting agreement that you should always try to use. Have it reviewed by a lawyer. Include these points: mutual indemnification, your *hourly* rate, terms of ownership that gives you ownership over work produced until its paid for in full. Include a clause that allows your clients to cancel at any time without warning but they still have to pay for hours worked. (More on why later.) Any contracts provided by your clients have reviewed by a lawyer.

    - You *will* eventually (probably sooner rather than later) be stiffed by a client in part or in whole. Have a lawyer you can call to write them a letter. You'll at least get some payment if you have a lawyer write a letter for you. Be sure to know how far you want to push this. The point of a lawyer is not to sue, but to get partial payment.

    - You can set your hourly rate more or less randomly. Look to see what other independent contractors are charging (as best you can) and set your rate proportional to your experiance and confidence. Raise your rates annually.

    - There are numerous ways to handle proposals. Here's what I do and what I recommend: First, spend time talking with your leads to learn what it is that they need. Write this down in a proposal format that includes the following: 1) A short summary (1 to 2 pages at most) of what the client needs. 2) How you propose to solve their problems. This pretty much says that you'll provide what's listed in section #1. 3) A list of technologies and techniques you're likely to use including languages, platforms, frameworks, database, techniques such as Test Driven Development and Continuous Integration, Source Code Control systems, etc. Provide a short blurb about each item listed and why it's good. And 4) provide a guesstimate of how long you think it will take. More on this in the next bullet point.

    - To estimate projects follow this process: 1) break the project down into major steps you'll need to follow to complete the project. This would normally be something like building infrastructure, security, each major section of the application, etc, etc, etc. This is an art and is learned through experiance. Add 33% more for meetings and project management. Add 33% more for trouble shooting and debugging. Add 33% more for post deployment support. Make it very clear to your client that this is *just a guess* based on experiance. As a part of your project management strategy hold at least weekly meetings with your client to show them what you've accomplished, tell them what you're working on, and update them on anything that has taken longer or changed in scope on the project and how that impacts your estimate. Your contact should allow them to cancel at any time. The combination of your initial guess and your weekly updates, combined with the knowledge they can pull the plug at any time gives your client confidence in your project and comfort to pay hourly.

    - Invoice bi-weekly and give a discount for payment in the first week. We give 3% discount for early payment in our standard contract. We get good cash flow and our clients save money.

    - To find leads for projects I recommend that you network. There are many professional networking organizations out there as well as your local chambers of commerce. Also, attend conferences in your technical expertise. Submit topics to those conferences and try to talk at them. Write for technical journals. Most of these are very easy to get into. In terms of sales, don't try to sell. Instead listen to the problems your leads have and tell

  13. Re:Always quote a fixed price by Kukui23 · · Score: 5, Informative

    Time and materials is essential when you have clients who can't make up their minds. Usually, start these people off with a bidded job, but take any change to the project as an excuse to concert the job to "T&M".

    T&M is the best situation for the vendor to be in. It is the worst situation for the client to be in. A bid job puts pressure on the vendor. The threat of T&M forces the client to lock down their decisions.

    This goes for just about any contract job. not just IT or webdev.

    --
    Malama
  14. No offence but you don't know what you're doing by syousef · · Score: 3, Insightful

    The questions you're asking are very broad and very basic. You're going to fall flat on your face and work long and hard for a net loss if you're not very very careful.

    On the one hand you're asking for a good way of doing estimates, but on the other you're asking if you should provide fixed quotes. It should be clear that if you don't have much experience estimating, you shouldn't be shooting for fixed work. You need to get these skills up BEFORE taking on this kind of work (and certainly before you take it on a fixed price basis).

    Your best bet at this stage is to apply for some short term contracts, paid by the hour while you develop your estimation skills. Go through an agency to begin with if you can. Do this and provide YOURSELF with a fixed estimate at the start of the job. Write down your assumptions (which should always be part of any fixed quote - unless you want to work for free when the scope creeps). Only when you're able to create accurate estimates should you take on fixed work (making sure anything you sign limits the scope of the estimate). Make sure you're permitted to see the details of all contracts regarding your employment, and keep a copy to refer to if you do decide to take anything on without an agency. (Fixed contracts will be different again to hourly, but you need to start getting an idea of what the language is like in your employment contract if you're going to handle all this yourself).

    --
    These posts express my own personal views, not those of my employer
  15. my advice by NickBuzzica · · Score: 4, Insightful

    1) build a nice portfolio and get references
    2) NEVER work without advance payments
    3) never call a potential client more than 3 times before getting a deal signed
    4) never ever fail in doing what you're hired for
    5) paypal will do for invoicing and billing. get a premier/business account and you'll be fine
    6) get a set of must-have documents: an agreement, NDA, proposal wireframe, a set of relevant links for each project category
    7) avoid custom coding. there are a lot of open-source apps today you can use code from
    8) donate to them!
    9) use modeling and frameworks. avoid coding pure language, you will waste precious time
    10) don't get jobs just because you need the money!! very important.
    11) decide on some hourly rates for various category of tasks and only give discounts for large projects. calculate fixed fee projects' values based on these rates.
    12) always add 10-20% on the top of any quote you generate. clients will always surprise you with stuff like "i thought that was assumed"
    13) establish a sales strategy and stick to it: "i'll do it for X-10% instead of X if you decide today" or "I can do both your projects for 75% their total value"

    took me 9 years to learn this on my own. the very hard way.

    www.buzzica.com is the result of all this work.
    Hit me up if you need help!

  16. Written communication and simplicity is key. by Calavaro · · Score: 3, Insightful

    1. Make sure your client understands that changing a website core mid development will make it push past scheduled completion time AND drive the costs up. Sign contract (talk to a lawyer to get correct wording etc).
    2. Make sure they understand that changing website mid dev... yeah.
    3. Written communication each and every time or you will be SOL when the client decides to change the website mid development... you never win an argument with a client unless it is all documented.
    4. Quote them a whole project if you feel they are willing to cough up the cash for it. Take deposit totalling no less than your expenses (eg. travel, lunches, new software, etc)
    4.1. If they state during initial talks "Pricey/too much/whatever GAH" quote a base site, (text, images, pretty banner maybe even a basic flash animation or 2), then each addon priced separately.
    5. Make sure they understand that a lot of the work is behind the scenes, but show them the pretty to satisfy their visual urges.
    6. Be prepared to age quick.
    7. Know people are relatively clueless and needs basic stuff explained again and again. Write it down in an easy to understand format and email to them. Keep it short, most clients develop a severe form of ADHD when they need to make an effort to understand you.

  17. Thoughts on freelancing. . . by Hero+Zzyzzx · · Score: 3, Insightful

    I've been freelancing on and off over the last 9 years or so, and I just came out of three years with a successful company where I learned a lot about how to be a consultant, how to create happy clients with clear expectations on both sides and how to not get soaked. Here are some things I've picked up, YMMV.

    • Always bill hourly. Always. Don't work with clients that aren't comfortable with that, you will get screwed. The talking points of the conversations I have with prospective clients go something like: "If you ask me to do something, you should assume that you're paying for my time - it's that simple. I don't work for fun, though I love my job. Have you ever had a consultant start ignoring you before a fixed-bid project is finished? That's because you aren't paying hourly and they have given up on you - they have too much time in for the amount you've paid. Because you - and all my other clients - are paying hourly, I don't ignore anyone. Time and again fixed-rate consultants burn out because they find they are doing too much work for free - I'm in this for the long haul and part of that is everyone paying their share so I don't burn out." I like to talk long-term, looking for clients that want me for more than just a one-off project.
    • Give estimates, but stress they are just estimates, the client is still expected to pay for the full amount of time a project takes. Let your client know you will check in with them frequently as the hours pile up to ensure you're on track or - if you aren't - that you'll discuss how to get the most important 90% of the project as quickly as possible.
    • Conversely, I think it's OK to do fixed-rate projects for long-term clients and/or where you've done a similar task many times over. Generally, I would avoid it, though.
    • Track all your time - even the non-billable sys-admin-y / business development stuff. It'll be invaluable when it comes to planning to know exactly where your time is going.
    • Double any estimates before you pass them to the client - things always take longer than you think (the devil is always in the details), and the client will be happy if you come in under what they were expecting. Many consultants are uncomfortable with this idea, but it has never been a mistake as far as I'm concerned.
    • Bill every month, or on whatever schedule you normally bill on. Get in the habit of billing regularly - too many consultants get too busy to bill their clients! It's odd, but totally common.
    • Don't take projects that're completely outside your skill set. Admit your limits - taking on a project that's out in left field is a sure way to a bunch of stress and an unhappy client. An example: if you don't really have an eye for design, find someone that does that you can trust.

    For time tracking and invoicing, I'm enamored with Freshbooks.com (referral link, non-referral link.). It's cheap, you can accept online payments, freshbooks can snail-mail invoices for you (!), the billing options are pretty flexible and the timesheet app is pretty slick with desktop widgets aplenty. I haven't found an open source project as polished and featureful as freshbooks - please let me know if something like it exists. SQL-Ledger is not a competitor to freshbooks - not by a long shot.

    Hope this helps. Good luck!

    1. Re:Thoughts on freelancing. . . by 71thumper · · Score: 2, Informative

      As someone who has "purchased" literally millions of dollars of consulting working from both large firms and single individuals over the past decade, I heartily recommend this post.

      The major thing I look for is an estimate, and then constant, regular tracking against that estimate. If something starts to unwind or get out of scope, I want to know early and often because that allows me to make my decisions.

      My bosses -- in fact, anyone's bosses -- don't like surprises. So we work together so there aren't any.

  18. Re:Always quote a fixed price by TheSpoom · · Score: 2, Informative

    I disagree. I think you should estimate as best you can for larger projects, but quote a per-hour rate as your binding price. Try to stay as close within your estimate as possible, of course, but I believe the grandparent is correct: if you quote a binding fixed price, people will increase the scope over, and over, and over, and won't pay you until you've done way beyond what the initial contract states.

    Quoting a per-hour rate makes things easy and puts forward a message that you will do things as quickly as possible, but that the client will pay for any work that you do. This attracts honest clients who are willing to pay for quality.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  19. Re:a problem I have... by Cylix · · Score: 2, Insightful

    The trick is to get them to believe your idea is their idea. Some reading on confidence cons will probably help.

    Sometimes you can just get by with, I like the base concept, but what do you think about these improvements.

    Most times I've dealt with in house projects its always been as you described. In the end, it's not my dime, but I try to mitigate the damage as much as possible.

    --
    "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
  20. Suggestions from another web developer freelancer by TheSpoom · · Score: 4, Informative

    Guru.com is the best freelancing site I've seen so far. They seem to genuinely respect both sides of the equation, the clients and the freelancers. Compare that to, say, Elance, which seems to treat us like interchangeable cogs. And the built-in escrow is also very nice.

    Brush up on your English. A well-written bid makes you stand out among the rest, especially when the rest come from east Europe, for example. This isn't to say that all businesses there are bad, but some most definitely lack decent writing skills, and if your bid is easier to read, it makes you look more professional, and thus makes the client more likely to choose you.

    Bill by the hour on all but the smallest projects until you are actually running a business where it's more than just yourself and you have an idea of how much things will end up costing in the long run. Legitimate companies won't take this as a bad thing if you provide an estimate at the same time.

    Build payment times into your contract. If at all possible, get all your pay up front in escrow, but if that's not possible, make sure you state something like Net 30 days as your payment terms in the initial contract. If not, you could get shafted really easily when a client takes three months to pay you.

    Encourage repeat business. Get into a discussion with your clients about their business, and suggest areas where you could help them achieve their aims. A versatile web developer can do many things for a business.

    Place what you'll do into the contract. I don't think you need a lawyer like some of the sibling posts here as long as you're specific. Scope creep can really, really suck if you let it happen.

    Oh, and if you happen to need any help with PHP development, give me a shout. ;^)

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  21. A List Apart by iangoldby · · Score: 2, Interesting

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

  22. After five years of just about paying the bills... by mdavids · · Score: 3, Informative
    • Don't try to do everything yourself. Subcontract to other developers with complementary strengths who play nice with others: a couple of graphic designers, maybe a copywriter, sysadmin, or sales/accounts/office admin genius.
    • Don't try to support too many products/platforms. If you use a different tool for every project, just keeping up with security updates will either become a full time job, or else you will get hacked at some point (I did). Life got a lot easier for me when I decided to specialise in Drupal.
    • Get yourself a VPS or two. Don't bother with shared hosting - it's too expensive and limited. Your clients' hosting fees should pay for the effort _you_ put into keeping their sites ticking over, not for your hosting provider's cPanel licenses.
    • About 20% of your time will be spent on technical work. The rest will be negotiating and hand-holding. You've got to develop some social skills.
    • Insist on using a professional graphic designer (unless you're a graphic design genius yourself). No matter how adamantly a client initially insists that the look of their site isn't important, they will change their mind.
    • Pick your clients carefully. Don't be afraid to say no. Unless you're a scam artist, say no to anybody who proudly proclaims their computer illiteracy. If they don't understand what you do, they won't appreciate it. Likewise avoid clients who think they need a website, but don't know why. Ask them what they want to achieve with the project.
    • You probably won't find small/medium clients who will be happy with paying per hour. Demand a 50% deposit at commencement of work, plus timely delivery of whatever you need from them to complete the job.
    • Don't take on anything that you think will take more than a fortnight's work, for which you should quote four to six weeks. Every project takes longer than you would expect, so if you expect something will take a couple of months, you may be out of business before you get paid. Split large projects into smaller stages if necessary. Even the best clients (not to mention developers) will have a tendency towards feature creep. Make it clear that additional ideas, no matter how brilliant, are for later stages of development. Throw around some buzzwords like "agile" and "iterative".
    • Don't expect to do more than four billable hours a day. Don't let yourself burn out, and keep it interesting. If you don't do a lot of reading and stretch yourself with the occasional hobby/charity project with features that paying clients won't generally ask for, you'll be a miserable dinosaur in three years.
    • Mind you, don't do discounts/freebies unless you really believe in the cause. If you wouldn't do a fun run, sell raffle tickets, or shave your head for them, don't do a website for them. Be clear about the limits of what you'll do.
    • Did I mention you should develop with Drupal? Check out this awesome presentation on catering to small clients with Drupal.
    • Catch up on the Rissington podcast. They're more graphic design focused, but have lots of useful tips for dealing with clients and organising your business, amusingly delivered, and advice about cheese.
  23. Re:Learn jQuery - Good grief... by FyRE666 · · Score: 4, Insightful

    What a load of rubbish - have you ever seen just how slow Ruby sites run with any sort of significant load? Python too. PHP isn't the silver bullet or anything, but saying Ruby/python is "better" is just playing to the fanboy crowd.

    Yes, I have used all 3 in commercial projects - have you?

    And as for the idiots saying "don't use a table, you can make divs behave exactly like table cells, except not in IE6" - where to start... If you're having to code up 20k of CSS and AT LEAST the same amount of markup (probably a lot more) to emulate something that already works, and works realiably, then you're an idiot. The visitors don't care, your client won't care, Google doesn't care (really! go check it out) and you won't earn any more out of it. Saying "ah, but I can tweak it easier" is more junk - how many sites do you actually "tweak" after it matches the visuals? Virtually none. A redesign usually requires different content and completely different layout.

    Don't even get me started on making the site work across mobile and email shots (yeah, you're going to be using tables, or lots of images and nothing else)

    Tables have their place in the real world. Stop being elitist about it.

  24. Re:project pier is a good basecamp alt. by jaymz2k4 · · Score: 2, Interesting

    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.

    --
    jaymz
  25. NEVER bill hourly! by LibertineR · · Score: 4, Interesting
    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.

    1. Re:NEVER bill hourly! by vw_bob · · Score: 3, Insightful

      Oh my god, this is the worst advice I've ever read.

      It's extremely hard to estimate the level of effor it takes to build software. Thus you are virtually guaranteed that if you bid fixed rate you will get burnt. And, even if you're good at estimating, maintaining change orders for each little request is killer. And what happens when you estimate something (like say printing in Flex/Flash/Air to be a 40 hour project and it turns in to something like 120? - not that that's happened to anyone, or anything.) My point is, neither you nor your client know how much effort it will take to build software. Read my comment above to see how I recommend estimating, billing, and collecting.

      Besides, I'd rather get paid for every hour I work. That's both honest, as I'm not getting paid for work I didn't do, and fair, as in I'm only billing for work I did.

      I know a LOT of people who have been burnt bad by agreeing to fixed fee work. Software ALWAYS has bugs and your clients can easily say that something that doesn't work they way they feel it should is a bug and threaten legal action if you don't fix it for free. If you bill hourly for every hour of work you're covered.

  26. Re:Always quote a fixed price by Daniel0 · · Score: 2, Informative

    FYI, materials can still be digital, such as stock photography, icons, etc. Like intellectual property stuff you need a license to use.

  27. Good Advice by SirLurksAlot · · Score: 4, Interesting

    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!

    --
    God, schmod. I want my monkey man!
    1. Re:Good Advice by kachakaach · · Score: 2, Informative

      A lot of folks are providing good advice about contracts, and rates and the like, but the process of costing out a large web development job, or even a smaller one, is not black and white. The client frequently does NOT know what they want, does NOT have the content to fill the site, and does NOT appreciate the programming effort required to achieve the objectives set out. In order to provide a quote you can live with, you need to provide quotes on phases of work, with each phase feeding the next quote.

      Out of frustration with the inevitable question, how much will it cost me to make a web site, I developed a process I called the 3 Cs of web site development, to stimulate a meaningful conversation between myself and the client.

      New Web Site Development Process - the Three Cs:
      Conceptualization - Content Development - Construction

      The development of a professional web site is a complex process, and is a great deal more involved than just programming. I recommend that when a web developer works with a client, they both consider the three 3 Cs of initial web site development: Conceptualization, Content Development, and Construction. (In addition, after a web site is developed, there are also maintenance and update issues to consider.)

      Conceptualization
      The first phase, Conceptualization, is often overlooked. However, you should consider this to be the most important of the three phases and the one that will most affect the quality and effectiveness of all development efforts that come after. In this phase, a client may give you a complete site concept diagram, technically feasible, well organized, and annotated (blue moon kind of rare) or you may find yourself in a situation with clients and their staff needing to be interviewed, current marketing and informational materials to be reviewed, and target market(s) to be identified, in order to suggest a new site design (all of this takes time and costs money). The end deliverable of this phase should be the flowchart or storyboard that the client approves. This flowchart will identify the structure of the new site, the degree of interactivity desired, and provides a summary of the content intended for each page. The development of this site flowchart is something you should be able to provide a quote for, after an initial consult with a prospective client.

      Content Development
      The second phase, Content Development, involves identifying or creating the text, photos, graphics, sounds, video, and other various media that will be included in the site. Some of the text may have already been drafted by the client, or it may involve all original writing. Photos may already exist and can be scanned, or a photographer may be required. There may be audio/video recording or digitizing or a variety of other content-related activities to produce the actual final content for the pages to be developed. The end deliverable in this phase is the actual text and graphics, and all other media required for inclusion into the web site. Lack of content from the business client is a common problem that holds up new web site development projects. Separating this phase of the web site development into itâ(TM)s own activity helps the client understand their choices, they can provide you with the text, photos, videos, etc, or they can pay you to develop them, but content does not develop itself, it is a billable activity. Once you have the flowchart, developed in phase one, you can go thought the content needed, as shown on the flowchart, and note who is providing it, you or the client. Once this exercise is complete, you can provide a quote for your portion of the service for this phase two activity, Content Development.

      Construction
      Finally, in the third phase, Construction, the web site will need to be built (programmed) using the flowchart or storyboard as the "blueprint" and the text and graphics and other media as the content of the various pages created. There may be a whole variety of different technologies required to achieve the cl

  28. Contracts are premature by tomhudson · · Score: 5, Insightful

    Contracts? From reading the article, contracts are really premature. The person asking the question is too vague about too many things. They should have at least gone into some detail about their skills, experience, and target market. "I want to freelance as a web developer" sounds more like an act of desperation than a person with a plan.

    Just some of the basics that are missing:

    1. What market you want to attack in terms of clients - size, type of projects, supported technology - you can't hit your target if you don't have one. Is there even a market for what you're trying to sell? If so, where? "Don't know?" means you've already earned an F.
    2. What skills and experience you have, and what you've done to ensure that you have contacts with others who have complementary skills. The wold doesn't need YAFPWM (Yet Another FrontPage WebMonkey) or another "I know Dreamweaver so I'm a 1337 web developer and deserve big bux."
    3. What corporate sales experience you have - you REALLY need people skills to survive in business, and make no mistake about it, if you're freelancing, you're running a business, competing with other businesses. Have you ever cold-called on businesses? You need to see at LEAST 50 a week for the next 3 months, and devote 1 day a week thereafter, or you'll get stale fast, and someone else will eat your lunch when you're not looking. If you can't learn how to call on business, and ENJOY it, then being in business even as a freelancer is not for you.
    4. What sort of initial setup you have. Most web developers, even if they're not freelancing, already have a laptop (good for meeting with potential customers), a hosting provider already running a few sites, a server at home for putzing around with that could quickly be converted to a test box, a collection of tools and software you're familiar with, a decent camera and/or camcorder, and a laser printer. These are basic tools of the trade, and without them, you can't compete - it'll be poor presentation, poor preparation, and poor perception on the other side of the table.
    5. Transportation - after all, you're going to have to go out there and SEE potential clients. Spamming them with "hey, I'm a web developer and I want to enlarge YOUR business" isn't going to work. You need to spend on gas and shoe leather. Sure, "the internet is my market" - but people are more likely to trust someone if they have met them in person. Trust is essential. Your market is local, unless you're competing solely on price with rent-a-coders.
    6. You'll also find that you need to dress the part - and I don't mean casual Friday "webmonkey", but "entrepreneur."
    7. Business cards, complete with both physical and email address (NO POST OFFICE BOX!!!), cell phone, and web site, are de rigeur. Buy a few thousand, not a few hundred, Remember, you need to see 50 potential clients a week, so 1,000 goes fast at 2 cards a pop. And don't be cheap. Cheap shows. Worst is if you print them up yourself. You might as well hang yourself first. And put your cell phone or blackberry number on them - you need to be reachable. You'll really be pissed off if the client who could have made your year couldn't reach you. If you're not getting a blackberry or an iFruit with a data plan, put your cell phone SMS number on it (the one that people can send email to from their pc and it goes through your providers' email gateway).
    8. Staying power. You need to be able to last at least 6 months before you earn any money, or you don't have a prayer. Reduce your non-business expenses, get focused, and be ready to put in a lot of 18-hour days - daytimes prospecting, evenings preparing, planning, and polishing. If you can get unemployment, get it. If you can find part-time paid work as an employee, take it.

    If, after looking at this list, you see you don't have the resources to pull it off, maybe it's because succeeding in business is more than just "doing a job." Perhaps it's because now is just not the right time for you. Perha

    1. Re:Contracts are premature by UncleMidriff · · Score: 3, Insightful

      You've got a lot of good information in this post, and I enjoyed reading it, but is it overkill for someone who is just looking for a few jobs "in the meantime" to get him through to his next full-time employment?

      I've not been in this situation (yet (knocks on wood)), but I've known a few guys who have, and they never got anywhere near this serious about things. They acted professionally, sure, but they didn't attack it in the manner you suggest. They got a couple of odd jobs here and there from contacts from previous jobs, worked real hard so as to leave a good impression, and then started their next full-time, "real" job.

    2. Re:Contracts are premature by tomhudson · · Score: 3, Insightful

      This time we're heading into what is shaping up to be the most serious recession since the Great Depression. If you were around in '74 or '81, you have an idea of how bad its' going to get - people who lose their jobs won't be able to count on just walking into a new one in a few months.

      There's going to be some serious competition, so if you're going to compete, might as well compete to win. "Fail to plan" == "Plan to fail" and all that. In a case like the one in the article, the best bet would be to first off try to find a few other people with complementary skills, and pool resources. (Note - complementary - you don't want everyone in the group to be a clone of each other). A graphics artist should hook up with a developer; the two could hook up with someone who's good at administration, etc. The three of them could hit the local business sector street by street, each taking a block of office complexes, or a floor in a larger building, and sharing notes when they meet up every few hours, and significantly improve their chances of success.

      Not only that, but they'll be able to role-play their "pitch", and they can give each other feedback on what's working and what's not in the real world. And if one of them is having a good day, it'll bring the other two up. Nothing worse than the sense of slogging it alone in the world.

      A group of 5 people, each meeting for 10 minutes with one new contact, 10 times a day, gives 1,000 new contacts in one 20-work-day month. Three months of that and you're going to have work, plus hopefully each person will have found their "voice" - what works for them.

      The problem is finding 4 other people. the poster was laid off - the first thing I would do in a similar situation is email my former coworkers and find out how many others are now in the same boat, and if any of them are interested in doing something about it ...

      As for how to take on contracts - everyone who's going to be involved in a potential contract gets to decide whether the group takes it on and what a fair apportionment of revenue is, and who is responsible for what. For example, the group may have decided to put a 20% bounty up for the person who lands the contract - this motivates everyone to hustle for contracts, while also creating the idea that in the future, if things grow, they can bring in a full-time rep and pay them out of that same 20% allowance.

      The biggest problems are going to be a reluctance to call on businesses - most geeks don't have much in the way of people skills - and ego, which is just another name for a lack of certain people skills.

    3. Re:Contracts are premature by tomhudson · · Score: 4, Insightful

      Here, here, it's a travisdy that he didn't post his entire business plan on Ask Slashdot.

      Seriously, he just asked a simple question, I don't think he was looking for a lecture on how to start and run a business.

      Seriously? Freelancing IS being in business. The government treats it as such. So do clients. It's not like they're looking for work mowing lawns or painting porches, something that's easily measured, easily priced, and easily evaluated as to "what has to be done." If you're thinking of just making a couple of grand to "tide you over" till your next "real" job, why not just mow lawns, shovel sidewalks, or paint porches? It's honest work, and there's a lot less hassle involved.

      Someone laid off, looking to freelance, doesn't know how long it will be before they get another full-time job, so that freelance work *becomes* their full-time job. It needs to bring in enough money, on a consistent basis, to live on, which, if you're not living in your mothers' basement, means running it like a business.

      If you're going to deal with businesses as a supplier, you might as well do so in a professional manner. The way the economy is going, by this time next year it might spell the difference between living comfortably and living in a cardboard box.

    4. Re:Contracts are premature by ModernGeek · · Score: 3, Insightful

      I started my own web development / consulting firm off of one hundred dollars and all I can do is back up the parent on all of those points. Just because you are "an internet company" does not mean that traditional business practices don't follow you. When cold calling, people will quickly throw you out the door, especially if you look terrible, I can't stress enough on the business cards. When going into someone's business, you have about 15 seconds to hook them so that you can reel in the sale. Doing things "web 2.0" or "just online" will quickly send you to the poor house. People online don't want to pay for anything and want everything for free unless they are purchasing a physical product. Also, you will have to print invoices, you can't always email them, and you will have to deal with people not wanting to pay. If you don't want to have a universal contract in hand because you want to be "cool and casual", you will be treated as such. You have to be stern and well prepared when talking to people, and you can't stumble over yourself while speaking. If you later want to expand and build a firm and do this as your full time job, you will have to bring on partners, and that opens up another box of problems. If you talk to clients about your second job, they will think you are struggling and desperate, and will not take you seriously. If you say "uhm" and stall, you will be frowned upon. It took me three years of busting ass to get where I am now, and I am better for it. You need to spend some money on a nice sports jacket, a tie, and keep a decent haircut and clean shaved face, or you will be thrown to the hounds. Welcome to the world of business, I could talk for hours about this, but all I can really do is wish you the best of luck. Gods speed, especially when cold calling.

      --
      Sig: I stole this sig.
    5. Re:Contracts are premature by Lumpy · · Score: 3, Insightful

      a decent camera and/or camcorder

      A decent camera is a SLR with at least a $700.00 lens.

      A decent camcorder starts at $1500.00

      Anything less is crap quality. If you dont have a full studio flash kit with lightboxes or umbrellas, you will be taking crap photos.

      That said. I know of several web-design firms that do NOT have decent quality cameras and camcorders. they hire photographers and videographers for that work. you're a webdesigner not a photographer or videographer. If you try to do all three yourself, you will suck. Plus it's cheaper to farm out the photography.

      I know, my side business is photography and videography. I am an award winning photographer with many published photos. I also am an event videographer that produces stuff that local TV stations cant compare in quality to.

      I have nearly $50,000 in gear to do that. and I still get rubbed up against some guy that is "handy" with a camera and trying to quote at 1/4-1/8th my price. One client called me 4 hours into an event begging to pay me 3X my rate to come in and replace the idiot with a Olympus point and shoot they hired instead of me. he was walking around taking photos like a tourist.

      Know what the hell you are doing and have a portfolio put together. Find a skilled photographer and video guy to partner with to farm out the work to that you trust.

      --
      Do not look at laser with remaining good eye.
    6. Re:Contracts are premature by PainKilleR-CE · · Score: 2, Insightful

      This is a good point. My last employer put me on unpaid leave for a week (undetermined period of time when it started), and it instantly became my new job to find a new job. I spent a minimum of 8 hours a day when I wasn't getting paid looking for a new job. Even though I went back to work a week later, I turned in my 2 weeks notice a week after that. If they hadn't brought me back in to work, it was likely that I would've had 2-3 weeks without a paycheck, plus another 2-4 weeks before my first paycheck from the new employer came in.

      There's no reason to waste time when you're not getting paid for your time. If you're going the route of independent contractor, even if it is only temporary, your only job is to find yourself work, and there's no reason not to spend at least 40 hours a week doing that if you have no other work to do.

      --
      -PainKilleR-[CE]
  29. Public Service Announcement by tomhudson · · Score: 2, Funny

    You all seem to be misunderstanding what Web *Developer* means.

    Please stop referring to writing HTML and/or CSS as 'coding'. Thank you.

    Web Developer: Knows how to code in several server-side programming languages, including at least one (and more likely all) of the "p" scripting languages (php, python, perl), how to interact with one or more database backends (mysql, postgresql, oracle, etc), client-side programming languages (javascript, including XHR, JSON, etc); Knows the quirks wrt css in most browsers, knows what a DTD is and uses "strict". Must be able to maintain a test/development server, with version control, as well as maintaining the production web site. Codes to standards-compliant browsers first, then ports to IE, using the magic incantation "Fucking Internet Exploder" as many times as necessary - or more. Probably also knows Java, may also know C, C++, C#, assembler; can ssh to the dev box as necessary, scp files, uses svn or git, has strong opinions about sml, the vi vs emacs wars, knows what a LART is, and isn't afraid to use it.

    Web Monkey. "I know Photoshop and/or Dreamweaver and/or Frontpage, and I can drink just as much coffee as a real developer. HTML is too coding! I copied this javascript to do mouse rollovers - isn't it cool? Wait until you see what your site looks like when I do it ALL in Flash. Firefox? No, I use Windows." Sometimes targeted for LARTing by bored Web Developers.

    This has been a public service announcement. Please resume your usual trolling^Wdiscussion

  30. Whatever by coryking · · Score: 3, Insightful

    The correct answer is you do whatever is within the budget of your client. You and I both know it takes longer to do a proper CSS based two column layout. If your client cannot afford that, do the tables and tell the damn W3C to suck it. Purity trolls have no business in contract work. This is business and you work for your client, not the W3C. You do what is in the best intest of your client.

    And yes, CSS is easier to maintain in the long run, so it might be worth your while to convince your client that it is worth *their* while to pay you to do it right so they can save later. It is an up-front investment that will pay off downline. But if you know they are never gonna expand and you are doing a quick one-shot design an they are a budget... tables all the way!

    In other words, it depends. Just remember, this is business, not advocacy. If you are in it for the advocacy and not for money, you'll never survive. Sorry.

  31. Real-Life Cautionary Tale by PCM2 · · Score: 2, Interesting

    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. 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.

    --
    Breakfast served all day!
  32. Confusion Doesn't Help by EgoWumpus · · Score: 2, Insightful

    I have to disagree with much of your post, as you're conflating a number of (yes, related) issues - such as how to live frugally versus how to be a freelance web developer.

    More importantly, right off the bat on your first remark, you've told the person that, in all likelihood, they've earned an 'F' because they don't know their market, and that is that. I mean, that line (and most in this post) read as though they were taken straight out of a 'how to' book on business - and not the freelance Web work they're looking at. If the poster wanted that, there are plenty of places to go.

    To my mind, the most important adage is "Don't train, do." You can spend a lot of time on the various points suggested - market research, for instance, or cold calling businesses, or making business cards. But there is a core to the business - doing web development. Figure out what the bare minimum is for that, and get going. Every moment wasted on anything else is moments you're not getting paid. Why sit around trying to think of ten good reasons someone shouldn't hire you? And what to say? The best reasons someone won't hire you will come up when they don't, and the best rejoinders will come with practice.

    The point is that no one, out of the gate, has really any of this. You can go from zero to a successful business, but you're asking them to plan on plenty - when in all likelihood they should plan on nothing, keep an eye out for why they fail the first ten times, and learn to adapt. That is the learning curve that is needed - not how many business cards they need, or how to see fifty clients a week (which, by the way, good luck - that's ten clients a day, which is highly unlikely even if you can find them). If the person in question wants to be a salesman, then by all means, go that route. If they're going to be a developer, then they need to develop.

    To my mind, there are three important pieces that all else are subordinate to:

    1) Be capable. Know what you're trying to sell. You may fail to sell it, but that will get you farther than if you sell something you fail to be able to deliver.
    2) Have something to show. Suits and business cards are all well and good, but if you cannot demonstrate the product they want, they'll see right through you.
    3) Document everything, and review it. People get shafted by not having documentation that proves they did the work. They also lose track of where a project started to fail and why. By documenting (and showing the clients) everything, you not only keep them honest, protect yourself for the future, but you also are able to trace where it is you went wrong, and adapt.

    But all of that aside, if you want to do it, you're ready. Ignore anyone who says otherwise. You may fail - but you'll get over that. Not starting is a far worse fate.

    --

    [Ego]out

    1. Re:Confusion Doesn't Help by tomhudson · · Score: 2, Insightful

      how to see fifty clients a week (which, by the way, good luck - that's ten clients a day, which is highly unlikely even if you can find them)

      My personal best is ~`69 in one 60-hour week; one of the people I trained in my techniques hit almost 150, and was consistently around the 100 per week mark. It's not that hard, once you learn the essentials - which are:

      1. Go in
      2. Be easy to talk to, but remember, this is NOT a social call.
      3. Get the name of the person you need to see
      4. If they're available, see them.
      5. If they're not, thank the person you've talked to, leave your business card, and have them tell that person to expect either an email or a phone call within the next day
      6. Follow up that night

      You don't "cherry pick." You see EVERY business in the building, every business on the block. You don't know in advance who knows someone in another business who's looking for just what you have to offer ...

      There is NO reason not to be able to see 50 businesses a week if you're out of work and actively looking. Start at 8AM, end at 6 PM, continue straight through lunch (contrary to popular belief, lunchtime is great - a lot of smaller businesses, the receptionist is out, and one of the owners is "watching the fort". Ditto for after regular hours. I've seen multi-millionaires who've answered the phone after hours while I'm talking with them, and they say "No, he's not here right now. I'm just the cleaner." Being physically present after hours makes a god impression - it shows you're as hard-working as they are. They respect that.)

      most in this post) read as though they were taken straight out of a 'how to' book on business - and not the freelance Web work they're looking at

      The original poster has been laid off. It's not like they're looking for some work on the side ... and we're in a recession that's turning into a depression. If you're going to take the time to do it, at least try to get the odds on your side, right? After all, self-styled "web developers" are crawling out of the woodwork in most areas.

  33. Advice from a Lawyer and former web developer by biagio · · Score: 2, Interesting
    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 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.