Spinning plates

No longer just a developer

This blog post will probably come off as a bit of an old man ranting at the kids to get off his lawn, but I’m only 32 and the local kids already know not to come onto my lawn.

What I’m ranting about recently is the knowledge required to be a Developer these days, specifically a Drupal developer in Australian Government has gone from “I think I can master these in a few years” to “Where’s the rest of the team, what do you mean it’s just me.”

#backinmyday all you needed to make a website was Linux, Apache and a text editor.

The majority of my development experience has been using a LAMP stack, which stands for Linux, Apache, MySQL, PHP.  And you can swap out Linux for Windows or Mac as required… but it’s all fairly straight forward.

A LAMP stack looks like this:

  • Linux is the Operating System and sits at the base layer
  • Apache runs in the operating system and delivers your pages to the world
  • MySQL is the database where your complex data is stored
  • PHP is the programming language that your website is written in

On top of that, you also had to know a number of coding languages.

  • HTML for basic webpage content and layout
  • CSS for styling
  • PHP for complex functionality
  • Javascript/jQuery for fancy interfaces.

So there, four applications/frameworks, and four languages.

And if you could manage that, you could call yourself a Full Stack Developer.

But not anymore.

In an effort to make thing simpler, things have become increasingly complicated.

Now, we have (at least for Drupal GovCMS):

  1. Cloud hosting providers like AWS (Amazon Web Services)
  2. Apache or nginx
  3. MySQL or MariaDB
  4. Composer to manage dependencies
  5. PHP is still there
  6. Symfony as a framework on top of PHP
  7. TWIG as a templating engine
  8. Git to manage all your files and version control
  9. Docker and Containers to help compartmentalise and genericise your developments
  10. Lagoon, but not the nice swimming one
  11. Ruby, Pygmy, Ahoy and other various command line interfaces built only for Linux in order to control and automate the above systems

And while LAMP is a nice acronym, I’m not sure that CAMCPSTGDLRPA is likely to catch on.

And then on the programming side of things, we have:

  1. HTML, although now it’s HTML5 with more elements
  2. CSS, is now CSS3 with easy to use rounded edges… which was released at the same point all designers decided to go back to wanting crisp straight edges and corners
  3. PHP is still around
  4. Javascript/jQuery as before, but now with more additional libraries for more functionality
  5. SASS or LESS pre-processors for CSS
  6. Any number of front-end frameworks such as:
    1. Angular
    2. Bootstrap
    3. Node.js
    4. React
    5. Vue
  7. An IDE (Integrated Development Environment) like NetBeans or JetBrains to manage it all

And don’t forget to support Internet Explorer 9 (Released in 2011) because some important Government official is still running it somewhere, the seven different screen resolutions just for Apple’s mobile devices, and it’s only a matter of time before having your website display correctly on a Smart Fridge is a common requirement.

The modern web developer is no longer just a programmer, they are a multi-lingual multi-plate spinning sorcerer of many things.

Date posted:
23 August 2018
Authored by :
Toby Wild