
09-08-2007, 10:36 AM
|
|
Mr. Awesome
|
|
Join Date: Jul 2002
Posts: 5,602
|
|
RANT: Finding good quality programmers. Why is it so hard!!!!
Sorry... I just want to rant a bit and get this off my chest. I am so mad!
I have now had five totally disastreous experiences by hiring programmers from several of the popular sites where you can list your job and programmers bid on the work. (ie: elance and others..)
In each situation, I did quite a bit of "consideration" before selecting the project winner:
1. I verified they can speak English. (ie: I evaluated the replies to my project, asked some questions and then checked that they actually understood the subtle nuances of the questions I asked, etc..)
2. I verified that they had the technical expertise to actually do the project. (I check with past projects they had listed to see if they had anything similar that required the same type of work I was looking for.)
3. I checked their references. (I emailed several prevoius project owners that they had done work for, to find out what they thought of the programming work, etc.)
4. In all cases, I did not pick the lowest cost quote. In fact, three of the projects were the highest quote I received. I am happy to pay for quality.
But then.. after I hired them.. the problems started. In each situation, it was exactly the same pattern:
- I was "assigned" a programmer who could barely speak English. I constantly had to correct their incorrect assumptions on the project details, since they could not understand the terminology or "context", etc.. I would frequently ask them to show my email/response to someone else and have the other person explain it to them in their own language. This added so much wasted time to the projects that it is not even close to funny. The first few times are mildly funny. But after a dozen attempts to explain basic things, it ceases to be amusing and is downright frustrating.
- The programmers who did the work used incredibly "sloppy" coding. I am a programmer myself, and I know when code is bad. For example, the code would have no comments (or nonsensical comments), functions that were either exact or near-duplicates of other functions written earlier, incorrect use of functions, etc... If these were "stand-alone" projects (ie: no ongoing maintenance required), then this wouldn't be so bad. But the resulting code from these "programmers" is impossible to debug or add additional features, etc.. The code is as if it were written by a novice programmer who is learning how to program as he goes along. In some cases you can clearly see where they "learned" about the existance of a certain function later on in the project, since earlier they had custom written a whole bunch of stuff to do what that single function accomplished. (And yes, in all cases, my project requirements stated that the code must be simple to understand, easy to "extend" (for future features), etc...)
- Delays. Once would expect that if you say it will take a week to deliver the project, then a few weeks delay is acceptable. This is normal. I realize programming is not "exact" and can often take longer then expected. But jeez... we're talking MONTHS of delays here. Most of it was a result of going in circles with the programmer about what some functinality that was missing, invalid, incorrect, or trying to just explain what is needed. (All of which was clearly described in very detailed project detail documentation.)
- And then, when it was finally time to actually test the functionality of the program, there was always a ton of "little things" that were broken or missing. In all my projects, I provided a very detailed project specification document, including screenshots and lists describing every piece of functionality. When these "demos" arrived, they were so full of holes and problems that I wondered how they could possibly have programmed anything since they had obviously skipped 3/4 of the "what it's supposed to do" specifications pages.
The end result is that I have five failed projects that are now sitting on a shelf. In each case, I paid the programmer/company their deposit and then cancelled the contract since it was obvious that the end result was going to take forever to finish and would never work as the original design requirements document stated.
Arg!
Then there was the latest project that I hired someone for. This guy was actually pretty good. Thinking that perhaps my problem is because I'm hiring from "overseas", this time I chose a programmer who was based in North America, spoke great English, and produced decent code. And then, he figured he would be smart and disappear. Poof, one day he was gone. No more replies to my emails. Since it was right in the end stages of the project, I decided to just finish it up on my own. Took me about 3 days of hard-core programming, but whatever. I figured he had died or something bad had happened to him. I was actually worried.
Two weeks later, one of my customers informs me about some website that is selling some software that is just like the new version I had just released. So I go and check it out. And guess what I found? Yup, the programmer I had hired is now selling *MY* program as if it were his own. I have now chased him through 6 different hosting providers, with each one receiving a "cease and desist" letter from my lawyer showing proof the guy is selling my stolen code. (His contract with me is very clear that he was a contractor.) Arg!!!
Are there no quality programmers out there? How can these people have "references" that talk so highly about them, but then my own experience is so vastly difference?
Am I the only one having these issues? Is there a "trick" to finding good programmers that don't charge my first-born's arm for basic coding, and will not turn around and start selling the code as if it was their own?
I have a shelf full of great ideas that I think would make for some good selling software.. but I can't find any good programmers to do the work. My time is so limited with my own projects that I can't do everything myself.
How can I find good programmers (or two or three or four) that are reasonably priced, won't steal my ideas, and actually produce quality work?
If anyone can figure that out, I think you can make a fortune in referral fees. Surely I can't be the only one with a lot of good ideas, money in hand, but can't find anyone to do the work?
End rant.
__________________
Want to sell domain names? Sign up today for an eNom.com reseller account from a trusted eNom ETP provider.
* We provide support and service to over 3245 happy eNom domain name and SSL certificate resellers!
|

09-08-2007, 11:38 AM
|
|
Web Hosting Master
|
|
Join Date: Aug 2004
Location: Orlando
Posts: 1,272
|
|
For what its worth, my experience with programmers has been about the same. If they are very expensive, they also tend to be over-confident. If they are cheap, you get what you pay for (though not always, sometimes there are really good programmers who are just starting out who want to get their name out there.)
That said, it is really, really, REALLY hard to find a good programmer, one who can follow simple directions when it comes to coding. If you find one, let me know.  I've been looking for a good one for a while to help take over some long-term projects for which I don't have the time any more. (preferably a local programmer, but beggars can't be choosers.)
__________________
eVerity.com
Celebrating 9 years of customer service. Domain names, shared/semi-dedicated/dedicated hosting, SSL certificates, merchant accounts, reseller options, and referral program, since July 2000.
|

09-08-2007, 12:01 PM
|
|
<?require_once("life")?>
|
|
Join Date: Sep 2002
Location: inside your network
Posts: 9,548
|
|
Quote:
|
The programmers who did the work used incredibly "sloppy" coding. I am a programmer myself, and I know when code is bad. For example, the code would have no comments (or nonsensical comments)
|
If you're going to rant about someone's coding being sloppy, save the middle man and do it yourself. Otherwise, don't complain about supposed "sloppy coding". YOUR standards may not be the world's standards, or the best. Come on now.
The best response? If you want something done to your standards, DO IT YOURSELF. Don't expect any programmer to comment out their code for your understanding. That takes time away from getting the job DONE and moving on to more important things.
ON delays, that will happen, and you're right, expect a couple of days. That's why I always tell people it'll be done 1-2 weeks AFTER I expect it done. Why? Because they can be HAPPY that it's done early, instead of pissed off that it's late.
Quote:
|
And then, when it was finally time to actually test the functionality of the program, there was always a ton of "little things" that were broken or missing.
|
Now, that just makes no sense. Are you there to "test", or to expect perfection in "testing phase"? If A, then good, but if B, well, you have no right complaining about the "testing phase" not being perfect.
It sounds more like you didn't relay your expectations clear enough to individuals, or rather that those expectations didn't get passed down the chain. That would be why you ALWAYS make sure that you know whom you're dealing with and that they have a (somewhat) credible history.
__________________
Linux Tech Networks Reliable, Affordable Linux administration and monitoring since 2002
|

09-08-2007, 12:56 PM
|
|
Mr. Awesome
|
|
Join Date: Jul 2002
Posts: 5,602
|
|
Yes, you're right. It's all my own fault for not doing everything myself and foolishly expecting people to actually do what they say they can and will do. My bad.
lol.
__________________
Want to sell domain names? Sign up today for an eNom.com reseller account from a trusted eNom ETP provider.
* We provide support and service to over 3245 happy eNom domain name and SSL certificate resellers!
|

09-08-2007, 01:00 PM
|
|
Community Guide
|
|
Join Date: Oct 2005
Location: UK
Posts: 551
|
|
Quote:
Originally Posted by linux-tech
If you're going to rant about someone's coding being sloppy, save the middle man and do it yourself. Otherwise, don't complain about supposed "sloppy coding". YOUR standards may not be the world's standards, or the best. Come on now.
|
If one specifies how one would like the coding or programming completed, using certain coding styles that have been explained and documented (I have no idea if this is the case for the OP, but anyway) then one would expect that to be done. If you're paying for a project to be completed, you want it completed to your own standards. For instance, if you document something similar to "use indents for code" and the programmer does not do this then do you have a right to complain? Of course you do; if it's well documented and the programmer understands that they have to follow the contract, brief, documentation and references then the programmer should follow along with the specified requirements, if they don't then there's a issue with the programmer.
In regards to hiring a programmer; try not to hire out-sourcing firms or firms that assign programmers to you. These may - sometimes - lead to you deal with a knowledgeable guy that can speak your language before you sign the contract, but afterwards receive an employee that obviously can't speak your language, follow your documentation or complete your project. It is somewhat difficult to find a reliable programmer, or a firm to do your work for you. Some countries are better than others in regards to firms like this. Do not, ever, assume your home country is better than another for contractual work. Obviously in some cases they are, in alot of cases they are not. Trying not to be to specific or discriminate against any countries, programmers or anyone, I will not meantion what I consider to be a no-go zone generally for programming and contractual work. You definitely have the right idea that the cheapest isn't always the best, but it works the other way around too. The most expensive isn't always the best either. Sometimes you can find a cheap programmer willing to work for references or portfolio work who will produce outstanding results; othertimes you'll find what you think is a good reliable programmer and they turn out to be a complete idiot.
Honestly I wouldn't trust any programming to anyone I haven't known for quite a while. As a programmer myself I have built up a long list of close friends and programmers around me who I would contract or use for programming - because I know what they are like, I know their styles, I know they can actually communicate, and if they do drop off the end of the Earth - even though it is extremely unlikely they would due to the fact that I've known them for along time - I can probably track them down or finish the coding myself - or hire another programmer - because again I know their styles, I know their knowledge and I know what they can and can't do.
For instance, one close friend is an expert in e-mail and related programming in a specific language. If I have an issue with e-mail, I ask him. If however, I was to ask him about SOAP or REST then he wouldn't know what I was talking about, similarly if I asked a friend who works with shaders and graphics programming, he wouldn't know what to say if I asked him how to send an e-mail in a specific language.
It's all about getting the right person for the job, and unfortunately it is extremely difficult to do just that. One option, if it is available to you, is to see if you can find a local firm that can take on your work. While this is often not the case, sometimes you can find programming or software development firms near you that can help you with your projects.
Quote:
Originally Posted by linux-tech
The best response? If you want something done to your standards, DO IT YOURSELF. Don't expect any programmer to comment out their code for your understanding. That takes time away from getting the job DONE and moving on to more important things.
|
I would 100% expect code to be commented if I had specifically requested it and it was in the project brief. If it was in the brief and it was not done, I would consider that a failure on the part of the programmer. If they didn't understand the brief or they can't speak your language, then that person is definitely not for you.
Quote:
Originally Posted by linux-tech
ON delays, that will happen, and you're right, expect a couple of days. That's why I always tell people it'll be done 1-2 weeks AFTER I expect it done. Why? Because they can be HAPPY that it's done early, instead of pissed off that it's late.
|
I would definitely expect delays, even with the best of the best. Well perhaps not the best of the best who cost millions of pounds, but you get my point.  However, I wouldn't expect to be told it would take 1 month to complete a project, and receive it in month 3, 4 or 5. There are limits.
Quote:
Originally Posted by linux-tech
Now, that just makes no sense. Are you there to "test", or to expect perfection in "testing phase"? If A, then good, but if B, well, you have no right complaining about the "testing phase" not being perfect.
|
I have only a small comment on this. If you give a brief, references and other documentation to a programmer, you expect them to follow it. If it is clear they haven't followed the brief even by the first, second or third mature testing phase, then there is a problem; no matter how you look at it. The problem may be they didn't understand, their lack of communication or their inability to follow the brief and their skills can't keep up with your requirements.
Stealing code is definitely a tricky issue. If you contract them on the basis that you own the copyright and the code, then proceed to deter them from selling your code. However, while you can deter them from selling code afterwards, it doesn't change the fact that you unfortunately hired an untrustworthy programmer. This is very tricky to actually find a trustworthy one. An idea might be to try and find a friend with a serious skill in the area of knowledge that you are contracting out; e.g. programming, even though the friend might not be able to take on the contract they might be able to recommend to you whether to hire a prospective programmer or not. Again, it's tricky and can be a serious problem with programmer hiring websites - which I personally distrust and don't like.
Depending on the amount of references - references can be forged - even gained ligitimately - it doesn't change the fact that references may not reflect the programmers current objectives, skills and such. Take references with a pince of salt, make sure they have plenty, and if possible do alot of research into the programmer and their references - if you are not doing that already.
Quote:
|
Originally Posted by mrzippy
How can I find good programmers (or two or three or four) that are reasonably priced, won't steal my ideas, and actually produce quality work?
|
By having alot of luck. Good luck.
My take on the overall situation of hiring programmers and contractors.
Hope that helps,
Best Regards,
|

09-08-2007, 01:01 PM
|
|
<?require_once("life")?>
|
|
Join Date: Sep 2002
Location: inside your network
Posts: 9,548
|
|
Now, I never said it was your fault, but your expectations are clearly more than the average user here. Who cares if when you're testing something something is wrong? Isn't that what testing is FOR? Who cares if the programmer didn't write 5000 pages of documentation to satisfy you for every little function. Hey, you're paying for CODE, not for documentation. Just be thankful they didn't say it would be encoded.
__________________
Linux Tech Networks Reliable, Affordable Linux administration and monitoring since 2002
|

09-08-2007, 01:06 PM
|
|
Web Hosting Master
|
|
Join Date: Aug 2004
Location: Orlando
Posts: 1,272
|
|
linux-tech, in myzippy's defense, I don't think its fair to tell him to do it himself if he has standards on coding.
There is only so much one person can do. If you have a project that multiple people are working on, it is important that they all use the same techniques. For example, if everyone else is using
if (condition)
{
do this
}
else
{
do that
}
and you have sloppy programmer guy coming in and doing if (condition){do this}else{do that} all on one line it tends to create a bit of a headache.
It is more than reasonable to ask programmers to follow certain guidelines when working on a project, to ensure that later on, other programmers can easily modify/fix things.
__________________
eVerity.com
Celebrating 9 years of customer service. Domain names, shared/semi-dedicated/dedicated hosting, SSL certificates, merchant accounts, reseller options, and referral program, since July 2000.
|

09-08-2007, 01:08 PM
|
|
Community Guide
|
|
Join Date: Oct 2005
Location: UK
Posts: 551
|
|
Quote:
Originally Posted by linux-tech
Hey, you're paying for CODE, not for documentation. Just be thankful they didn't say it would be encoded.
|
If it was not requested, then I agree that documentation is not required. However if it was specifically requested in the brief and requirements then I would expect it to be there regardless of what the programmer thinks.
Similarly, if I contract someone to write some code for me then I expect to be able to use it; if I state that I own the code, the copyright and they sign the contract, accept it and agree to transfer ownership of their work I expect to own it and be able to use it. Encoding code is only really acceptable in commercial applications that are to be distributed to end users that are licensed the code - not a transfer of ownership of the code; and should only be encoded by the company or person owning the code. If I contracted someone to build a piece of software, and they agreed to accept the contract - and I had specifically stated that I required full source, copyrights and other rights - then I expect to receive the full source, copyright and other rights; regardless of what the programmer thinks. A contract with reference to a specific brief and requirements is a contract regardless.
Best Regards,
|

09-08-2007, 01:16 PM
|
|
Mr. Awesome
|
|
Join Date: Jul 2002
Posts: 5,602
|
|
I should mention here, in my own defense, that I am not a "newbie" when it comes to programming, software design, or project management.
I worked as a programmer for years before moving into software design, and then finally into project manager for large software projects. (ie: Projects in the millions of dollars.)
The lowest cost of the 5 projects I described in my post was $15k.
I'm not talking about small tiny jobs that were just ideas on the tip of my head. I'm talking about projects where I wrote extremely detailed project requirements, spent many hours describing exact details, etc...
But ya, feel free to tell me how wrong I am to expect actual delivery of what I paid for. 
__________________
Want to sell domain names? Sign up today for an eNom.com reseller account from a trusted eNom ETP provider.
* We provide support and service to over 3245 happy eNom domain name and SSL certificate resellers!
|

09-08-2007, 01:22 PM
|
|
Community Guide
|
|
Join Date: Oct 2005
Location: UK
Posts: 551
|
|
Some of us were agreeing with your points and expectations in regards to your projects that have failed on the part of the programmer(s).
Best Regards,
|

09-08-2007, 01:31 PM
|
|
Mr. Awesome
|
|
Join Date: Jul 2002
Posts: 5,602
|
|
Linux-tech, I'm a little surprised by your posts, since your signature advertises you to provide "Quality, affordable Linux Systems Administration". I presume this means you offer an outsourced administration service. You're a sys-admin for hire.
Are you telling me that if someone hired you to write a shell script in "perl", and you provided the script in "php"... you feel that this is ok? After all, the person who hired you got the script, so who cares if it is in php instead of perl?
Because that's essentially what you're saying. I disagree, which is the point of my original post and rant. If I hire someone to comment the code they have written, then why wouldn't I expect comments in the code? I'm not "just" paying for code. I'm paying for the whole package, exactly as I have defined it in the detailed project requirements document that form the basis of the contract.. and to which the programmer has agreed to deliver in exchange for cash.
If you hire someone to paint your house blue, and they paint it blue, using glue... wouldn't you be upset? Hey, they painted your house, right?
Anyway...
I'm not giving up hope yet on finding a decent coder. I'm going to change my tactic for finding someone, however. I think rather then post on those "find a programmer" sites that are obviously full of companies/programmers prepared to scam me.. I might try various programming forums and stick to people who have a good reputation, etc. I don't know.. but what I was doing isn't working, so I'll try something else.
Unless someone wants to recommend a good php/mysql coder or two? (Please do NOT pm me to advertise *your own* services. I won't hire you. But if you want to refer a friend to me.. that is fine. Please explain your relationship to your friend, and also your own contact info. I'm not an idiot.)
__________________
Want to sell domain names? Sign up today for an eNom.com reseller account from a trusted eNom ETP provider.
* We provide support and service to over 3245 happy eNom domain name and SSL certificate resellers!
|

09-08-2007, 01:59 PM
|
|
Disabled
|
|
Join Date: Aug 2007
Posts: 79
|
|
Complaining about the quality of work outsourcing job farms produce is like complaining about the quality of the clam chowder at Denny's. There are thousands of extremely qualified American software engineers out there. If you can't find one it's because you aren't looking.
|

09-08-2007, 02:11 PM
|
|
Mr. Awesome
|
|
Join Date: Jul 2002
Posts: 5,602
|
|
Quote:
Originally Posted by Bangalore Job Mob
There are thousands of extremely qualified American software engineers out there. If you can't find one it's because you aren't looking.
|
Indeed. Please help me look. Where should I start? I look forward to your reply.
__________________
Want to sell domain names? Sign up today for an eNom.com reseller account from a trusted eNom ETP provider.
* We provide support and service to over 3245 happy eNom domain name and SSL certificate resellers!
|

09-08-2007, 02:19 PM
|
|
Hail Eris !
|
|
Join Date: Oct 2002
Location: Canada
Posts: 3,100
|
|
Do you mind if I ask how much is the highest you paid per hour ?
|

09-08-2007, 02:19 PM
|
|
Community Guide
|
|
Join Date: Oct 2005
Location: UK
Posts: 551
|
|
Quote:
Originally Posted by Bangalore Job Mob
There are thousands of extremely qualified American software engineers out there. If you can't find one it's because you aren't looking.
|
Absolutely there are, but unfortunately there are a similar number of under-qualified software engineers, for multiple reasons. When you go looking for one type of fish, you're bound to find a fish of another sort, before you find the right one.
Simiarly, most qualified software engineers hold down a job with a company that employ them for their skills, and often don't have time for your projects.
Best Regards,
Last edited by Dark Light; 09-08-2007 at 02:20 PM.
Reason: Typo :)
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
| Postbit Selector |
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|
| Login: |
|
|
| Advertisement: |
|
|
| Web Hosting News: |
|
|
|