On a previous post I had someone comment that they did not agree that the code implementation that was presented in the article was advanced (which was described in the title). They also claimed that I was not an advanced PHP programmer.
This made me think. Not because my programming skill or knowledge was challenged. But because I’m not sure what makes code or a programmer “advanced”. This article is meant to take a look at this from an analytical perspective. I’m less concerned about general labels, and more concerned in how to improve going things going forward.
What makes a PHP programmer advanced?
- Is it the programming concepts they understand? If so, which concepts do they need to understand in order to be considered advanced?
- Is it the amount of experience they have or the size of the websites they’ve worked on? If so, how long do they need to have programmed or how large of a website do they need to have worked on to be considered advanced?
- Is it how fast or efficient they program? If so how fast do they need to be?
- Or maybe it is dependent on how modular their code is?
- Does it depend on how much they makes?
- Does it depend on whether the PHP programmer went to college or not, and which college they went to?
- Or does it depend on the conferences the programmer has been to?
The point I’m trying to make is that the term “advanced” is a relative term and is subjective to the person using it. A person may define a PHP programmer as advanced if they understand object oriented concepts. Or they may consider a PHP programmer advanced if they make a six figure income. But the fact of the matter is that you can use whatever labels you want, but that doesn’t define your value as a PHP programmer. Outside of general programming knowledge and concepts, there are many other factors to consider when analyzing the value of a PHP programmer. On top of that, the term “advanced” does not always equal “best” or “most valuable”. I wrote an article last year that goes through Analyzing the Value of a PHP Programmer.
What makes PHP code advanced?
Similar to the previous section, I think this question is very subjective…and honestly I think it is irrelevant. You can have the most “advanced” PHP code in the world for a system, but it could also be the most worthless code because it is impractical in most situations. I also think it misses the point.
In any given scenario, the best solution is sometimes a simpler solution than a more advanced implementation. A real world example of this that I’ve experience is the use of object oriented PHP code. In a framework system such as Zend Framework, using object oriented code makes a lot of sense. But for a simple site with only a few pages and one simple form, using objected oriented code may be overkill and take much more time to implement. At one point in my career I had built a custom object oriented framework that I used with all of the custom sites I worked on. This worked okay at the time, but looking back I now realize that I had spent a lot of time that I didn’t need to spend creating a framework system when I could have used countless other systems that were already created. On top of that, there were some websites where I had used this system where it would have been faster to just put together a more simplified solution.
Instead of throwing around general terms in labeling code or other programmers, let’s come together and figure out ways in improving code together. Practical applications. Questions such as, when does it make sense to use OOP? Or how can we make this code more modular in a site that needs to re-use the code? These are the questions that are worth pursuing. This is how we can help others improve their code (without caring how “advanced” they are) and this is how we can improve our own code and increase our value as a PHP programmer!