This blog answers questions such as, what questions do I ask in a technical interview? What skills do I check for while hiring a PHP developer? & so on…
PHP is undoubtedly an omnipresent language on the web today. Although it has been around for quite a while, it still has the chops to dominate the web development space for years to come. Therefore, regardless of whether it’s a small or an enterprise-level project, PHP remains the ultimate choice of every organization in the need of a robust, scalable and customizable website or application. However, PHP is a scripting language that is just a means to an end, the ultimate success lies in selecting the right PHP developer who can bring you good results with optimum agility.
However, choosing the best from the rest in a large pool (5 million+ PHP developers!!) is a daunting task, especially if you’re a non-technical person. In addition, there are several other factors that influence the decision on PHP hiring – experience levels, technical capabilities, budget, etc.
Chances are that you’ve stumbled upon this blog while looking for answers to these and many other critical questions such as: What questions do I ask in a technical interview?, What skills do I check for while hiring a good PHP developer?, Where can I hire a good PHP developer? And so on.
This blog will give you answers to these questions and many more. To begin with, let’s first understand the basics.
Who Is a PHP Developer?
In simple terms, a PHP developer is a web developer who writes, tests and maintains code for web pages, programs, and applications using the dynamic scripting language PHP.
What Makes a Good PHP Developer?
A good PHP developer goes beyond writing, testing and maintaining code for web pages and works on projects of varying levels of complexity. This requires a good amount of analytical and problem-solving skills. Additionally, a good PHP developer collaborates with several other skilled developers and creates various applications and also does troubleshooting whenever required.
He/She usually has hands-on knowledge of most PHP frameworks such as Laravel, Yii, Codeigniter, Zend, Symfony, Kohana, CakePHP, Joomla, etc.
Here is the basic checklist of skills that every good PHP developer must possess –
- Knowledge of PHP programming language;
- Working with SQL / MySQL databases;
- Knowledge of HTML and CSS;
- Knowledge of control systems (SVN / Git);
- Experience with frameworks like Laravel, Symphony, YII2;
- Hands-on with CMS like Drupal, Joomla, WordPress;
- Knowledge of OOP (object-oriented programming).
Where Do You Find a Good PHP Developer?
There are several places where you can find a PHP developer on hire. However, choosing the best is crucial for your business success.
To select the best source of hiring, you must ask yourself the following 5 questions –
- How quickly you need to hire a developer?
- How many developers do you need to bring on-board?
- What level of experience do you expect?
- Are you open to remote workers?
- What your budget constraints?
If you’re well ahead of your timeline, you can invest time in finding a good developer on websites such as StackOverflow and GitHub. These websites see a lot of traffic from developers that come to share knowledge, resources, and network with like-minded individuals. This also makes these websites a perfect pool for hiring technically sound resources. Several top companies, including Google, recruit from such websites.
However, if your time is limited, you might want to consider traditional job portals such as:
- Career Builder
- LinkedIn Jobs
Or, if you need quality developers without the hassle of in-house hiring, consider platforms like –
- Stack Overflow
- GitHub Jobs
Another option you would like to give a try would be staffing companies in India or Poland who can help you hire a good and experienced PHP developer without any extra cost. There are numerous benefits to hiring a PHP developer with these organizations rather than running around freelance platforms to find the best developer for your needs. Here is a list of top 10 PHP development companies in India that can help you hire the best PHP developers at no extra cost.
Once you decide on the source of hiring, it is a best practice to research for a few dipstick technical questions that will give you an overview of the technical capabilities of the PHP development.
Here’s a list of the 5 questions that we have curated (along with their answers) that you can use –
Technical Questions to Check the PHP Developer’s Capabilities
1. What is a session in PHP and how is it different from a cookie? Where are sessions stored in PHP?
A session is a way to store data for every user against a unique session ID. These IDs are generally sent to the web browser via session cookies and the ID is used to retrieve session data. Unlike sessions, cookies are a means to store information in the end user’s browser, mainly for the purpose of tracking the end-user.
The actual data from the sessions are not stored in the browser; instead, it is stored in the user’s session record on the server.
2. What are the different types of errors available in PHP?
Fundamentally there are 4 types of errors in PHP:
- Parse Error (Syntax Error)
- Fatal Error
- Warning Error
- Notice Error
Parse Errors (syntax errors): The parse error occurs when there is a syntax error in the script. This error stops the execution of the script. There are many reasons for the occurrence of parse errors in PHP. Some common reasons for parse errors are as follows:
- Unclosed quotes
- Missing or extra parentheses
- Unclosed braces
- Missing semicolon
Fatal Errors: This type of error occurs when PHP understands what you’ve written, but what you’re asking it to do cannot be done. Fatal errors stop the execution of the script entirely. This error generally occurs when you are trying to access the undefined functions.
Warning Errors: Warning errors usually don’t stop the execution of the script. This error occurs when a file is missing e or using the incorrect number of parameters in a function.
Notice Errors: Notice error is similar to a warning error i.e. in the notice error, execution of the script does not stop. This error occurs when you try to access the undefined variable, then produce a notice error.
3. What is the difference between include, require, include once and require once ()?
If a required file is not found PHP emits a fatal error whereas for include only a warning will be emitted. include () shows a warning if it can’t include the file, but the rest of the script runs – including once, require once.
4. What is the difference between unset () and unlink () function?
In PHP, unlink () is a function for file system handling used to delete files. Suppose you’ve uploaded a file and want to delete this file from coding, then unlink () function is used to delete the file. On the other hand, Unset () is a function for variable management. It makes a variable undefined.
5. What are constructor and destructor in PHP?
A constructor is a special type of function which is called automatically whenever there is an object formation from a class. On the contrary, Destructor in PHP refers to a special type of function that gets called automatically whenever an object is deleted or goes out of scope
Additionally, to evaluate the existing knowledge base, you may subject the candidate to a technical test or ask for a portfolio of the projects undertaken so far. However, if you go for hiring an offshore PHP development company, you could assess this by delving into the type of training undertaken by the company.
Tips to Hire the Right PHP Developer
The above-mentioned questions will definitely help you gauge the interviewee’s technical capabilities. However, in cases where you are hiring for a senior position, it is even more critical to make sure that you’re hiring just the right candidate keeping in mind these tips.
1. Avoid asking clichéd questions
You’ve researched quite a bit about PHP, assessed your needs and are finally ready to interview candidates. The next step is to create a list of questions. But be vary of including stereotypical questions such as –
- What is PHP?
- When did PHP first release
- Who is the father of PHP?
Instead of running such kind of a memory test, it is best to ask questions that would help you gauge whether the developer has the right skillets to match your needs, such as –
- How to set cookies in PHP?
- How to encrypt data with PHP?
- How much experience do you have in web services?
These questions don’t just test the technical prowess of the candidate but also give you an insight into his/her technical strengths.
2. Ask questions related to past projects
Be it a good offshore PHP development company or a PHP developer, it is crucial to take a deep dive into the previously worked on projects. You can do this by asking the candidate for a brief description about the projects that he/she has worked on and how instrumental his/her role was.
Sometimes, a portfolio, case studies, and client testimonials can be used to evaluate their real strengths and experience in working for a project like yours. This will save you the hassle of dealing with issues related to quality of the projects that may crop up later in the development cycle.
3. Evaluate for existing knowledge base and learning skills
Given the speed at which technology is changing, it is necessary to invest in a resource that is not just competent to deliver your projects but is also capable of staying up-to-date with the latest trends and picking up new skills along the way. You should keep with the developer as to what all things he does to keep himself updated on the technology and trends.
4. Evaluate communication skills
When hiring for a PHP developer, communication may not be the first skill on your mind, but it should be a priority item on your checklist. Obviously, a PHP developer may not be required to be as fluent in communication as an HR, Marketing or Legal, but it is a big mistake to think that communication is a “good-to-have” skill rather than a “must-have”.
On several occasions, your developer may be required to talk to leaders or other members of the top management or clients who aren’t developers themselves. In such cases, if the developer fails to have a decent face-to-face conversation with a client or is unable to justify the budget required for development, it can be a major setback for the entire team.
Moreover, the developer must also be conversant with various modes of communication such as audio, video, web, email and phone.
In the case of an outsourcing company, apart from checking the communication skills, it is also necessary to evaluate whether they are open to using the communication/project management tool of your choice. It is also important to check if you have direct communication access with the developers who will be working on your project.
5. Assess the attitude
“Hire for attitude, train for skills”, a mantra coined by Herb Kelleher of Southwest Airlines, is a simple one but with a profound impact on successful recruitment. You may find someone who is exceptionally good at PHP development but if the developer lacks in soft skills such as interpersonal skills, having an upbeat personality or having a learning attitude; it can get quite difficult to work together
During the entire process, remember that it is best to clarify ALL points that you have on your mind, regardless of its importance at this stage. If you’ve made up your mind about on-boarding a freelancer or an outsourcing firm, be sure to draft a contract and include details such as details of the milestones, cost-breakup, etc. All non-disclosure agreements and terms & conditions must be made crystal clear to avoid horror stories in the future.