This is a conversation I just had in q with a friend who has been considering shopping for a programmer. I think it is applicable to the thread (and yes, I have his permission to post it...lol)
Xxxxxxxx (09:05 PM) :
how do i pay a programmer? is it by hour? or by job? or how? and what type of deposits are needed or whts the way you do it?
in other words/ how r programmers paid?
Sarettah (09:07 PM) :
It depends on the deal you work with the programmer. I do some stuff by the hour and some by the job. Big jobs I get at least 1/3 the estimate up front, 1/3 at the end of the design phase and 1/3 when code is done.
Xxxxxxxx (09:10 PM) :
ok so how do i find a programmer that'll take 1/3 up front? once we disscuss what i want and my idea? ................ So the design will be decided with the type of content Im going to provide
Sarettah (09:11 PM) :
Site Design doesn't matter. That is not the programmer's responsibility.
Xxxxxxxx (09:11 PM) :
yes i know
im gonna need one of them too LOL
Sarettah (09:12 PM) :
Ok, bear with me here and I will give you a quickie course in how it should work.
A programmer in the truest sense is a coder, period.
Xxxxxxxx (09:12 PM) :
im listening?
Sarettah (09:13 PM) :
There are several roles to be played here.
1. Web designer - takes care of the look/feel of the site.
2. System/program designer - designs the flow of the logic for the programs necessary to accomplish the functionality of the site.
3. Database designer - designs the structures to hold the necessary information to accomplish the functions/goals of the site.
4. coder - codes the programs designed by number 2 that also put the data in the structures designed by number 3
5. Tester/debugger - tests the code (alpha phase)
6. User group. assists in all phases with input and also does the beta testing
2,3,4 and 5 usually end up on the shoulders of the "programmer" (at least in this biz)
still with me?
Phase 1. Main user (client) tells the system designer what he wants to do. System designer works up a preliminary specification and presents it back to the client, client goes through the specification and identifies/specifies what is missing (if anything) and provides more input. This contiinues until a complete specification is arrived at. At that point, the system designer can provide a very preliminary time line as an estimate of the number of hours and a preliminary price and agreement can be arrived at.
Phase 2 - The design. The system designer takes the specifications and works out a rough logic flow and starts identifying the screens needed. The designer sits down with the user group on a regularly scheduled basis and runs the screen designs past them, this continues until all screens and outputs are agreed upon.
Once all outputs are agreed on the system designer can do a system flow chart and can start deciding what the databases look like.
From the system flow chart, he works out each individual program needed to complete the system flow. Once all the programs are designed then it is time to start coding.
Phase 3 - coding - coder takes the program designs and writes the code necessary to pull them off.
Phase 4 - testing. Alpha testing is just testing the raw code as is and getting rid of any bugs/errors that are found. Once alpha testing is complete, beta testing starts. In beta testing actual users run the software and identify anything that does not work the way it is expected to. The programmer fine tunes the code, the database designer fine tunes the database, etc. This continues until all agree it is ready for release.
Then the first cut is done and it is time to start on version 2

)
Xxxxxxxx (09:27 PM) :
whos is the user gruop?
Sarettah (09:30 PM) :
The beta user group is whoever the client gets together to test the app. Sometimes it is webmasters for example, sometimes it is just opening the site but not charging,. In your case it would probably be a cross section of the xxxxxxxxxx, you would probably want to find xxxxxxxx interested in xxxxxxxxxx and giving them free access to it and collecting their feedback.
The user group during the design phase would be you and whoever you designate to make decisions on the look and feel. The web designer would definitely be part of it because they are doing the actual graphice and so forth.
Now, that, in a nutshell is the proper way to do it.
However, the reality is that we hardly ever get to do it the right way
And that is why I am reluctant to take on stuff in this biz. Most projects in this biz are death march projects from the word go. Like the thing I am working on now.
Xxxxxxxx (09:32 PM) :
ya i see why? cuz that way seems very expensive lol'
Sarettah (09:33 PM) :
You either pay for it by doing it right or you end up paying for it by getting a shitty product and having to constantly fix it.