Analyzing the Value of a PHP Programmer

Written by Chris Roane
Learn how to analyze the value of PHP programmers or reflect on your own PHP career.

PHP programmers come in different shapes, sizes and colors. Some have college degrees, others dropped out of high school. But what makes a PHP programmer valuable? Are they too risky? What should you look for in a PHP programmer?

Over the years I have come across PHP programmers from different backgrounds. I’ve seen some do very well, and others fall flat on their faces. One unique element about PHP programmers is that they vary in quality more than most other programming professions.

Keeping your work safe is important. Consider the information assurance training to learn how to design and implement systems from internal and external threats.

But let’s go deeper into the rabbit hole…

PHP Programmer Traits

Which of these traits are the most valuable?

  1. Writing awesome PHP code.
  2. Writing PHP code fast.
  3. Reliability and dependability.
  4. Lots of experience.
  5. Being profitable.
  6. Communicating well.
  7. Being humble and not arrogant.
  8. Understanding complex systems and methodologies.
  9. Managing projects and team members.
  10. Accurately produce time estimates.

Below is how I look at the above list…

PHP Traits that Are NOT Important

#1. Writing awesome PHP code.
#2. Writing PHP code fast.
#4. Lots of experience.
#8. Understanding complex systems and methodologies.

Traits EVERYONE Should Have

#3. Reliability and dependability.
#5. Being profitable.
#6. Communicating well.
#7. Being humble and not arrogant.
#10. Accurately produce time estimates.

Traits that go OUTSIDE of PHP Programming

#9. Managing projects and team members.

But Chris….Why?

Since PHP programmers tend to be logical, let us look at this from a logical perspective. Take a look at these PHP programmers:

PHP Programmer #1

- Graduated from College
- Very Smart
- Very little Experience
- Very Arrogant
- Can write very complex code.
- Communicates horribly and has horrible people skills.

PHP Programmer #2

- Ton of Experience
- Very Smart
- Very Arrogant
- Changes jobs every three months.
- Can write very complex code.
- Communication skills could use work.
- Writes code very quickly.
- A very good worker when they are working on something they are interested in…otherwise they have a hard time keeping focus.

PHP Programmer #3

- College dropout.
- Some experience.
- Very good worker.
- Reliable.
- Takes criticism well.
- Goes out of his way to not make the same mistakes over and over again.
- Pays close attention to what he has done so he can more accurately estimate his time.

Which of these programmers would you hire? Which one do you want on your team?

PHP Programmer #3 may not be able to write the most complex code, and he may not immediately be able to write PHP code fast, but he has a TON more potential than the other programmers. PHP Programmer #2 would be valuable as well if he would settle down and learn to be a good worker, even on the projects that aren’t super exciting. PHP Programmer #1 has potential, and most likely has more core programming knowledge than the other programmers, but doesn’t realize how “not valuable” a college degree is when it is by itself.

When I look at PHP programmers who are not successful (meaning…they have consistent problems at work or are constantly changing jobs), most of their troubles are caused by not doing well with the traits that EVERYONE should have: reliability, trust, time management, communication, working hard, being humble and learning from your mistakes.

Don’t get me wrong…the ability to write complex PHP code and write it fast is a good thing, but it is not worth having these traits if you are an asshole, arrogant or if your communication sucks.

I also think a lot of business owners assume that every PHP programmer should become a project manager. This assumption is incorrect because most PHP programmers who are of the “programmer type” are not the best people to be talking with customers. It is kind of like sending your ten year old daughter to meet with a client…it is not worth the risk. That being said, there are exceptions to this rule. Personally I use my project management experience as a sugar coated topping to my abilities as a PHP programmer.

Remember there are always things we can improve on, regardless of where we are at.

Do you agree with my analysis?

Photo and Image by Jacob Bøtter

Did you like this article?

Enter your email address below to get notified when the site is updated. Or you can always subscribe to the RSS Feed.

Please help us spread the word about this site by tweeting, digging and sharing this article around the web (see the buttons immediately above).

Friday, March 26th, 2010

50 Comments or Pings to Analyzing the Value of a PHP Programmer

  • must says:

    Very informative post. I was always wandering how to be come more valuable as a php developer (not an expert but I’m learning more and more every day) and this article practically gives me a pretty good idea about that :D . In the example of php Programmer #2 you mentioned the problem of working well on projects that are exiting and not being able to focus on something that doesn’t really intrests them, I’m kind having this problem right now, is there any thing I can do to change this?
    thanks

    • Chris Roane says:

      You can’t expect that everything you do in a job is going to be exciting, or is going to be something you want to do 100% of the time.

      The key here is keeping things balancee. If you are constantly working on things you hate to do all the time, than you are either 1) in the wrong job or 2) you need to communicate this to your boss.

      A lot of the valuable experiences that I learned in my career came from working on projects that I wasn’t particularly excited about. For me, I learned that the excitement comes from completing a project on time and on budget. So that is what partially fuels my fire.

      Good question!

      • must says:

        The main reason I choose programming was and still is the excitement I get from solving problems in a logic way (the harder the problem the more excited I get) and finding better solutions to those problems (I think a lot of programmers have this, right?).

        So having said that, working on projects where I’m mostly reinventing the wheel or where the project is just not exciting then I think it comes down to the other motivations : learn new things, earn more experience, money can be a good motivation too and maybe turning completing a project on time and on budget like a challenge(I will certainly try this).

        ps: I’m 17 and I started taking seriously this passion of mine to programing particularly php (along with javascript) a year ago (although I started discovering it from the age of 14) since then I started learning more advanced techniques / methods… in PHP) and the reason I mentioned the problem is that I recently started working on a relatively big project (paid) with a friend and the problem I stated above came up.

        • Chris Roane says:

          Large projects can be the most difficult to work on. But, it also feels really good when you get through them. Kind of like running a marathon, and realizing that you just ran….well, a marathon.

          There are actually very few projects that are work related that I get overly excited about. I’ve become very goal oriented, and so the excitement I get from my job is when I meet those goals. Improving profitability, efficiency and effectiveness have become part of my goals…and this is something that employers LOVE (for good reason).

          It is good that you are starting to think about these things at a young age. You will have a huge advantage over your peers if you can follow the advice in this article! And believe me, you will see your pay increase.

          • must says:

            Well, Thanks for the advices, I’m sure they’ll be very handy in the future, and again nice article. And by the way I’m glad that I have added you to my rss feed list.

    • No matter how much you love what you do, work at times will just be plain old work. There’s no formulaic approach to handling this problem (though I know we programmers just LOVE formulaic approaches to everything.) The way to get over the boredom is sheer will power. Will power is a personality thing. If you want to be able to accept tasks that are boring or daunting, you have to fix your motivation in OTHER places of your life first. If you can’t make yourself take out the trash, you can’t make yourself create the “boring” code. Similarly, if you can’t make yourself do your homework, brush your teeth, clean the dog, whatever, you will not have the discipline to sit down and take care of the boring stuff. Will power is connected between all aspects of your life. Every little thing you do can hurt or help your work ethic.

      • Chris Roane says:

        Great description! This is actually where I see the value of schooling come in. It isn’t necessarily about having the best grades, but if you develop a great work ethic in college, you will be ahead of your peers outside of college. It is surprising to me how rare this characteristic is in a lot of PHP programmers.

  • Hell yeah I agree with this post.

    And I 100% agree about the college degree. So many people think having a degree is a shoo in. The reason why I’m freelancing as a freshman in college is because to an employer, degree + experience is so much more valuable than just a degree.

    • Chris Roane says:

      With what I have seen in this industry, one year in a production web shop environment is more valuable than four years of college education. It could be that we don’t have very good schools around my area that teach this stuff well, but I’ve heard of similar results in different locations.

      You just can’t teach some things that you can only learn by going through it. I’m sure there are some great schools out there, but I have my doubts in how valuable they actually are.

      What a degree does is give you an advantage over some applicants to get more corporate and higher end jobs.

      Just to give you some background…I dropped out of college. But I wasn’t even going to college for what I am doing now. This discussion almost deserves a post by itself.

      • Learning the syntax and semantics of a language doesn’t really require school. And I agree, a degree is mostly for show. However, I think the math and logic courses I’ll be taking will be valuable.

        • Chris Roane says:

          There are a lot of valuable information you can learn in school. It is just that most of it is hard to directly transfer into a job….especially right after college.

          For example…in a project where you have [xx] hours to complete it, implementing the best code or most complex code may not be an option (the code they would have taught you to right in college…or the methodologies). You will have to determine which corners to cut to meet the budget and timeline of the project.

          If I was teaching a PHP pogramming class in College, I would specifically focus on the most valuable characteristics that makes a web programmer successful: balancing quality with speed, and learning what works best in scenarios where you don’t have unlimited amount of time to work on it.

          • I’ve never heard a professional programmer say that there is ever a time to intentionally not make the best code possible.

          • Well Chris, that sounds more like a problem of not estimating your time correctly.

            I recommend this post about this guy who listed 10 things we wish he knew as programmer 10 years ago, and #1 was over estimating the time.

            ;)

            Tight budget and tight timeline should NEVER go together, ESPECIALLY if you are in a busy freelance environment.If you’re like me and just taking what you can get, sure,that’s fine until you’re established and have steady work. But if you HAVE steady work and value your time at all, you should never take the “I want it done now and I want it done cheap” people. Either you up the budget, extend the timeline, or tell them “too bad, find a starving college student that’ll take anything he can get.”

            And you should fix that reply limit if you’re going to keep on popping out awesome threads like this ;)

          • Chris Roane says:

            I’m glad someone is reading my articles! :)

            I agree with everything you are saying, it is just not something that you can “know” how to do. It takes a lot of time in figuring out how long it takes you to do things. It is something that can only be learned through experience.

            I agree with what you are saying. I think we are saying the same thing in different ways.

        • Chris Roane says:

          I can’t seem to reply to your latest comment…must be a limit to the depth.

          You are right, that coders never intentionally write bad code. It always ends up being unintentional. But using the best and greatest code often times is not an option in a project that has a tight budget and timeline. It is hard to explain unless you have been in a production or busy freelance environment.

          I’m not saying this is optimal, but this is just how life is. If you tell a client it is going to take 10 hours, and it takes you 30 hours, you either have to eat that extra time yourself, or bill the client. If you bill the client…they are going to be pissed.

  • Liz Q says:

    Totally agree, nothing worse than having a know it all, think up some awesome amazing idea, then leave when the project is 90% or take 5 times longer to impliment it.

    • Chris Roane says:

      That is the interesting thing…no matter how much experience we get or how smart we are, there is never a point where we can’t learn something. That isn’t to say that we should be pushovers all of the time, but it makes a way better atmosphere when the whole team realizes that none of us are 100% perfect.

  • Nick says:

    A good PHP programmer is one who doesn’t consider themselves a PHP programmer. PHP is a tool, not a religion.

  • job says:

    It may seem that the definition of complex is either vague or ambiguous. Moreso when desiring tons of experience.

    Although there are some good points some of “traits” of developers here. It does make me wonder whether and why mention of seeking the right developer for the job is not mentioned in the same breath.

    For me, at the end of the day, in the field we’re in, someone who is #3 just doing a job bashing the keyboard rehashing the same old code and limited potential to do more than that is the wrong person for certain positions, but maybe right for others.

    Sure mundane work has to be done, but those who know and like what they do, also know how to handle/balance the dealing with the code they don’t like just to make time for the code they do – e.g. eat all the veggies first and leave the meat till last.

    In my day PHP was not even a language mentioned in college. So a hot headed graduated high on graduating is fine, if its it not the right position for them them, so be it, but fresh thinking should never be scoffed either, if its the right position, let them flourish and or mentor them (for <?PHP).

    • Chris Roane says:

      Job,

      The main point of the article was to generalize the programming position. I understand that this is risky in that this is not always the case, and there maybe times where #1 or #2 are more desirable than #3…but in my experience in a production environment, I would take #3 over the other candidates any day….especially when you look at it as an investment of time.

      The positions I’ve had as a PHP programmer have been very dynamic, and the right person for the job is usually #3 because they will get better over time and aren’t nearly as risky as the other candidates (in this scenario). How you describe #3 is exactly the opposite of how I picture this person: “…someone who is #3 just doing a job bashing the keyboard rehashing the same old code and limited potential to do more than that is the wrong person for certain positions, but maybe right for others”. I just don’t see this person staying at the same spot very long.

      I agree with your point on the mundane has to be balanced with the desirable.

      It is my experience that a hot headed graduate is not typically someone you want on your team because they are not teachable. This isn’t to say that there isn’t something you can’t learn from them, but their integration into the team will be limited by their arrogance…which hurts the company.

      Thanks for sharing! You definitely made me reflect on a few things. Feel free to rebuke me if you think I am wrong. :)

  • I think I can see the point you’re trying to make here in that you should look at people skills and how well the programming interacts within the team as a key-factor when hiring. However, you can’t just dismiss experience and say it’s not important as you do here.

    Experience is a key factor when hiring someone because the programmer will have faced most problems before. They’ll understand security issues and performance issues and know when to take certain design decision.

    I’m not saying don’t hire inexperienced people, as there’s plenty of junior/trainee roles out there but unless you have the safety blanket of an experienced team to help at all times and make sure they are making the right decisions then hiring them is not a great decision.

    • Chris Roane says:

      I’m not totally dismissing experience. Experience is very important and obviously has its’ place. It just is not as important as the other items, IMO.

      If you have someone who has a lot of experience, but they aren’t easy to work with and they aren’t reliable, I don’t want em. If you have someone who has a lot of experience and did great in high school, but they can’t come into work on time or they are not honest, I don’t want em. Again, this isn’t to say there isn’t a place for people like this in a company, but when looking at time spent with an employee as an investment, the time is not worth the cost.

      I’m also not saying strictly focus on the inexperienced people either. Even if you do this, over time you will have people who will have valuable experience under their belt.

      This was meant as a birds eyeview in what I believe are the most valuable traits of PHP programmers.

      Thanks for sharing!

  • Chris Henry says:

    1) Interesting developer #3 was a college dropout. There seems to be a pretty strong backlash against php devs who graduated from college. Just sayin

    2) I think you left ambition, drive and willingness to learn off your list of desirable traits. In general, people with strong goals and the drive to achieve them will often outperform. Although you could rephrase ‘Being profitable’ and some of the last traits from developer #3 as willingness to learn.

    • Chris Roane says:

      1) I don’t like to generalize, and this was meant just as an example that went to each side of the spectrum. It is not safe to generalize across the board though. You have to look at each individual case.

      2) I agree, that drive/ambition should have made the list. Being teachable usually comes with being humble (but it is worth mentioning).

      Thanks for sharing!

  • Romulo says:

    I will choose college education + experience.
    That’s the best but not mentioned above.

    Not all programmers are arrogant, most are even quiet.
    No one wants an arrogant employee,
    I’d hire the one with a college degree, and a good
    level of experience.

    • Chris Roane says:

      I agree that those can be a really great combination, but I don’t know if I would agree with that.

      It is really a case by case scenario, but I have never met anyone who regretted getting 4 years of experience in a production environment instead of going to college. However, I’ve met a lot of people who have college degrees who are not nearly use productive and useful as the other employees.

  • php tuts says:

    Hey chris. really a nice post. I also met php programmers from really different backgrounds. But its really necessary that a programmer should be very very perfect with the logic and I believe is smart work rather than hard work. So trust the productivity and not the handwork n coding style n all that.

  • Gracey says:

    Hello!
    Good Day! I’m also a PHP programmer. And Attitude is still the best than being a best programmer but so arrogant.

    Good Working Attitute on a company is yeah a high degree of education. Like the attitude of being humble enough, is still the best than a knowledge or skills w/in us. It is a gift from the HIGHEST, that infront of him, nothing to be boast for.

  • PHP Tutor says:

    I think experience and good code writing skills are all that matters. So what if personal skills arent there? The job still gets done and it gets done fast. I wouldnt think too much against someone who lacks personal skills.

    • Chris Roane says:

      No offense, but personal skills are very important. How you communicate with others and how well you listen and understand the requirements are very important. You can be the smartest programmer in the world, but if you lack personal skills, that limits your value greatly.

  • cabal says:

    And I was just about that too!

  • kapil says:

    Hi All,

    Really nice post and analysis of chris.

  • Really nice post and analysis of chris.

  • mayank says:

    sorry sir but i am not entirely satisfied you degree does not matter you can get job easily with the help of degree nothing else does mark zukerburg ,bill gates ,waren buffey ,steve jobs have any degree nup

  • Kenny Fowler says:

    I agree totally that arrogance is an undesirable trait among programmers (and IT people in general). Someone might be able to write complex code quickly, but if they’re a pain to deal with or manage, their value diminishes just as quickly. As an IT person mysql, I think everyone brings their own skills to the table and the tendency among some IT people to think that IT knowledge makes them somehow superior to everyone has always bothered me.

  • Kenny Fowler says:

    uh, I think I meant “myself” in my previous comment, not mysql. Sorry ;)

Trackbacks & Pings

Leave a Comment or a Question

CommentLuv badge