1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

An Open Letter to Programmers and Clients at DP

Discussion in 'Programming' started by tandac, Sep 19, 2007.

  1. #1
    I have have the fortune or misfortune of maintaining scripts for other DP members that were developed by so called "experianced" programmers. It is depressing to see the poor quality of work out there.

    If you're a programmer:
    - Stand behind your work. If you can't don't take the project
    - Learn how to code. SQL injection is a bad thing
    - Learn how to seperate logic from presentation. This is a good thing
    - Learn how to normalize a database
    - When completing a project turn over all required files to make it work
    - Show some ethics
    - If you can't handle a project say so

    For the clients:
    - Get some refferences
    - Have a realistic budget
    - Don't pay for all work up front
    - Know what you want or work on the desgin with the coder (expect to pay for this)
    - Let the developer code on his server
    - Test the app on his server before forking out the rest of the money
    - Pay another installment to deploy the app to your server
    - Pay again after everything is working
    - You get what you pay for. Quality, Cheap, Fast (pick any two)

    The programmers who do a bad job make the rest of us honest, hard working quality coders look bad. The addage of once burned twice shy seems to apply to many clients who have had bad experiances.

    Comments, rebuttals and thoughts are apreciated.
     
    tandac, Sep 19, 2007 IP
    wvccboy likes this.
  2. wvccboy

    wvccboy Notable Member

    Messages:
    2,632
    Likes Received:
    81
    Best Answers:
    1
    Trophy Points:
    250
    #2
    I agree with you.

    You want to do a good job for your clients, so might as well get some experience in the field if you want to do it.

    If you know PHP but want to do ASP.NET jobs for clients, it's not well worth it. I've seen a lot of that happening lately.

    Thanks for the heads up tandac.
     
    wvccboy, Sep 19, 2007 IP
  3. sea otter

    sea otter Peon

    Messages:
    250
    Likes Received:
    23
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Great lists! I'd like to add a few for programmers:

    - comment your code (even if only a little)
    - stop using outdated practices (e.g. $HTTP_SERVER_VARS)
    - test your code with edge cases and bad input
     
    sea otter, Sep 19, 2007 IP
  4. AstarothSolutions

    AstarothSolutions Peon

    Messages:
    2,680
    Likes Received:
    77
    Best Answers:
    0
    Trophy Points:
    0
    #4
    or just build in strong error handling
     
    AstarothSolutions, Sep 20, 2007 IP
  5. tandac

    tandac Active Member

    Messages:
    337
    Likes Received:
    11
    Best Answers:
    0
    Trophy Points:
    58
    #5
    Great ideas guys. :)
     
    tandac, Sep 20, 2007 IP
  6. sea otter

    sea otter Peon

    Messages:
    250
    Likes Received:
    23
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Sigh. That's my point. No matter how good you think your error management is, you still need to test it under bizarre and improbable conditions.

    Never underestimate the stupidity of a user or the determination of a hacker.
     
    sea otter, Sep 20, 2007 IP
  7. msaqibansari

    msaqibansari Peon

    Messages:
    84
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    0
    #7
    nice list for programmers you listed.
     
    msaqibansari, Sep 20, 2007 IP
  8. krt

    krt Well-Known Member

    Messages:
    829
    Likes Received:
    38
    Best Answers:
    0
    Trophy Points:
    120
    #8
    More for the programmers/developers
    - Speak the language of the client to a reasonable degree
    - Use a spell check if you are not fluent in the language (sorry tandac but your spelling of "experianced" inspired this item :p)
    - Don't slack off with aspects of the task where you think the client won't notice/care
    - Don't screw around with existing file formats, line endings, tab indents etc.
    - Publish a list of conventions (e.g. for naming and formatting)
    - Don't store 50 backups of a file with the original with obscure names
    - Make less assumptions, e.g. test, even if briefly, when uploading to a different host
    - Stop procrastinating (if humanly possible!)
    (ran out of ideas for now)
     
    krt, Sep 21, 2007 IP
    tandac likes this.
  9. bidder

    bidder Active Member

    Messages:
    431
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #9
    this list is a good guidance for both developer and client. talking from experience is always right
     
    bidder, Sep 21, 2007 IP
  10. tandac

    tandac Active Member

    Messages:
    337
    Likes Received:
    11
    Best Answers:
    0
    Trophy Points:
    58
    #10
    Be up front and honest. Kinda goes with being ethical and not doing things you can't do. Maintain communication with your client, especially in times of difficulty.

    Thanks for catching the typo. :) I'm glad to see this thread raising awareness of both good and bad development practices.
     
    tandac, Sep 21, 2007 IP
  11. dizzy

    dizzy Peon

    Messages:
    43
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    0
    #11
    On the programming side...
    the problem is that a lot of code is built by programmers who learned just by reading books & e-books. With the offshore programming craze..many chose the fast track.
    They don't know programming methodologies, design patterns, think about scalability, or security, or follow coding standards.
    They create whatever works as fast as they can so they can get the paycheck.

    Cause of those reasons several companies that I worked for stopped their offshore projects & brought in experts in house.

    Great list..I hope it makes some programmers aware of what they are doing.
     
    dizzy, Sep 21, 2007 IP
  12. SecretDownload

    SecretDownload Well-Known Member

    Messages:
    224
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    115
    #12
    I honestly do agree with everything you are saying. However, having experience of using local and outsourced programmers:

    Never EVER believe the following from a programmer:

    1. Examples of work* (unless on the site of someone you know and they've been openly using it for at least 3-6 months)
    2. Testimonials (unless from someone you know - see 1 above)
    3. Reviews (unless from someone you know - see 1 above)
    4. Sites they've developed (see 1 above)
    5. Certification of ownership/rights (coders can disappear overnight when they are found out)
    6. Statistics (PR can be forged, traffic can easily be diverted, forum posts/comments/testimonials can be forged)
    My experiences:

    Good coders cost good money.
    Almost all of the time, when starting a fledgling project, money is tight and you have a deadline - some coders take advantage of this.
    Do as much of it yourself - within your capabilities - get your coder to do the coding part.
    Just because someone is working in your office - it doesn't mean that they can actually do what they've said they will/can do! They can always walk away...

    ALWAYS
    Write a full specification document with at least the following:
    • Objectives (what the script/program has to do),
    • Deliverables (what the programmer has to do)
    • Constraints (when you need it by, where you want it installed etc)
    • Budget** (If you don't tell your coder the budget, he won't know how much to charge you)
    • Database requirements (Some/most coders are crap database developers - get advice on normalizing your database - build for future projects too)
    • Sourcing (Tell your coder if you want him to code from scratch or if it is acceptable for him to use open source or GPL code) - this WILL affect the price drastically!
    NEVER
    • Give away your ideas (If you have a great cutting edge idea that you think/know will be valuable in the future NEVER give the whole job to one coder)
    • Expect them to deliver on time (Most good coders keep you informed and give you regular updates etc - Lots either pretend they are working and never deliver)
    • Pay up front*** (If a coder asks for money up front, delete him from your contact list)
    • Wait until the job is delivered before testing it (test it on their server, pay them half, test it on your server, pay them the remainder)

    *Some coders steal code and put their name on it - take my word for it, the original coder or copyright owner of the code WILL find out and chase you for their share.
    **Budget Lots of people shy away from this - "If I give the coder a budget of $100 - he will say it costs $99.99" - exactly - more importantly he will know exactly how much you are willing to pay for the work and will work to that budget, he'll know that if it goes over you won't pay him)
    ***If you use a good coder, you don't pay upfront EVER. If they are asking for money up front, they are either a scammer or they are inexperienced and unsure of their abilities.

    Message for both coders and clients
    Trust goes both ways - some clients will try to scam coders and some coders will try to scam clients - You have to give and take.
    If you are unsure - use an escrow service or use scriptlance/elance etc
     
    SecretDownload, Oct 14, 2007 IP
  13. tandac

    tandac Active Member

    Messages:
    337
    Likes Received:
    11
    Best Answers:
    0
    Trophy Points:
    58
    #13
    Great points SecretDownload,

    I have also been conned by local/DP clients. It really doesn't matter. The honest ones will pay you, the bad ones won't. It's as simple as that.

    "Good coders cost good money". If I could convince the DP members of that and not have to complete against $1 bids on jobs I'd be a happy person. :)

    The same rule applies to anything: web design, hosting, SEO, etc.
     
    tandac, Oct 14, 2007 IP