The see-sawing barriers of entry

Once upon a time, every man and his dog was a website designer. ‘Good ones’ used Dreamweaver. You could call yourself a website developer if you hand-coded your HTML and CSS, and knew what JS stood for. Most of these developers learnt jQuery instead of JS and barely knew the difference.

To create a web app today is a much more complex affair. Which framework will you scaffold to get started? MVVM? Redux? Adaptive? Real DOM or virtual? Rendering on the Client or Server, or both? Which test framework? Etc. Admittedly, you can hack a few lines of React without worrying about any of this, but only because the tools have evolved to offer a significant leg-up towards the high barrier of entry.

In that example, a relatively simple affair has become incredibly complex, and the toolers are working hard to keep the doors open for new entrants.

I am currently more interested in something that conversely used to be incredibly complex, but which is becoming relatively simple – thanks again to evolution of the tools…

I have always wanted to run and learn Linux, but it required so much arcane knowledge that having to ask how to perform every tweak eventually led to thorough demoralisation. Those were the days before plug-n-play where you had to set up your hardware too, and you didn’t have the internet to seek advice from. I didn’t want to be a Unix guru, with a fanboy t-shirt, and a good line of pithy put-downs for Windoze users. I just wanted to be able to get it working, and run some server software. It was a lonely and miserable journey and I gave up repeatedly.

Fast forward to the modern day. My CPU is designed for virtualisation. I can use Hyper-V or VirtualBox (it’s free and cross-platform). I can download the latest Ubuntu-Server image in seconds. It installs in minutes. The networking ‘just works’ giving me instant access to internet and between my host and guest OSes. Ubuntu Server offers to pre-install loads of on-trend goodies. Docker? Mmm, yes please (once upon a time, being able to run your code anywhere just meant that the C compiler was bundled!). PowerShell…!?! I have been waving the flag for PowerShell ever since it went cross-platform – and now I find that it’s bundled with Ubuntu Server. And Git is there too of course, ready and waiting for me to clone my repos of PowerShell goodness.

If I want to make a basic tweak then I’m back to 90s Raith (except the answer is a Google search away, rather than a walk to the bookshop). I still don’t really know what I’m doing, yet I can spin up a Linux server VM and be running my latest Containerised creation on it in minutes. How things have changed! It feels rewarding, and this time I know that I will complete the journey. And I am getting the hang of things – I now even run my VM in ‘headless’ mode and open SSH to it as necessary. It feels proper hardcore.

There is one downside though. I’ve noticed that I am getting a bit pithy towards Windozers…

Leave a Reply

Your email address will not be published. Required fields are marked *