PHP Classes


Recommend this page to a friend!

      PHP Classes blog  >  Talented Web Develope...  >  All threads  >  Disagree  >  (Un) Subscribe thread alerts  
Summary:Good PHP developers are rare
Author:Burton Kent
Date:2011-11-30 17:31:33
Update:2011-12-22 18:37:55

  1. Disagree   Reply   Report abuse  
Picture of Burton Kent Burton Kent - 2011-11-30 19:36:53
I'm going to have to disagree. All of my developers can work from home, I outsource a lot and have hired many developers for projects. I've only retained a few for ongoing work.

The problem is threefold.

First, there are a lot of mediocre or bad developers out there. It seems a lot of people learned to code by tweaking existing code. They find an example and work from that. That's fine - I started that way.

But when it's time to create something new, they can't. I call these people tweakers.

Second, a lot of coders aren't detail oriented. I'm not their mom or teacher. I shouldn't have to check their work like someone checking homework. But too many people just get something partly working, then don't try to find the cases where it DOESN'T work. And there always ARE cases it doesn't work. I've been guilty of this myself. The only fix is to have slight paranoia - a mindset that something is wrong. Assume your code is wrong, but you don't know it yet. Only when you've satisfied your paranoia is it really done.

Third, the good coders usually already have a job. I'd be happy to pay more than the going rate if they're good. I -want- to pay more than average, because above average people deserve it. But so far I've only found a few above average people.

Thanks for pointing out your job board - I'll have to take a look later.


  2. Re: Disagree   Reply   Report abuse  
Picture of Manuel Lemos Manuel Lemos - 2011-12-01 09:51:21 - In reply to message 1 from Burton Kent
Right, the article was not saying that talented developers are abundant. It only says that if you are open to accept candidates to work remotely, you have greater chances of finding more talented developers than if you restrict to those that accept working at your office.

As for code that is not working, that can be addresses with test driven development. Basically you need to produce test scripts that evaluate if the code generates the results you expect for given inputs.

Test scripts are good regardless of the level of competence of the developers you hire. Good developers also screw up.

Producing test scripts upfront is an added cost, but that is the cost of quality. There testing frameworks that can help reducing your costs of producing tests.

You may avoid doing test scripts for every little feature, but for critical features is mandatory, especially those that deal with things that cannot fail, like those that deal with money.

As for your third point, the point of this article is to open your mind and realize that good developers are employed in companies that make them happy.

For many developers, being able to work from home makes them happy, but since not many companies allow that, many good developers value the few companies that allow them to work remotely.

As mentioned in the article, some even do not mind getting a salary that is probably lower than what they can do working for a company in their offices. So, just try offering remote job positions to candidates that show the qualifications you want.

Another tip is that the PHPClasses site jobs section is tied to the PHP professionals directory section. This means that when you post a job in the site, it will notify all developers that match the required qualifications.

The detail is that some of the developers in the PHP professionals directory listed as featured are in reality developers that earned lifetime premium subscriptions for having been nominated to the PHP Programming Innovation Award organized by the site every month.

Other developers listed as featured are commited to invest in their careers, so they became premium subscribers. In either case, those are developers that show a greater level of commitment.

The tip is that you aim at those developers. You can do that either going on the PHP professionals directory page and search for the developers with the skills you want. The featured developers will appear first in the results. You can contact those developers immediately without having to pay for a premium subscription.

Alternatively you can post a job offer in the PHP jobs section and those developers will be notified first to apply to your job. Either way will help you to contact more skilled developers easily.

  3. Re: Disagree   Reply   Report abuse  
Picture of dennis richards dennis richards - 2011-12-01 10:15:05 - In reply to message 2 from Manuel Lemos

As a developer of over 30 years experience I see both sides of the coin. The biggest problem may well be the way this employer actually structures his work and remuneration, how he looks, what he considers. For example I once saw an ad for a job requiring '5 years experience' in a product that had been out for three months! I have employed many as well as being employed and thE most important thing is attitude. Skills can be acquired. Attitude cannot. Whilst I work from home all of the time now, I am working for people that I have worked for for years. I have applied for some of the jobs advertised , but I have stopped bothering. Many of the 'idiots' , (yes idiots) who advertise here obviously do not want someone of my 'age'. I am happy to negotiate rates , and I am happy to work on a 'pay by results' basis, on the inderstanding that you only pay when you are happy. I have done this many times and it worked well in the past. Not now. Partly it is the 'I have to see you to think you are working' attitude. Partly it is the 'I can get a cheap youngster' attitude , (I like to think I am very cost effective, you only pay once and that is when it is working to your satisfaction), perhaps partly people are scared, younger managers not realising that we actually had computers and coding before 1990, (us old 'uns had to program efficiently as the memory we had available was typically 4K with a 2MB disk!).

Well thats my rant over - back to work!

  4. Re: Disagree   Reply   Report abuse  
Picture of Burton Kent Burton Kent - 2011-12-02 01:18:40 - In reply to message 2 from Manuel Lemos
The article made it seem like letting people work from home would be a great solution and make a huge difference in hiring people. It's not and it doesn't.

The way you write makes me thing that you believe that most coders are like you or the people you meet through phpclasses. A lot of people are not conscientious enough to work from home. They'll slack off as much as they can. Only the people like you and coders on phpclasses who take PRIDE in their work are really suitable for remote work.

You may not realize this, but you're special. And most of the people you interact with are also special and highly competent.

What I didn't say is that I am a PHP developer. Probably in the top 5% of all developers - I do serious object oriented coding. Have worked for a couple firms in Chicago, Where I am now has the most object oriented PHP code I've ever seen. It's well engineered but has a steep learning curve.

We're interviewing for people who can do OO php. Most can't. At most 1 in 6 of highly selected candidates can actually properly subclass objects. (We have recruiters working for us and do not have the general public applying. General public would be much worse.)

As for testing, if I'm going to write the tests I might as well write the code for them. I've never seen anyone write good coverage for an MVC framework. You can write good test code for libraries, but I've yet to see any examples of good test coverage for MVC.

And what I'm talking about isn't even complex coding. I'm talking about simply checking your work. For example I had someone work on Wordpress themes with the instructions that the themes must work as soon as they're activated. No settings should need to be set.

Even after the second time I pointed out that the theme needs work, he still sent me a non-working theme. This isn't something that can be checked via unit tests. You really DO have to assume what you did isn't working.

I'm an awesome person to work for, BTW. Everyone that I've found that's good is very happy working for me, and paid more than they probably can get elsewhere. I will happily pay almost twice as much for someone that I don't have to "babysit" as I explained before. It's not enough to be a good coder - you have to have attention to details.

Thanks, yes I will be looking for other developers in the job boards. But no, I don't think there's as many good coders out there just waiting for the opportunity to work remotely as your article seems to say.

  5. Re: Disagree   Reply   Report abuse  
Picture of Manuel Lemos Manuel Lemos - 2011-12-02 04:41:00 - In reply to message 4 from Burton Kent
There seems to be a misunderstanding. I never said or implied that being allowed to work remotely will turn mediocre developers into awesome developers.

The point of the article is to make employers be aware that if they narrow the search for talented developers only to those that are willing to work in their offices, they are wasting a huge opportunity to hire very capable people that would be interested to work in their companies but for some reason cannot or do not want to move to the region or country where the company is based.

You always have to filter your candidates, regardless if you hire them to work locally or remotely. That is common sense.

As for testing, a couple of points. First, you do not have to be the person that writes the test. You can just hire a qualified test engineer to do it if you can afford it. Writing tests is boring for most developers, so they do not write them at all. But those that have the qualification and vocation to do it, will create a lot of tests in a short period.

The second point is that for user interface related matters, like for instance themes, the proper way to create tests is to use tools like Selenium.

It will record the user interface interactions on real or mock user interfaces, so it can play them back again any time later, to make detect whether an user interface is compliant with what you expect and it was not broken by a developer.

I am not say that it is easy, not that it is fun, but it will save you time assuring the quality, especially of large projects that cannot fail.

If tools like selenium do not satisfy you, you can also hire a human tester that will do that job for you.

Of course all this costs more money, but as I said before, it is the cost of quality. I agree with you that it would be better to hire qualified developers only so they look at those things autonomously and only deliver well tested applications, but keep in mind that qualified developers also fail.

Anyway, if you doubt that there are really much more talented developers out there if you are open to remote working, just send a test job posting and evaluate the remote candidates to reach your conclusions.

  6. Re: Disagree   Reply   Report abuse  
Picture of Federico Franco Jaramillo Federico Franco Jaramillo - 2011-12-02 18:19:48 - In reply to message 1 from Burton Kent
I agree that most programmers and also designers don't pay attention to details and software quality is much about that.

I worked for 10 years in a small web development company where I owned a share of it, I was the project manager and had to deal all the time with non committed programmers and designers, who deliver cheap code and don't care about it.

But I have to say that it was in part my partners fault, they were of the thinking that hiring cheap employees they were cutting costs so the profits were going to raise, what a stupid is this way of thinking, and I was the one who had to deal with the consecuences: so much wasted time on testing, correcting and babysitting again and again, so there were delays in the projects and of course not very happy clients.

So to have a good work team you have to look not only for skills but also for attitude (as dennis said), but you have also to provide motivation and this is Manuel's point. Motivation not only means good salary, in some cases working from home is the motivation good programmers are looking for.

This is my case. Having to deal with stupid and stubborn partners, slow and non-committed employees and unsatisfied clients was too much for me, so I quit and since then I'm working at home, it's going to be 3 years since then. It hasn't been easy at all, but I think I wouldn't be able again to waste hours into the traffic everyday (I live in Bogota, Colombia, heavy traffic at peak hours) and work for a company that sucks all my energy and time and leaves nothing for me, I'll do my best to keep near my family and avoid spending hours into the traffic every day.

Since I began working from home I am programming again, this is what I like the most. In my former job, although I was involved in programming all the time it was more about understanding client needs and designing the solutions (websites, web apps, hosting). But right now I fill kind of struggled because sometimes I have to accept whatever project I get, because I have to pay the bills. When I read Manuel's post I realized it is a good way to look for more interesting projects or a good job while I can keep working from home, so I created my profile.

Bottom line, I think Manuel's point is very valid, although in some way it may sound like remote programmers can save the world, that's not the point, I think he is not stating that all good programmers want to work from home nor that all remote programmers are good, but that also considering remote programmers when hiring for some specific jobs increase the possibilities to find a good one.

Although I don't consider myself a php expert I think I do it well, I have a very strong programming background as well as layered web design and CSS and a long experience in other areas of the web world like Linux and Windows servers administration. I'm a responsible person not only for conviction but because I have a family to take care of so I can't afford to be fooling around. I consider I could do a good job for a good company looking for this kind of profile if I can work from home. So I'm a good example of what Manuel means.

Just as a side note, I started programming in plain Borland Pascal at the University quite long ago. Some versions after, it introduced the first implementation I saw of OOP and could code my first objects, it was before Delphi. Those days I had the luck to do some projects in LISP and Prolog.

  7. Re: Disagree   Reply   Report abuse  
Picture of Kaurov Eugene Kaurov Eugene - 2011-12-22 18:37:55 - In reply to message 1 from Burton Kent
>Burton Kent

I whould like to work for you.
I can send you CV upon request -- just let me to know your email.

Skype: Go3DoN
+380 66 872 43 60

P.S.: Excuse me for replying here, I can't find link to message you directly.