When I wrote the PHP / Drupal curriculum and taught the first class, I was surprised by how many students asked me about why there was so much gossip online from people making fun of Drupal, and talking about how much they hate PHP. But for me there’s a lot to love. Every language has its quirks, and that definitely includes PHP and Drupal, but they also have strengths that you can learn to use to your advantage. Creating a finished website or app with a strong foundation that is easy to maintain and grow does not come from the language it’s written in, it has to come from the people who know how to wield the language. A truly good guitar player will make even the oldest pawn shop guitar sing with a soul. And an unskilled guitar player will still sound awkward even if they are playing a perfect $6000 Gibson Les Paul.
People like to argue that PHP is old and clunky, that it encourages bad practices and it’s insecure. But I believe that these are symptoms of it being misused. It’s true that PHP began its life humbly, back in 1994 it was created by Rasmus Lerdorf to simply track people who were looking at his online resume. However, for over 20 years it has evolved and matured. Nowadays if you look at the usage statistics, PHP is incredibly popular and a very desirable skill in the job market, used by high profile sites like Facebook and Twitter.
Don’t get me wrong, if you really want to you can still certainly write very messy, insecure, overly complex code in PHP, but you can do that in any language. PHP also has all the tools you need to write elegant code if you learn the right techniques.
People like to complain about Drupal too, and that makes me sad because it can be so useful and so much fun. Then again, people like to complain about things because it’s fun to have opinions. And regardless of whether or not it’s one person’s favorite tool, it is used all over the place by high profile organizations such as the Economist, Weather.com, Harvard, Stanford, even the White House, and many more. People say that Drupal has a steep learning curve, and that is true. It’s not like MVC frameworks, it has its own terminology and database system. But if you open your mind and learn about this new way of thinking there is a big payoff.
That doesn’t mean you never have to code in Drupal - it just means that you get to skip right to the interesting parts.
People say that Drupal is unwieldy and slow, and it can be if you let it, but if you learn how to use it correctly Drupal can be a powerful weapon in your arsenal of developer tools. It is well suited to whipping up small personal blogs in a single day, but is built to scale up to large corporate websites with interactivity and thousands of pages of content. Having both of those capabilities in one system is very difficult to achieve. If you truly learn how it works, Drupal is not something that you are going to hit a brick wall with and find out something is impossible. You may find yourself banging your head against a wall from time to time, but that is usually because you just need to take a step back and see that there is a door built in right next to you. And if there isn’t a door, you can learn the tools to build one yourself.
That is the most powerful thing about learning with hands on practice building projects every day the way we do at Epicodus. Learning how to learn is language independent. Many graduates of Epicodus go on to work in languages that they didn’t learn about at school. But that is because they learned learned how to build with a strong foundation regardless of which tools are at their disposal.