This little Twitter exchange has stuck in my mind quite a bit.
1997: Let’s make a website!
*fires up vi*
2007: Let’s make a website!
*fires up vi*
2017: Let’s make a website!
— Thomas Fuchs (@thomasfuchs) February 22, 2017
Cut the crap. Websites in 2007 were terrible. UX drives all of this. https://t.co/k2akE8tjTU
— Colin Megill (@colinmegill) February 24, 2017
While I think it's generally advisable to stay away from snarky Twitter arguments, this touches on some interesting stuff that I think a lot of folks are feeling.
Thomas has a point: web development has only gotten more complicated
Listen to any Q&A session at a dev conference and you'll hear this. It's like THE prevailing talking point right now.
This complication isn't to be ignored. People are feeling it. Super smart and competent devs are understandably nervous about it. The implications of super complicated development setups and build processes probably haven't quite shaken out yet.
What does this mean for training new devs? Training old devs? What are the limits of this complication?
Colin has a point: this complication ain't for nothing
First, you don't have to use any newfangled complicated stuff to build a website if you don't want to. The web is a big place. What is necessary for the success of any given website is as diverse as the human beings who live on this planet.
The requirements of a website might be such that you can do a wonderful job with plain HTML and CSS. The web has also done a pretty great job of backwards compatibility. The websites of 1997 and 2007, if they are still around, probably work just as they did then or better, even if the hardware showing them has changed.
So what is the complication all about?
Websites in 2017, compared to 2007 and especially 1997, are being asked to do far more. Do it better. Do it faster. Work anywhere. Look good doing it.
I don't just wanna see the address of the airport, I want to book my flight, pick my seat, then change it three days later, manage my SkyMiles, print my itinerary, be alerted of any changes, and sync it all to my phone (to name 20% of what an airline website offers). And ship it in 3 months, please.
Developers, looking wide-eyed at that list of requirments, have stepped up to the plate saying "we're going to do this, but we're going to build and evolve the tools that are necessary to do it well." Yes, we're building developer convenience tools. You can think of them as complications if you want, and you aren't wrong, but that's not the whole story. These tools allow us to build what you need without making a mess that would be hard to recover from.
The users of the web want a lot. UX drives all this.