A job interview is a two-way communication process between an interviewee and an interviewer. With all the proverbial question marks on each side of the table, it’s in both participants’ best interest to be open during the interview to solve as many unknown variables as possible.
Applying for a PHP Developer position and providing a good resume for the onboarding process leads you to a face-to-face conversation with a company specialist, which may be doomed to fail if doubt should arise on any side.
Let’s take a look at the main chapters of a classical PHP interview and how you should prepare.
When you enter the room, greet your interlocutor with a firm (not bone-crushing) handshake. Make sure your perfume doesn’t trigger any adverse reaction and that your dress code doesn’t scare the interviewer. Remember, you are on your way to enter what should be a comfort zone of communication. The process of candidate evaluation takes from 2 to 6 hours of interview, so all of these aspects matter. You want to make an impression for all the right reasons.
An interview is a validation of your compatibility with the professional environment of the industry you are about to dive into, so keep your look appropriate and your attitude professional.
Your introduction should be used to:
- Get to know the people involved in the interview
- Understand your audience’s personality and adapt communication accordingly
- Informally/formally present yourself
- Learn as much as possible about the company
Don’t underestimate this ritual, as it may either push you to the top of the candidate pile or unfortunately, land you on the bottom of the list.
Soft skills are personal attributes that enable people to collaborate effectively. They refer to aspects such as etiquette, getting along with others, listening and engaging in small talk.
During a technical interview, no one usually asks you to explain the top 10 techniques of negotiation or to define empathy, but I strongly believe that if I make the effort of asking a question that deserves an open ended answer and receive a “YES” or “NO” this is hardly emblematic of consistent communication. And, that sends a message in itself.
During the interview, try to be creative. Try to gain the interviewers’ empathy and show your motivation to work in the field you are interviewing for.
If you are asked to talk about how you manage daily tasks, keep it simple. If you have any doubt about what answer you should provide, don’t hesitate to ask the interviewer to elaborate further to ensure your answer is relevant.
When asked about previous projects, these are some common questions you can expect to hear:
- “Tell us more about your projects.” There is no need to violate any NDA, but explaining what you did, what technologies you used, and what challenges you encountered will work in your favor.
- “Tell us more about your roles.” You’ve certainly had some specific roles at your previous job that are also suited for the position you are being interviewed for. Be prepared to go into detail about what your role was on the team.
- “Tell us more about your responsibilities.” The trade-off between a geeky person and a responsible one always airs on the side of the responsible. So, don’t forget to mention what you’ve been responsible for.
Hard skills are specific, teachable things that can be defined and measured, such as typing, writing, math, programming, reading and the ability to use software programs.
Take for example, a well-defined comparison system for any interview called the Dreyfus model of skill acquisition. It is a rigid grid for measuring tech skills in different fields and may be used to match the exact needs of a project with the skills of the team.
During a PHP interview, the following areas are assessed to check the interviewee’s hard skills:
PHP is a back-end language, so this chapter cannot be avoided. During the interview the following domains are discussed:
- Core PHP – starting from language keywords up to “How to compile / write a PHP module in C++”
- ORM – starting from what an ORM is, up to the architecture and details of tuning existing ORMs like Doctrine
- Other topics covered by this field are multi-processing, multi-threading, REST API, Web frameworks, etc.
Clean Code / Engineering Practices / Tools / Testing
Don’t forget that when you enter the IT industry you are first and foremost an engineer, so you must know the best practices of engineering.
Topics discussed during the interview include unit and functional testing, OOP and SOLID principles, design patterns, PSR standards, debugging process and examples of debugging situations, app security knowledge (the minimum is to know the top 10 OWASP vulnerabilities), algorithms (you should never reinvent the wheel), other programming languages (that may help enlarge your technical vision).
Even if PHP is a back-end language, a good candidate should be ready to work with browsers and provide an overview of the following domains: HTML5, CSS3, JS=>ES6.
Data Storage and Databases
This chapter implies a discussion about database querying, creation, indexing and design. Be aware of the word “database design” – as it is related to the topic of database normalization, which is mandatory to be known at least in theory.
This is a domain that intersects very often with back-end development and basic knowledge in this area is required to be hired at a company that does Back-End development.
By the end of your PHP interview, a grid like this will be created. It shows an interviewee’s strong points and the aspects that need to be improved. According to the Dreyfus model, 5 means EXPERT level in the field, and 1 is considered a NOVICE.
If you’ve understood at least 90% of this article then you are well versed in the English language, and can skip this part.
Outsourcing companies have clients from different countries, and you’ll be put in situations where there is no middleman between you and the client. So, you’ll have to find a way to communicate effectively with them. The common approach is to speak in English, but imagine that English is a foreign language both for the client and you. This implies that knowing the language of the potential client gives you benefits in getting the project, following specifications, and avoiding classical misunderstandings.
“By Failing To Prepare You Are Preparing To Fail” – Benjamin Franklin
Don’t forget to review your knowledge in the position you are invited to interview for. It can be quite frustrating when an interviewee comes in unprepared, and the only explanation for their unpreparedness is,
“I thought we’d be discussing the offer and not my knowledge!”
Well, yes. The offer will be discussed but, before that it must be determined whether your profile matches the needs of the company or project.
A good practice is to prepare well before the interview, but the best practice is to prepare every day by dedicating 30–45 minutes of your time to brush up and review any knowledge gaps.
Another part of the interview preparation is the salary topic. When an interviewer asks you what salary you expect, don’t reply with,
“What salary can you offer?”
“I would like **$ per hour.”
“I would like **$ per year.”
Think in months. Do all salary calculations at home – don’t make the interviewer do those calculations by head during the interview. It takes several seconds to calculate the GROSS salary (the price of an employee for the company). These 2–10 seconds may be felt by the interviewee as though the employer is hesitating to give that money. Interviewers are not hesitating. They are busy trying to calculate how much **$ per hour is in GROSS salary per month because you forgot to do your homework.
Being a senior, a junior or having another ninja title doesn’t matter when you are in front of the interviewer. Every PHP interview is different, and topics vary from “What is a variable?” to “How would you create an OS in PHP?”. If you are confident your knowledge corresponds to your professional title and want to prove that – it’s not enough to outline it on your Linkedin profile or resume. Prove it during your interview! Hope all you juniors will grow into seniors and not become OLD JUNIORS with a senior title on their resumes.
Ready to attend your next PHP interview? Learn more about our current job openings.
In the meantime, you can also assess your PHP development skills by taking one of these PHP quizzes.