Archive for the 'PHP' Category

Mon
Apr
14

Hiring Developers and the Big Picture


I’ve been sitting on this for about a year and now that it has come up yet again, I just have to comment.

This got started when I got caught up in reading the recent thread on the NYPHP mailing list about interviewing developers and its reference to Joel Spolsky’s, “The Guerrilla Guide to Interviewing” (v. 3.0 10/2006). I discovered that he actually wrote a book on the topic as well (don’t click the link, please).

I don’t know how to say this any other way: All these people got it wrong.

If you read through the threads I’ve linked to, you see that this quickly becomes “me too” party where everyone interjects their criteria/question as to not feel inadequate. So, whats the best answer? There is none, but here are my thoughts on the issue:

  • Every situation is different. Since every place of employment is different, a standardized test won’t help unless you are doing things in a standardized way. My experience: as much as well all crow about wanting standards, engineers generally don’t - unless it was their standard, of course.
  • You don’t always want the Alpha. I see the discussion go from a request for a junior developer to questions for veterans. This is not a car, where you are hoping to get a Ferrari for a Chevy price. These people need to fit in and grow with your organization. If you manage to get an “expert” for that junior position, they are just going to leave, so don’t bother. Rather than looking at how much you can spend on this new hire, you should be looking at what you NEED for the company to grow. Hiring a junior person is really for backfill (or if you can’t afford a senior person) so the requirement needs to be different, as well as the questions.
  • I won’t get long winded, but rather than fun algorithm tests that only prove if the user has seen the latest parlor tricks, you need to assess their experience, skill level, and THEIR goals. All of this fun should be done at the phone screen level, so when they are here in person, you should seriously be considering them. So, do this:

  • Read their resume, go in and start talking to them. Ask them about their resume and items
  • As you go through each item, as them in detail about it. If you are experienced as you think you are, you should be able to delve pretty deeply. This also conveys to the candidate that simple BS isn’t going to work with you
  • Give them a problem to work on and see how they tackle it. This is open-ended, and you should see technical knowledge mixed in with a get-it-done attitude.
  • The last one is pretty important. You really don’t care if they can solve the carnival game you gave them at the interview, you really care if they can handle whatever may come at them in the future. I think this is the part that people don’t get. Language, platform, etc, don’t really matter at that point. If you are looking for a true expert, you need to look for the traits that one displays:

  • Technical experience: not syntax, but concepts
  • STRONG communication skills. This is a deal breaker. They can’t speak and write, they are out. No matter the position.
  • Roll with it/Get it done mentality. You should be looking for that person to consistently try to solve the problem, coming at it from different angles and won’t stop until it is fixed or they re-assess the problem itself (IMO it takes a real expert to see this).
  • So, make a pot of coffee and sit and have a chat with the person. You’ll never know what you don’t know without it.

    Sun
    Sep
    11

    Zend Certified Engineer Exam


    This past week I became a Zend Certified Engineer (WooHoo!) and thought I would share my experiences about the process and exam. There are plenty of people who have done this before, and have recounted their experiences, so I’ll keep the standard stuff to a minimum, and try to focus on things that I haven’t read anywhere else.

    On the zend website, back in August, they were offering a $75 discount (which I believe is still being offered), so I decided I would give it a shot. My reasons for doing so are two-fold: As many of you know, I’ve been using PHP professionally (read: daily) since version 3.0.5, so I figured I this would be a “capstone” to my experience. Plus, I believe in the corporate future of PHP, and the proliferation of certified professionals is only going to help that. Those who know me know that I’m not a certification junkie, and although I remain neutral on the whole “its just a piece of paper” debate, it is nice to see this available and legitimized for PHP folks.

    Back to registration, basically, you paid through Zend, and they send you a voucher via email. You then go to pearsonvue.com website and choose the time and location you want to take the test. I left myself about a month to study, knowing fully well that I probably wouldn’t have time to study until the last moment (the born procrastinator that I am!). I know myself well, because that’s pretty much what I did. :-)

    To some up the stats on the exam:

  • The entire exam is taken on a computer, in a lab, potentially with other students taking other tests
  • 70 questions, 85 minutes, your score, and the number of correct questions needed to pass is NOT public info
  • Multiple Choice (possibly with multiple answers, eg: “choose three”), true false, and fill in the blanks
  • A study guide and practice test book are both available, and I HIGHLY RECOMMEND BOTH!
  • Test Price: $200 (mine was $125 with the discount mentioned above)

    So, what’s on the test? Here’s where my accounts differ from others:

    As I studied for the test, and even as I took it, it became increasingly clear as to the objectives of the test authors. This is not a standard memorization exam. You won’t have any questions that require you to memorize something otherwise useless. I can now see how much of a challenge this was. Why? Because, in the general learning and understanding of PHP, you learn lots of other things that about the web, your, platform, tools, libraries, databases, etc. that THEY CAN’T ASK YOU on the exam, because it is a PHP exam, not a “Web” exam, not a “Database” exam, and not a “Linux or Windows” exam. Does that mean that there aren’t any database, platform, etc. questions on the exam? No, but it means that the questions are related to your understanding of the topic at large, and not a tiny detail about the 4 parameters of a function.

    Now that I’ve been through it, I can see some of the thought processes that the authors went through. They tried hard not to make this an exam that didn’t prove anything, and instead created an exam which very accurately proves your experience level. What they must of done was recount their progession in learning about PHP, and recorded it in timeline form. When you look at it that way, you can see that most of us probably followed the same path. For example, one of the first things you probably did was to learn about form handling. Very soon after, you got into databases. Then email. File Uploads. Reading/Writing to Files. Objects and Arrays. Regular Expressions, etc. Maybe then, you got into Sessions and Cookies. Finally, as a developer with a 1 or 2 of experience, you started really thinking about more advanced topics, like security, software patterns, advanced configuration and debugging techniques. They did a good job of this, IMHO. You’re really not going to do well on the exam if you haven’t had these experiences firsthand, so I doubt the training schools are going to latch on to this test.

    Ok, but you want more. What’s really on the test? Where the test can bite you, and where the practice test book and study guide really come in handy are in helping you determine “what really happens” scenarios. We’ve all looked at plenty of code and can see why something is wrong, but the question is, WHAT is going to happen. You have an array with various keys, what’s the next key going to be and why? You have a complex equation, with all sorts of operators, including bitwise and logical, what’s the precedence?

    You’re also expected to understand configuration issues, on both Linux and Windows. Why? Because the average developer with the right amount of experience will be asked at some point to move their application to another platform - guaranteed. See what I mean? They’ve gotten into the heads of the experienced developer and quantified it. Again, I feel they did a good job on that.

    Is it “worth it” for you to get certified?

    I have a general habit of doing things that “aren’t” worth it. I’m also a notary public, which is handy for friends and family, but it’s not like I’m going to retire off of it, so you’re probably asking the wrong guy.

    So, Tom, are you now a shill for Zend? Are you moving to change the name of LIPHP to LIZEND?

    No, but I am certified, and am pretty happy about it. I learned alot by studying for the exam, and it certainly wasn’t a breeze, but I was well-prepared. The forums at phparch.com state that no one has ever gotten a 100%, and I believe it, as there were definitely some questions that I didn’t know the answers to myself. But, if you have the experience and study hard, you’ll find the test to be challenging, but very fair.