Interview Tip: Avoid Mentioning PHP Frameworks

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.

Are you stuck with a legacy PHP application? You should buy my book because it gives you a step-by-step guide to improving your codebase, all while keeping it running the whole time.

13 thoughts on “Interview Tip: Avoid Mentioning PHP Frameworks

  1. 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.

  2. 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?

    • @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.

  3. 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.

  4. @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.

  5. 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.

  6. 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.

  7. 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.

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

Leave a Reply

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