GoFuckYourself.com - Adult Webmaster Forum

GoFuckYourself.com - Adult Webmaster Forum (https://gfy.com/index.php)
-   GFY Educational Series (https://gfy.com/forumdisplay.php?f=38)
-   -   How to Hire (and keep!) a Programmer (https://gfy.com/showthread.php?t=955072)

Tickler 02-28-2010 10:51 PM

Interesting post to read. With a lot of useful information for folks on both sides

Myself I wrote my first programs in 1969, and started working as a programmer in '75. Multiple titles from senior to manager to director up to 1986. And then to full time consulting work after that.

From a hiring prospective I do take a close look at the type of projects that they have worked on. An OOPs game programmer might work OK in a graphics enviroment, not so much in a business enviroment.

And in Canada the educational tracks between university & college tend to be pretty different.
Case study - college - Inventory DB system
Case study - university - Towers of Hanoi
Quote:

Originally Posted by datatank (Post 16884194)
Wow

Generally speaking, a quality in-house programmer should start somewhere in the range of $70,000 USD per annum. Anything less and you face a number of obstacles:

Do mainstream programmers even make that much?

Some of us make a lot more. Actually I was making about that in the mid 1980s. :thumbsup
And even though I've been in the management levels a few times I much prefer cranking code to trying to figure out how much I have to budget for pencils for the next year. Doing CBAs & ROIs for systems specs is about as close as I like.

Quote:

Originally Posted by Varius (Post 16884200)
I agree, but as long as the code is clean, well-structured, standardized, modular, functions well named and there are project specifications, actual documentation (while always appreciated) isn't as necessary. Most programmers, even great ones, hate to document. Of course, you may argue they do that for their own job security heh.

After so long, I now automatically document within the code as I go. I've even looked at code that was +10 years old & then realized that I wrote it originally.
Quote:

Originally Posted by Varius (Post 16884200)
However, I remember years ago when I worked on someone's code where every variable was named after their girlfriend, their pet's names, what they were watching on tv at the time, etc... What a mess! :1orglaugh

One of my first projects was working with a system that had been developed in France. Try figuring out what those shorten french field names mean.

And then there are those programmers that insist on doing everything with single character field names like $f = $x + $a. Really time for a Gibbs.

Quote:

Originally Posted by JoeS (Post 16885364)
What I have found is it's difficult to find a skilled reliable programmer who can also add suggestions to improve your application or site and bring up things you might have overlooked based on their own past experiences. Find someone like that and indeed do what you can to keep them happy!

Joe

That is another reason why an experienced programmer is so valuable. Been there, done that. eg. "This payroll app. that you spec'd also needs some mandatory government reporting for their labour market analysis."

Or one time the xVP explaining to somebody that he only has to tell me he needs "something", and I wander off for a few days and it's done, or a team has all the specs and are working on it.
Quote:

Originally Posted by Varius (Post 16906261)
I think the only time per-hour should apply for freelancing, is when a task estimate is fairly impossible. Let's take the case where you have a MySQL problem where under certain circumstances, queries are very slow, mysql crashes, or some other form of undesired behaviour yet you cannot manage to pinpoint the cause. It would be very hard for a programmer to estimate exactly how long it would take.

Strangely, most of the work I do nowadays is on a per hour basis.

But then I'm in the process of retiring, and only taking on a few projects for long term clients. There are a whole bunch of other areas that have started to catch my attention.

Also partly because I'll be working on critical projects and likely to do 20hr days & +120hr weeks. I remember one project where I put in about 80 hour over 4 days. It was worth about $20 million a year extra profit to the company.

Or maybe I'll just be demolishing a bunch of smaller projects that aren't worth the time to spec individually.

Plus, quite often I'll fly half way across the country. So I charge an hourly rate based on $100hr + whatever expenses like hotels, meals, plane, etc. that I have to pay directly.

kush 03-01-2010 07:34 AM

I've heard the "why php" from programmers before. My question is "why not?" So many of the common scripts are written in it, and it works great, and it's something that most of us who know anything about programming at least partially understand. It's this familiarity that I want on my web server. Now if it's some stand-alone app then it's not such a big deal, but if it's on my server or my money-making sites, I want to be able to understand it and possibly change small variables or whatnot.

Also this has been touched on, but I think having well designed databases with optimized queries and efficient code is very important. Otherwise your $XXX-X,XXX month lightning fast server could crawl. Learning about a programmer's ability to optimize code/db's is important. "Just working" isn't always good enough.

wizzart 03-01-2010 08:18 AM

Great post :)

myjah 03-01-2010 08:38 AM

Quote:

Originally Posted by BestXXXPorn (Post 16899971)
Could I please get a mod to move that post of mine in here? Lots of good info that thing :)

Thanks!

I provided you with the copy from that thread so feel free to use it to post in this thread.

Varius 03-01-2010 08:50 AM

Quote:

Originally Posted by kush (Post 16910489)
I've heard the "why php" from programmers before. My question is "why not?" So many of the common scripts are written in it, and it works great, and it's something that most of us who know anything about programming at least partially understand. It's this familiarity that I want on my web server. Now if it's some stand-alone app then it's not such a big deal, but if it's on my server or my money-making sites, I want to be able to understand it and possibly change small variables or whatnot.

Also this has been touched on, but I think having well designed databases with optimized queries and efficient code is very important. Otherwise your $XXX-X,XXX month lightning fast server could crawl. Learning about a programmer's ability to optimize code/db's is important. "Just working" isn't always good enough.

On PHP I agree, rare are the circumstances I find when it won't do the job; normally in those cases, I opt for Python. An example of this is a bounce mail management module I once made to work with Qmail. At the time, doing it with PHP would have been a mess and not very efficient. Python, on the other hand, was better supported by Qmail and fit the goal nicely. PHP vs. ASP vs. Coldfusion on the other hand, I have yet to see a solid argument that ASP/CF were better than PHP.

I think PHP gets a bad reputation because it is so easy to learn and very lax on structure (ie. you don't need to declare variables and types among other things) that it amounts to a huge number of unqualified programmers using it without actually knowing the fundamentals first. :2 cents:

As for database / query optimization, I think that is EXTREMELY important. I have seen code from many people even here on GFY, who others recommend as good coders, who had no idea what an index was or how to use them. They have never heard of InnoDB or the EXPLAIN command (talking MySQL here). They didn't see a problem because their code worked with a 5000-row table, but once that table grew say to 50,000 rows and began to crawl, their answer was "most people will never have that many rows".

Read a lot of case studies about database structures and sql queries, performance tuning and ask people more experienced than yourself for help/advice. It doesn't matter how good your code is if your database is the bottleneck.

Tickler 03-01-2010 12:15 PM

Quote:

Originally Posted by Varius (Post 16910673)
As for database / query optimization, I think that is EXTREMELY important.

One little thing that I've seen many times because the programmers don't understand the data.

You quite often see coding that looks something like this with test arranged in order:
Code:

switch ($someField) {
case "A":
 do_A();
 break;
case "B":
 do_B();
 break;
case "C":
 do_C();
 break;
default:
 doOtherThing();
}

But if condition "C" equals 90% of the time, you should do the test for "C" first.

Very simple concept, that has major performance issues when dealing with high volumes. I've even written code that modifies this testing code based on current data being used.

Varius 03-05-2010 10:43 AM

Quote:

Originally Posted by Tickler (Post 16911379)
One little thing that I've seen many times because the programmers don't understand the data.

You quite often see coding that looks something like this with test arranged in order:
Code:

switch ($someField) {
case "A":
 do_A();
 break;
case "B":
 do_B();
 break;
case "C":
 do_C();
 break;
default:
 doOtherThing();
}

But if condition "C" equals 90% of the time, you should do the test for "C" first.

Very simple concept, that has major performance issues when dealing with high volumes. I've even written code that modifies this testing code based on current data being used.

That's a good point. I've seen many programmers reply to that with simply "a fraction of a second isn't going to make a difference". How wrong they are if they work on anything large scale.

It's the same with database fields, a lot of people use the field default size. For a simple example, I've seen people who know the maximum character length of a username on a site is say 20 characters. They create field as varchar(255). Or they know they use 2-letter country codes, but instead of char(2) they use varchar(255). That starts to add up once you are talking a large site with heavy traffic and millions of records.

goodsites 03-09-2010 09:35 AM

I'll outline some flaws in this article


70k per year? Did you just look this up on MonsterJobs for the avg going rate of some entry level PHP programmer or something? I believe so.

You talk about the low cost programmers and high cost programmers, try to explain the difference.. I'll point out more real bits of information below but then you say to hire them and give the GOOD programmer some $70k after saying its okay to pay someone $150/h

If they are $150/h, you for one are not going to hire them.. that is $250k/year 50 weeks in a year (2 weeks vacation unpaid) 5 days a week 8 hours a day... Seems you are already underpaying your great programmer...

The fact is, everyone wants a great programmer or cant pay for one.. This is why the business is bad... Because, if you needed to hire an electrician, you are STUCK paying what they charge.. you have no real choice.. but for some reason when it comes to programming, you want the best of everything for the lowest of cost (Manilla Phillipines wages)...

You end up getting what you pay for.... in the cases where you get a functioning script.. you end up down the road with massive security problems and no exception handling becase they dont work for quality.. they work to get the job done as fast as possible, doing only the bare essentials of the code.. which is the reason noone wants to work on other peoples code, and you will rarely ever find a good programmer who will accept you're fix up crap.. they dont need your $50_$150 crap projects. They like anyone else care about their future.

Which brings in the next problem,, Any good programmer has learned... They are the valuable part of the company, without them nothing good gets accomplished... What do they see?? They see sales people who do nothing but sit on their asses and get a few phone calls going, making 3 times the pay... And guess what, when the programmer is done with the automation the company and everything is running great,.. The programmer is thrown out the back door because he is now expendable. Who wants to pay him the bucks when the job is complete to hang around and manage it.. we can get some minimum age punk to do the task

So no programmers just work for anyone..

If things are well done and programmer is doing work and appreciated comes the next problem. MUST DO EVERYTHING HIMSELF AND EVERY LITTLE PART OF IT AND EVERY BIT OF TESTING AND THEN HE BLOWS HIS HEAD OFF

See what happens is mr manager, calls the shots and starts getting projects completed with programmer... They work together and do some great stuff.. Manager now starts getting lazy and doing other stupid stuff, no longer wanting to sit down and get stuff done... Instead starts giving programmer all the tasks.. Every bit of all tasks.. do this, ok ddo that.. i dont want to do this so do that... Programmer says.. yeah i see whats going on here.. I do all the work, manager gets all the glory and programmer says no thanks bye bye and company falls to shit when they dont realzie progammer made job
secure for himself and not going to answer how does this work when he leaves..

Programmers are underpaid, underappreciated, 10 times more intelligent then your best worker..... start paying them or continue with the headches and failed businesses.

Varius 03-09-2010 09:45 AM

Quote:

Originally Posted by goodsites (Post 16932025)
I'll outline some flaws in this article

70k per year? Did you just look this up on MonsterJobs for the avg going rate of some entry level PHP programmer or something? I believe so.

You talk about the low cost programmers and high cost programmers, try to explain the difference.. I'll point out more real bits of information below but then you say to hire them and give the GOOD programmer some $70k after saying its okay to pay someone $150/h

If they are $150/h, you for one are not going to hire them.. that is $250k/year 50 weeks in a year (2 weeks vacation unpaid) 5 days a week 8 hours a day... Seems you are already underpaying your great programmer...

If you re-read the initial post, you'll notice that the starting salary was for in-house workers and the hourly rate was for outsourcing. It's my experience that outsourcers do charge typically more, as they lose out in other ways (security, benefits, stock plans, company outings...)

Quote:

Originally Posted by goodsites (Post 16932025)
The fact is, everyone wants a great programmer or cant pay for one.. This is why the business is bad... Because, if you needed to hire an electrician, you are STUCK paying what they charge.. you have no real choice.. but for some reason when it comes to programming, you want the best of everything for the lowest of cost (Manilla Phillipines wages)...

You end up getting what you pay for.... in the cases where you get a functioning script.. you end up down the road with massive security problems and no exception handling becase they dont work for quality.. they work to get the job done as fast as possible, doing only the bare essentials of the code.. which is the reason noone wants to work on other peoples code, and you will rarely ever find a good programmer who will accept you're fix up crap.. they dont need your $50_$150 crap projects. They like anyone else care about their future.

Which brings in the next problem,, Any good programmer has learned... They are the valuable part of the company, without them nothing good gets accomplished... What do they see?? They see sales people who do nothing but sit on their asses and get a few phone calls going, making 3 times the pay... And guess what, when the programmer is done with the automation the company and everything is running great,.. The programmer is thrown out the back door because he is now expendable. Who wants to pay him the bucks when the job is complete to hang around and manage it.. we can get some minimum age punk to do the task

So no programmers just work for anyone..

If things are well done and programmer is doing work and appreciated comes the next problem. MUST DO EVERYTHING HIMSELF AND EVERY LITTLE PART OF IT AND EVERY BIT OF TESTING AND THEN HE BLOWS HIS HEAD OFF

See what happens is mr manager, calls the shots and starts getting projects completed with programmer... They work together and do some great stuff.. Manager now starts getting lazy and doing other stupid stuff, no longer wanting to sit down and get stuff done... Instead starts giving programmer all the tasks.. Every bit of all tasks.. do this, ok ddo that.. i dont want to do this so do that... Programmer says.. yeah i see whats going on here.. I do all the work, manager gets all the glory and programmer says no thanks bye bye and company falls to shit when they dont realzie progammer made job
secure for himself and not going to answer how does this work when he leaves..

Programmers are underpaid, underappreciated, 10 times more intelligent then your best worker..... start paying them or continue with the headches and failed businesses.

You are entitled to your opinions, but this rant sounds bitter based on personal experiences. What you described certainly occurs, but I don't think you can generalize that ALL companies treat their programmers as you describe. :2 cents:

goodsites 03-09-2010 10:35 AM

Quote:

Originally Posted by Varius (Post 16932061)
If you re-read the initial post, you'll notice that the starting salary was for in-house workers and the hourly rate was for outsourcing. It's my experience that outsourcers do charge typically more, as they lose out in other ways (security, benefits, stock plans, company outings...)



You are entitled to your opinions, but this rant sounds bitter based on personal experiences. What you described certainly occurs, but I don't think you can generalize that ALL companies treat their programmers as you describe. :2 cents:


I am entitled to more than my opinion.. I have worked for 3 companies on this board and 120 companies worldwide in the past 30 years... So let me tell you a few things. Bitter experiences? lol... I never flaked on one job and never lost a employer in 30 years... I have quit many. Everyone still wanting me back. I guess that makes me superior, not bitter. Learn the difference.

You call my post a rant.. I call you a joke, Hows that? Lemme guess you can't take what you dish out. Fuck with the best, you will lose. You best be ready to be schooled by the experienced when you enter the deep waters.

goodsites 03-09-2010 10:42 AM

Real programmers wouldn't even consider working for places such as being hired on this board... It's high stress, high demand, LOW PAY.. and being shit on... dealing with usually morons.

The real programmers are working for the retail firms.. For example

Leapfrog makes children games, some you may have played with.. You get a job in this company you get 3 times the pay.... You get a super relaxed working environment, which everything is done in complete specs and outlined A-Z before a line of code is written, You then you have like 3 months to complete the work, compared to here, something they want in like 48 hours..

Then you analyze it properly another 3 moths of testing... It works, the units are made and the money comes back for a job well done......

But here, you guys want shit written overnight, with no docs, no info given,
I want a back end to do this... (OH OK MAAM) And you allow no research time paid for, You expect it to work perfectly out of the box as you imagined like we can see that.. The shit you never even thought of has to be made and included, at no extra cost of course.. and on top of it, if there is a technical problem from a 3rd party plugin,module, or server or operating system found (which happens about 2 times a day in web development) usually leads to 8-16 hours of debugging test, unpaid for of course...


No real programmer takes these jobs.. quit fooling the world. Kids take these jobs.. They are not programmers, and they give us real programmers a bad name.

webboy21 03-09-2010 11:36 AM

very nice article and a good read varius...my compliments!

Varius 03-09-2010 03:52 PM

Quote:

Originally Posted by goodsites (Post 16932193)
I am entitled to more than my opinion.. I have worked for 3 companies on this board and 120 companies worldwide in the past 30 years... So let me tell you a few things. Bitter experiences? lol... I never flaked on one job and never lost a employer in 30 years... I have quit many. Everyone still wanting me back. I guess that makes me superior, not bitter. Learn the difference.

You call my post a rant.. I call you a joke, Hows that? Lemme guess you can't take what you dish out. Fuck with the best, you will lose. You best be ready to be schooled by the experienced when you enter the deep waters.

Firstly, it's "fuck with the best, die like the rest". And you call yourself Zero Cool :error

Secondly, while I'd love to engage you and trade witty banter back and forth, it is obvious you don't have the vocabulary for such repartee and I shall try and keep the thread on topic; some people have found this discussion helpful, other such as yourself will not. Feel free to troll elsewhere so that the discussion here can continue in a POSITIVE manner :)

goodsites 03-11-2010 12:00 PM

Quote:

Originally Posted by Due (Post 16888403)
I tend to tell the programmers what I want the system to do VERY rough (I have A, I need B, figure it out)
Then I ask them to write the specs, then I review it
Then I ask them to make the flow charts and the pseudo code.
Then I ask them to design the database structure.

After that I ask them to write the code.

This way I can weed out the people that can't come up with a solution fairly fast or can't work independent.

This may not be the best solution for everyone, but having a smaller company with only 4 programmers this appears to be the most efficient way for us :2 cents:

This probably wouldn't work on a freelance / project basis as they are usually dealt with on an agreed price rather than per hour and they are usually not in-house.

P.S. reason to ask developers to write specs is to show that they fully understand the assignment

Seriously? You want a programmer to write and show you the specs of your desired project that you must relate to him, and then possibly not get the job so you can take the specs to someone else? Heh.... I call fiddle faddle here.. No programmer is going to write specs for you to win a bid

djtomcat 05-13-2010 09:40 AM

Very good post will.

margarita 09-21-2010 02:12 PM

Quote:

Originally Posted by goodsites (Post 16938286)
Seriously? You want a programmer to write and show you the specs of your desired project that you must relate to him, and then possibly not get the job so you can take the specs to someone else? Heh.... I call fiddle faddle here.. No programmer is going to write specs for you to win a bid

Exactly :1orglaugh I'd charge for writing the spec to be ok even when you choose another programmer. Writing the spec is also the work, sometimes harder than the programming

Veggetto 11-23-2010 06:16 PM

Nice info maybe I can get discounts like this.

Nodtveidt 11-23-2010 07:51 PM

Even an old dog like me could learn from this thread... been a programmer 26 years and still going strong. Good info, imo. :) I've never worked for anyone on this forum, but perhaps someday.

taken300 01-12-2011 12:37 AM

Nice thread!!

Slambino 05-15-2011 08:03 AM

Very informative, wish I read it months ago.

Bratwurst 06-09-2011 03:57 AM

Great Post!!

It helped me a lot.

HarryMuff 06-17-2011 09:17 AM

This is a very cool story bro -- I could not have figured this out using common sense alone.

mike|melina 06-23-2011 01:39 PM

Quote:

Originally Posted by will76 (Post 16885913)
documentation, documentation, documentation.... very important.

I second that. You have to make sure that some other devs will be able work with the code already written.

And nice write up btw, thanks!

mukeshsnp 07-09-2011 02:40 AM

Thanks for writing it !

dc0ded 07-20-2011 03:28 AM

good job. very good article. very educational. hope you keep up the good job.

My Pimp 08-28-2011 02:19 AM

That is a really interesting article.

DirtyHardCash 03-23-2012 08:22 PM

I once...
 
I once hired a programmer ($50 an hour) First day he called in sick, third day he was an hour late.... There wasn't a 4th day, I fired him.

Bat_Man 04-22-2012 04:33 AM

Fabulous work done by you mate ... Needy thing for me ... yeppppy :)

realgirlsgonebad 05-20-2012 05:06 AM

top class work!!

GFELIFE 06-09-2012 03:06 PM

gfelife is da best






Quote:

Originally Posted by Varius (Post 16883997)
Introduction:

You see it everyday. People openly share their bad experiences with programmers; others, seek programmers to fix projects left unfinished or newly discovered bugs. Job openings are frequent and not quickly filled. This article aims to help, both the little guy and the "big dogs", in employing best practices and avoiding common pitfalls during the hiring process. I'll also touch base on how to avoid losing a good programmer once you have found one; make no mistake, once you have a great programmer, you need to hold on to him.

How Much Should I Pay?

Beyond the shadow of a doubt, this is easily the most frequent question nagging at potential employers. Programmer costs are as varied as programmers themselves; and price in and of itself is NOT reflective of quality. Generally speaking though, you do get what you pay for. While it's not impossible to find a diamond in the rough, waiting to be polished, few people have the time or desire to go on a treasure hunt.

Generally speaking, a quality in-house programmer should start somewhere in the range of $70,000 USD per annum. Anything less and you face a number of obstacles:
  • If they feel underpaid, they will not see a future with your company and may jump at the next offer to come along, leaving you high and dry.

  • They will be inexperienced, accepting your offer while seeking to learn on the job and move on to greener pastures. In some cases, this may be what you are seeking; if it is, as long as you don't set unrealistic expectations, you can easily find candidates within budget. This strategy works best if you have work needing to be done that isn't mission critical, which can handle bugs and delays.

  • Security. Are you aware that most "inside job" theft is performed by minimum wage workers? There is a reason for that. If your data and secrets are critical to your success, the last thing you want is an employee being offered a large sum of money to steal it for a competitor. This happens more than you think.

When it comes to outsourcing, you will find a much broader range of costs. Indian firms who charge $9 USD per hour sound almost too good to be true; in most cases, they are. The going rate for an experienced freelance programmer will fall in the $100 USD+ per hour range. Prices of $150 USD or even $200 USD per hour are not uncommon. However, the high cost of quality work is usually more than offset by the speed of delivery and finished product.

To get into a brief example, let's compare three programmers. "Programmer A" is an outsourcing firm based offshore who charge $10 USD per hour. "Programmer B" is an American-based but inexperienced programmer who charges $35 USD per hour. Finally, "Programmer C" is an experienced freelancer who charges no less than $125 USD per hour. You have a small project you absolutely need done in not more than 30 days. Earlier would be nice, but not required in this case as you have a set launch date.
  • Programmer A: It will be completed in 30 days for 200 billed hours.

  • Programmer B: It will be completed in 21 days for 75 billed hours.

  • Programmer C: It will be completed in 4 days for 20 billed hours.

You may think that's an extreme example, after all, how can a single programmer do in 20 hours what it takes another programmer 75 hours for, or an outsourcing company 200 hours? I have seen the numbers personally from a wide range of quote and projects and can say as fact that this is actually a very common situation.

Looking at the numbers, the outsourcers are the cheapest option, costing you an even $2000 USD. The experienced programmer, on the other hand, costs you a fair amount more at $2500 USD. You decide to drop "Programmer B" immediately, as he is the most expensive. What you are left with is a decision most companies or individuals currently face; do you get it done quicker and pay more, or save some money but risk missing your deadline?

If you opt for the third programmer, even if something unforeseen comes up, you should have PLENTY of time for testing or modifications before your launch date. With option A, you risk missing your deadline entirely, not to mention having zero time for testing or changes. Is the security of knowing you have a solid product at launch worth the extra $500 USD? I know it would be to me.

There are other benefits depending on the circumstance, one being time. Let's take the same situation and assume that if you got the product to launch quicker, you would likely be making money from it immediately. How does that factor into your decision? Well, if you would earn more than the $500 USD difference between Programmer A and C, the advantage is obvious.

We haven't even touched on the point of inferior or unfinished work; you will definitely pay more having incomplete work fixed or finished than if you had gotten it done properly in the first place.

In the end, you are the best person to judge who is right for the particular project or situation. Only you know all the factors involved, but hopefully you should now realize that you must contemplate all the angles before making a decision. Your business depends on it.

How Do I Know if a Programmer is Good or Not?

The simple answer is, there is no simple answer. Especially for those without programming knowledge themselves, this can often be the most difficult task in the hiring process. I will outline a few suggestions which should help you eliminate those who don't fit quickly.
  • Do they communicate in a prompt and professional manner? The assumption that all programmers are anti-social creatures of the night is rather unfounded in today's current landscape. Forget the image you have of the scrawny, pimple-faced hacker or overweight and balding guy in his parents' basement coding away. Many professional programmers today could easily be mistaken for a company CEO. If your programmer takes his time getting back to your inquiries, vanishes for days at a time or talks like he grew up on IRC or Social Networks, he should be dismissed almost immediately.

  • Examples of past work doesn't mean anything. This is not like design work; most programmers do not have a readily available portfolio for you to review. Unless they develop open-source applications in their free time, their previous work was likely for clients who wouldn't be happy with their code being shared. Not to mention they likely have signed NDAs. This shouldn't prevent you from looking deeper into a potential candidate at all. Not to mention, you have no real way to know they code they are showing you is their own and not stolen from elsewhere.

  • Have a small test developed and someone accessible to review the submissions. I generally like to choose something simple, like a Contact Form, for this purpose. Assign the candidate the task, provide him with the specifications and a deadline. Generally, a 24 hour deadline works well. This allows you a look into multiple factors. Did he refuse to "waste his time" completing the test? Move on and tell him thanks, but no thanks. Did he miss the agreed upon deadline? Expect it to happen to anything else you give him. Was his code messy, unstructured or redundant? Was his coding inefficient? Did he go outside your supplied parameters? All reasons to keep looking.

  • "He was recommended to me by a guy I trust". Recommendations from people you trust are a great way to wade through potential hires. Many programmers depend upon word of mouth for ongoing work. However, you should NOT just take their word for it. Even if they did a great job for them, there is no guarantee they suit your project. Moreso, is the referer qualified to evaluate their work properly? What if things appear to work for him at first glance, but fall apart as soon as his site traffic increases? Basically, recommendations should always be considered but they are not the be all end all in your decision-making.

  • Certifications do not make them a good programmer. I have seen Zend-certified PHP programmers whose coding skills left a LOT to be desired. To say nothing of their lack of professionalism or punctuality. While being certified from official sources is definitely a plus, it should not be a major factor in your choices.

  • Can they follow instructions and are they independant? You likely don't have time to babysit, as you are plenty busy with growing your business. Once you have provided concise specifications and deadlines, your involvement should be minimal until it comes time to review the finished product. If someone is sending you IMs and emails all day long, especially with questions that are clearly already answered in the task specs, they might not be who you are looking for.

CONTINUED IN NEXT POST


dirtydiablos 07-17-2012 09:50 AM

Nice
Helps me put things in perspective for my partner ;)
Thanks!

whiteraven 07-31-2012 07:00 PM

While its certifiably true that peoples experiences are varied and things change as time goes on, I read this and while some of it was true I wanted to do the community a service and nitpick a little and give my perspective as I found some inaccuracy in it when compared to my personal experience as a developer.

Please take these with a grain of salt as just my 2 cents; No offense is intended.

== How Much Should I Pay? ==
* In my professional experience 70k/year USD is very low. If you check the job boards or speak to technical recruiters, or go to any "what should I be makeing?" sites online you find that anything under 80k is considered "jr" developer and they have a lot of options to move up and get higher pay after the first year or so. This is further backed up with the fact that the average developer per anum pay in my area is in the range of 90k/year-110k/year (USD) in my area based on experience. I have personally made 140+k/year, so either I was overpaid or I am really good, I'm just not sure.

* Security is an easy fix, just have them sign something. Most good developers are decent people and either way, the threat of a lawyer works wonders as long as you are not hiring an offshore guy with more to gain by screwing you over than somebody who is in your country and knows you can show up at his house if things go south.

* Indian firms are worthless. Most of them that I have seen will not even handle porn due to religion/social issues, as people there are really repressed and its not uncommon for people to be stoned to death for it based on the stories I have heard. I do not know how accurate these stories are, and I welcome feedback from others with experience, but "common knowledge" seems to suggest its rare.

* The ABC example is partly correct but you are forgetting that the A from India sometimes can never do what the more highly paid C can do, becouse the A may simply not know enough. In addition, faults in craftsmanship in what they give you can in turn create what is known in software development as "technical debt" from the creation of inferior work. This is defined as basicly anything that makes it harder or more expensive to modify, use, change, or add features to the code later on. Its also the real cost that a lot of people dont think about. I have seen companies DIE due to having too much techncial debt in the form of WTF code... in fact - full disclosure! - I make a good part of my living fixing it.

== How Do I Know if a Programmer is Good or Not? ==

I agree that the professionalism is key and I agree with most of what was said here, but I disagree that having somebody do a bunch of free work for you is the right thing to do.

Its one thing to ask that they show you how to merge a single linked list, or know what a prefix tree is and how to use it correctly, maybe do some set theory, but a small project for free is another thing.

This can also be a turn off because lets face it, they dont know they can trust you; its not uncommon for people to try to take advantage of programmers by having them do "just one simple thing" as a "test" when that was really the only thing they needed or wanted done. Yes it happens, I have seen it happen, and it sucks, but some people have the mistaken impression that good developers are dispossable so we - remember I am a developer - have to protect ourselves.

It's a more common practice to have another developer test the person to test ability, as with common OOP details, the pro's and cons of a given technology, write some SQL to do a basic join, discuss the perf issues with using varchar instead of char in mysql, etc. In the end, it takes a software craftsman to understand if another person claiming that title can do good work. If you want to test them, hire them for a small thing and let them know it could lead to more work.

Certifications suck and are worthless. I have seen people who couldnt code themselves out of a wet paper bag claim to have certifications that are supposably hard to get, only becouse they either cheated on the test or becouse they stole the credentials or faked them outright.

In the end your best bet is to hire somebody for a fair wage, and keep them them happy by having open and honest communication with them.

== The Importance of Specifications ==
A good dev could use #1 but would come back to you and ask for at least #2.

Its often best to think of a developer as a translator; He (Its almost alwasy a 'He', but there are rare exceptions) is taking your english sentences and translateing them into a language that the computer can understand. With that in mind, keep in mind that a small sentence that you think is simple in english, may not be once translated to the realities of code. And a good develper will tell you when this happens. A bad one will hide it, be scared, etc. Look for open and honest communication, even if you don't understand what the guy is saying. And if you do not understand, say so. A good developer will be able to tell you in English. Milestones and breaking things up into smaller chunks is the best way to go and lets people focus on the 20% of work that gets 80% of the solution.

== How Can I Keep My Programmer (Happy)? ==

I agree with most of this. Revenue or profit-sharing are a GREAT solution and way to keep programmers around, but as a developer I also need to remind you - even if you do not want to hear it - that vested interest/partial ownership in the company is the BEST way to make sure things are smooth sailing as developers have a lot of options. A developer who owns a company will do anything to help it grow.


== Closing Notes ==
Anybody who says they have learned it all is an idiot. Don't hire them. I keep a pile of books I buy used from amazon on my table at all times, waiting to be read, and I read them when I get time at night, for this exact reason. I do not know everything, but I know enough that I enjoy reading and self educating. Your developer should be the same way because a day without learning something is a wasted day.

wizarddrummer 09-30-2012 01:03 AM

I've been a programmer for more than 30 years.

This was a decent article, well thought out and accurate.

Most clients take programmers for granted or they think that this shit happens by magic.

Depending upon the Development Environment, it can be smooth sailing or it can be some of the most frustrating hours a person can endure.

I cringe every single time I have to work in a Microslop environment. I'm putting the finishing touches on an Access Database project I've been developing for more than three years (single-handedly BTW) with only small, tiny crumbs to stay alive. I hope to make several million dollars when we finally do get to sell it.

Most of my headaches in this and previous projects have always been as a result of Microcheeses inability to create good, consistent Operating Environments and/or Development Environments.

I'm having to do a 11th hour new design feature to get around Microphlegm hideous Operating Systems. The system has a companion spreadsheet that I developed to pull data from the Database (spread sheets are much better for 'displaying' than databases) over the network. The problem is that this spread sheet is installed on 17 different machines pointing to single BACK_END.

There's nothing wrong with the design as it runs PERFECTLY on about 9 of the machines on the remaining machines there are reference issues, missing code libraries, and other factors such as dependent files not in their previous locations for Microscum in their less than enchanting 'infinite - no limits' wisdom decided to change locations of these files in different versions of their crappyass Operating System XP, Vista, Windows 7 are ALL different in how they are configured. Not to mention that machines within the same OS are different if the Service Packs and updates are not the same.

It's a nightmare sometimes.

Most people have no idea the level of frustration that developers have to go through when designing a new program.

For me, when I'm working with Microsoft (and I've been doing that since BASICA on the original IBM desktop machine), I spend about 30% of my time fixing, finding workarounds, searching for solutions to their inconsistent crappy stuff, and beating my head against the wall because I can't make a difference in the world to tell people to STOP BUYING Microsoft's CRAP!

Long story short, be kind to your programmer because you don't often know the HELL he/she's been through to get your product off the ground and if at all possible STAY AWAY FROM anything to do with Microsoft.

I've coded more than 1.7 MILLION lines of code in 11 different program languages on machines as tiny as a Radio Shack hand held in the early 80's to IBM Mainframe Clusters and Cray Super Computers.

All of my most severe, dismal experiences have come from working with Microsoft.

Some environments and/or languages are better suited to accomplishing programs than others. For example you would never want to write a 3D graphics program like Maya using ADA or COBOL or .NET.

So, when considering projects consult with your programmer regarding the platform that you will be developing on (if you have a new proj starting up) so that you can get the best bang for your buck!

The big project I'm working on is solely my design (with input from experts in the field) and it succeed or fail based upon the design and my ability to implement it.

So far, our demonstration / showcase system has been running on more than 50 machines for about 3 months now.

If I wasn't doing my own thing, with my own company, I would on the lookout for jobs that do have an ownership stake in the company.




Cheers!

crizatu 11-21-2012 02:08 AM

Great post! Finding a good, and trustworthy programmer has always been a tricky issue

jebon 12-09-2012 12:35 PM

I love these posts. perfect for us newbies.

Clam 01-21-2013 10:05 AM

As a professional developer, I can attest to the fact that submitting proper requirements to the programmer goes a very long way. I became a programmer because I like programming, not because I like reading minds or because I like interrogating people to find out what they meant.

When giving requirements to a programmer, remember the following... Be as specific as you can without telling the programmer how to write the code. You want to give the coder as much info as you can. Invariably, you will miss something. I don't mind asking a few questions about an assignment, but when I get a vague requirement that forces me to do all the legwork figuring out what is required, it always starts the project on a bad foot...

missingleak 02-20-2013 04:51 PM

Worth reading! thanks :thumbsup

waltgator 03-26-2013 02:40 PM

good post, now i know my old programmer wasn't good, he didnt match up to some of the "How Do I Know if a Programmer is Good or Not?" rules
:thumbsup:thumbsup

whtdrgn 03-29-2013 07:01 PM

Great information.

InfiniteTech 07-18-2013 10:39 PM

I don't think this applies just to the adult industry. Any webmaster across the industry would appreciate it.

Cheers for the info!


All times are GMT -7. The time now is 06:59 PM.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
©2000-, AI Media Network Inc