Interview Tip: Avoid Mentioning PHP Frameworks

By | March 19, 2012

If the job description does not mention “Framework X,” you should probably avoid answering that you use “Framework X” to solve the problem presented to you by the interviewer. If I ask you to perform a simple task, such as parsing a string in a well-known format, saying “Framework X does that for me” is likely to be seen as a negative.

You should be able to do the simple things in PHP itself (e.g. parsing strings). As interviewers, we generally care about your proficiency with the language, not with how much you like the framework of your individual choosing.

Saying that you use a feature of “Framework X” for simple things is a negative. It sounds like you’re dependent on that framework for basic tasks. That means we (the employers) will need to train you how to do it without that framework, and that’s a hassle for us.

One caveat here is that if the employer has already specified that they use “Framework X” then they probably do want to see that you’re familiar with it. Alternatively, if you are going to be the only person on the team, you’re also probably fine. But in collaborative, team environments, it is unlikely that the employer is already using the framework you, individually, prefer.

13 thoughts on “Interview Tip: Avoid Mentioning PHP Frameworks

  1. Jeff

    It’s also a good idea to explain a non-framework solution first and then add, “Or it could be accomplished using X in Framework Y,” if you know the project uses or might use a framework.

    Reply
  2. Mark Story

    I think there is some value in having a candidate say they would use a library to solve simple problems. I’d prefer they spend their time solving the hard problems, and use established libraries/frameworks for doing simple tasks.

    Take for example preventing SQL injections. What scares you more, that a developer uses a library/framework to prevent that, or that they wrote their own?

    Reply
    1. pmjones Post author

      @Mark Story: What “scares” me is that candidates rarely know the actual PHP functions for escaping data going into an SQL statement, or for binding data into a prepared statement. Or, for that matter, that they cannot describe why it’s necessary. These are candidates representing themselves as *senior* developers.

      Reply
  3. Duane Gran

    I’m going to be a little contrary here and point out that a framework-based answer is nothing more than a layer of abstraction. If you asked the candidate how to find if an item was in an array the right answer, my most accounts, is using in_array(). They could write their own version of QuickSort, BubbleSort or whatnot (usually involving iterating n entries) and search the array like a proper neckbeard programmer but usually that isn’t important.

    Your point is clear about how frameworks can be a crutch but I wouldn’t fault someone for being a step too high in abstract thinking as long as they can step it down when needed.

    Reply
  4. pmjones Post author

    @Duane Gran:

    You said, “If you asked the candidate how to find if an item was in an array the right answer, my most accounts, is using in_array().”

    I completely agree. In fact, I *do* ask this question (or something similar) to see if the candidate actually knows relevant PHP functions. It’s an indicator of how much “extra” work the person will tend toward doing when PHP functions already exist for it.

    And to be clear, frameworks are not a “crutch” any more than using power tools are a “crutch” when building a house. But for simple questions, one should be ready to give simple answers, not drag in a framework at the earliest opportunity.

    Reply
  5. ellisgl

    Kind of like like ORMs/Active Record/Query Builders and “GUI” SQL tools for some of our questions. I want to know if you can add users, assign rights and and flush their privileges via a command line, since you won’t might now have access to these tools when you are trying to fix a down system.

    Reply
  6. cordoval

    not really, using a framework can be also abiding to good standards or to know the right way of doing things so it depends. It is a parameter, it does not decide for every case that is bad or good.

    Reply
  7. Pingback: Rocking Your Job Interview | BrandonSavage.net

  8. umpirsky

    I must disagree here. I can proudly say I use XHML parsers rather then reinventing the wheel, which does not mean I don’t know how to parse data or to sort an array. People which always reimlpement native things usually deliver crap and it takes them hours for a simple task adding unnecessary complexity to the project and possible bugs. I prefer to solve real life problems rather then reinventing the wheel.

    Reply
    1. pmjones Post author

      @umpirsky: I don’t mean parsing something complex like XML or HTML; I mean parsing something like, say, tab-separated values.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *