Web, tools and walls
Are we building the web, or digging a hole around it?
In these days there is a mounting debate on the transformation that the web is undergoing. The dichotomy between the web as a platform to delivery content and as a platform to run applications is on one side pushing further and further the capabilities of this “medium”, on the other one is increasing – probably exponentially – the complexity of the technologies underlying it, even to have a simple ‘Hello World’ page up and running.
Tools, tools, tools everywhere
Despite what you can read every day online – where every new tool, technique or framework is simple, fast, quick, easy, immediate, seamless, frictionless (real copy taken from real websites), – despite the ease with which you can access resources, tutorials, documentation, other people’s code, despite the increasing standardisation of the web, I have the impression that we are not building an “open platform” but a “gilded castle” into which we – using the latest cool tool, mentioning the newest buzzword, riding the wave of the hype – simply continue to solve problems that we have created ourselves, and while doing that we create higher and higher walls, we transform pretty basic languages in convoluted heaps of code, we dig a moat between those who “master” these tools (every new tool, the more tools the better) and those who don’t.
We are becoming an exclusive club, where everyone try to show off his “knowledge of the hype” with the other members and at the same time is secretly consumed by a sense of incompleteness, by the impossibility to keep the pace of the “front end fashions” (cit.), by the fear to fall behind.
In recent times I have come across so many fantabulous tools that promised to be the perfect solution to all the [you name it] problems, witnessed so many discussions about “the new tool on the block” just to see it forgotten after a few months (if not weeks), that I have lost the count. We want to convince ourselves and the others that it’s the knowledge of these tools that makes someone a “good web developer”. Don’t get me wrong, the problem is not in the tools but in the way these are first acclaimed and then forgotten in favour of brand new ones, in the way words and terminology are wielded, exhibited, worn as emperor’s new clothes. In the “hype driven development”, as a friend of mine rightly said.
The “new” developers
Now, can you try to imagine the aftermath of all this on the “new developers” (cit.), on those who have not enough experience to know that technologies and trends come and go? Nobody is telling them that often the cons of a tool are well understood only after some time, and so better think twice and wait before chucking away what you can do and use a completely new tool/language/framework. Nobody will tell them that it’s hard also for themselves to keep up with this continuos turnover of technologies, that you don’t really need to know all of them, that it’s ok to say “I don’t know it, I’ve never used it”. And because they are the newbies they don’t have the courage to express their uncertainties and insecurities, and end up feeling unable, inadequate, not up to the role. Not to mention the hiring process, where the presence or not of the “cool tool” of the moment on their CVs can make the difference between being taken into consideration or not for an interview.
Whenever I try to discuss about these arguments, I always find extremely hard to explain myself, tell exactly what I mean (and this post is no exception), because is more of a sensation, a discomfort, something in the gut – like a “code smell” – that tells you that something is wrong. But I can’t find a clear and compelling evidence of what I am saying, only small clues. So the only thing I can try to do is to trigger the discussion, instill some doubts, rise my hand and use my voice (whence this post).
Luckily, in the last two days I have attended two great discussions (one on the Front-End London channel on Slack, the other on the WEBDeBS group on Facebook) exactly around these topics, and I have seen a lot of different positions and point of views. But some of the participants raised the same concerns I have, and confirmed that I am not the only one to see it in a certain way, so now I feel less lonely, less “hypochondriac”. But above all, a discussion is on course in the community and this is the most important thing.
Below you can find a collection of articles and post that I have read online in the last couple of weeks and have pushed me to write this post. If you want have a look at them.
About the walls we are building:
As a new developer (by Charlotte Spencer)
Increasing the barrier or: how we shot ourselves in the foot (by Tobias Tom)
Everything Changes But You (by Ben Howdle)
Technical interview are bullshit (by an anonymous author)
About the web we are (not) building:
Tools don’t solve the web’s problems, they ARE the problem (by Peter-Paul Koch)
Facebook and the media: united, they attack the web (by Baldur Bjarnason)
Choosing Performance (by Tim Kadlec)
HTTP 203 / Build Tools (by Jake Archibald and Paul Lewis)
(Credits: Image by Elisabetta Foco)