What is a Full–Stack PHP Developer
There is a lot to know to become a full–stack PHP developer and it can take years of experience to get there. So what is a full–stack PHP developer? Let's take a closer look.
There is a lot of technologies that come together to create and host a fully operational PHP web application. A full–stack developer does not need to be an expert in all of these technologies, however, they do need to have a strong working knowledge of each of these technologies.
In all fairness, the full–stack consists of 4 and possibly 5 distinct skill–sets.
The Distinct Skill–Sets
- A Front End Designer is the one who is the expert with HTML and Cascading Style Sheets (CSS). This person creates the web application or website in a static form – without functionality.
- The PHP Programmer is the back end programmer. He or She uses the PHP language to add functionality to the website. The PHP programmer may use the Structure Query Language (SQL) to interact with the database.
- MySql Database Administrator manages and configures the data engine. This can consist of creating databases, tables, and writing SQL for the PHP programmer.
- A Linux Hosting Administrator is an expert in Linux hosting servers. In the case of PHP, the administrator will be the expert in hosting PHP web applications.
What Skills Does a Full–Stack PHP Developer Need to Have
A full–stack PHP developer is all the above skill–sets rolled into one person, with one exception. This developer is not necessarily an expert in each of the above-listed technologies. The skill level is such that he or she can work with each of these technologies to create, modify, and troubleshoot the complete stack.
The Freelance PHP Developer Approach
In reality, most projects are small and a full–stack developer can do most of the work once the designer has created the look and feel. The hosting administrator will provide a fully enabled PHP server.
The PHP developer will take the design and the hosting and create a fully interactive and functional web site/web application. Since the PHP developer is doing most of the development work he/she will:
- Under this model, the developer will create the databases, tables, and SQL.
- The developer will add the PHP functionality to the website.
- The developer may need to perform some server administration.
What this developer does, for the most part, is to take a website design and add functionality to it.
This is what I see most of the time and a freelance PHP developer.
I’ve been an independent developer since 2006. I’ve seen a few scenarios where people claim they have mastered more than one skill–set. This is a technical article so the Search Engine Optimization (SEO) expert or the marketing specialist was left out. I think that skill–set needs to be added to the discussion. That brings us to 6 skill–sets that are necessary to create a successful website.
When I come across people that claim to have simultaneously mastered more than one of these skill–sets I am skeptical. In reality, I find this to not be true. There is just too much to know and these skills are based on inherent talents.
There will always be some overlap which is what the full–stack PHP developer is. He or she should be a master of the PHP programming language with a strong overlap in the other areas to the point of having working knowledge in each area. This does not mean the full–stack developer is an expert in all of these technologies.
Another observation is it will take a developer 6 or more years to become a full–stack developer.
Most freelance projects are small enough that a full–stack developer can take what a web designer has created and take the project to fruition.
In this article, there are two approaches. One is the enterprise approach and the other is the full–stack developer approach. These are at the opposite ends of the spectrum. There may be a team or lack of a team. These two models can be modified as needed. This is not a one size fits all.
My name is Keith Smith. This is my website. It was handcrafted by me as an example of my skills. It is not as beautiful as what a website designer might have been able to create, however it is clean, simple, and functional. I am not a designer, I am a programmer.
If you have a project you would like to talk to me about, please call me at 480-748-9893 or complete my Project Request Form.
I look forward to hearing from you soon.