For me, I think of the many different “distinctions” in the technical domain. For example, consider a team that is developing an application/platform/software. There will be multiple folks doing different things. There could be Front-end Engineer, Back-end engineer, DevOps, Machine Learning, QAs, etc. etc. These are all different trees in this day and age.

But not so long ago, a single person was responsible for Front-end and Back-end both. That’s still the norm in many different organizations across the globe. Due to the rising complexities in an application, it makes sense that the world has designated roles for each part of an application.

However, I would argue the original way was much better. Yes things have gotten out of hand (specially in the JavaScript world), but we also have loads of tools at our disposal now. AI Tools can help understand each of the different “pillars” of application development. There’s a HUGE ton of documentation on any technology in the world. All that’s required is the “passion” to learn all this.

It is very very beneficial as a software developer to be able to work on multiple streams at any given time. Not only does it grow the developer’s knowledge, but also their value proposition as an employee. Just my thoughts, I could be underestimating the workload or overestimating the human capacity.

Also, you kinda feel awesome when you can debug kubernetes deployments in a private VPC while you actually make cute css animations for a living. 1

Footnotes

  1. That’s me a few days back at Quantiphi :D