Welcome to WebmasterWorld Guest from 220.127.116.11
The concern is, I don't understand the PHP coding side of things and do not want to be taken advantage of, because of a lack of knowledge.
* Should I go and study up on PHP and other languages, first?
* What should a good coder be paid per hour?
* How long should standard projects take?
I just need some advice on my current situation. I'm tired of Rent-A-Coder and working with people who don't speak English very well. I really would like a local American that I can meet with and call on occasion about projects.
Even if you know the basics through a crash course it wont help much though with outsourcing, you need to be an ex-developer to do it well. You need to archirtect the solution and then outsource the code only.
Why not find a reliable php development company to partner with on projects, specifically one that you can help out with design work.
Without the background, it is going to be hard to hire and use a coder, period.
It sounds like what you need is much more than a "coder". A coder expects detailed specifications written in technical terms. You may not have the knowledge and experience to do that.
In a corporate environment, the kind of work I suspect you need would be performed by at least two different people, possibly three.
On a smaller project, though, one person might do it all, but it would be a more experienced individual who has both software design and coding experience, as well as a good understanding of the subject domain.
(That is - say, you need software to deal with sports statistics or credit-card verification. The person needs to know something about sports statistics or credit-card verification, or, absent very detailed instructions from you, won't know what you are talking about.)
Such people are quite a bit more expensive than "coders". And the are going to be hard to find and evaluate on "rent a coder" sites, especially if you want them to be cheap, local, and speak English well.
You might be able to use a technical temporary-services firm. They will tack-on 30% or so to the already-expensive cost, but it can be well worth it, because they have the knowledge and experience to match you up with the right person. But you may find them reluctant to work with you if you are a small business.
In a major U.S. city, I'd guess $50/hour += $20, + the 30% or so overhead. (They won't tell you how much they actually pay the person, but 30% or so is the typical overhead.)
Were you sitting down?
Nothing like the rates you see quoted on the outsourcing sites. (I swear, everybody there thinks that any project can be done for $100, and some fools take them up on it. ;) )
But I think aspdaddy has the right idea. Go to a company that does this all day every day, and has the necessary people to handle all aspects of the job optimally. They may well outsource some or all of the coding themselves, because they have the experience and ability to ride herd on them, understand your needs, and write the detailed specifications to keep the coders productive and happy.
What the heck is a "standard project"? ;)
You said: "Even if you know the basics through a crash course it wont help much though with outsourcing, you need to be an ex-developer to do it well. You need to architect the solution and then outsource the code only."
What's all involved in architect-ing the solution? I thought I was doing that with my previous projects. I would simply explain in detail, how each page would work, what would happen after the visitor would click here and etc. All the programs I designed and had coders do in the past were designed and set-up by me, I even designed the pages. I know HOW things should work, I'm the person that creates the systems, I'm just not a person who can MAKE it work. Hence the hiring of a coder. Hope this clarifies.
But if I'm wrong, let me know.
If it's just a different programming language (e.g. you outsourced Perl) then you can use your past experience as a guide.
The "what" may not be enough for many coders. Especially if it's a big project, they need the "how", at least in broad strokes. They simply fill-in the details.
Code needs to be designed, just like any other complex product or system. As an analogy, a carpenter can build you a house, but it may not be beautiful, functional, or meet city codes. You need to start with an architect. It's not enough for you, the homeowner, to simply say how many rooms you want of what size and function, and say "build it over there". Well, you can do that, but you will be getting a nasty visit from the code inspector, and it will look like the house on "Green Acres".
A die-maker can make a die for some engine part. But it's unlikely that you can tell him you want an engine with so much horsepower and torque, no more than so much weight, that will meet emissions standards, etc. etc. He will just look at you like you are crazy. Where are the drawings and dimensions?
I wouldn't worry about learning PHP yourself. But I would learn a bit ABOUT PHP. That is, how is it different from other computer languages, what are some of the specific "gotchas". What are it's strengths and weaknesses? You will then know a bit about what is reasonable and unreasonable to do in PHP, and when the coder groans, you will know if it is because it is something difficult to do or because he lacks knowledge and background.
There was once a time where a client needed a registration function on his website. The registration would take entries from a form and display them on another page as a listing. The client could then log-in and view the registrants and edit or delete ones he wanted. I wrote all this up in a detailed file and also designed how the pages would look. All the coder did was make it work by adding the back-end PHP coding. I tested to see if it worked, like I envisioned, and it did - that was the end of project.
Client requested a form with a security field in it, I cant do this, so I hired a coder to do it. I told him I need a security field. Certain fields needed to validate and I told him which ones, I also set-up a "success page" and an "error" page just in case anything went wrong. He did as I wrote and the project was completed.
I do agree that I can write up specs and architect for small programs on websites but for credit card stuff and large operations I would need someone to write it up for me.
Keep placing your thoughts, they're much appreciated :)
I would simply explain in detail, how each page would work, what would happen after the visitor would click here and etc.
This is good, its detailed user requirements and business ause cases, but not a design.
You are trusting a coder to design an application that meets these requirements. They will use thier own coding standards and version control of database schema... They will choose the technology,available components, and do the er diagram? What if they design it bad, you might not even know until you come to extend it. What if they steal code (very comon) , without insisting on your own coding standards you wouldnt even know...
I've been outsourcing tech work since 1999 in about 10 different countries and i can barely set up a blog.
I never wanted to learn the tech part and tried to focus on marketing.
I hear RAC is good, i just happened to start first at Scriptlance and i've had both good luck and bad luck there.
Seems like the one constant thing is finding someone that will be around 6 months from now.
My best ever, most dependable tech was a young canadian who went back to grad school. I could trust him like family. People often get too busy with their own sites or move on to other careers or both.
Most of my sites are in perl or i would offer to recommend someone. The only thing i can say if the 3 programmers bid your project and one has 4 completed projects and the second has 44 and the third 144, well you can see how to improve your chances by going with someone active.
Hope it helps,
I don't think you have to learn the language (isn't that the reason your are hiring it out in the first place?) Besides, I've never had a manager who understood what his programmers were doing, but he understood when they weren't delivering the product on time and to specs.