The barrier of entry

It's not what it once was...

Not too long ago, one of DrupalACT’s developers made a blog post suggesting a developer is not just a developer anymore.

The author maintains the fact proudly that they’re probably being a bit grumpy, however there’s a lot of merit in this line of thought.

When starting out, it was all about the full-stack developer - the LAMP developer. The fact is, a full stack developer simply has a well-rounded set of skills for a particular type of technology which is usually centric to a given language or technology.

PHP and Drupal have for so many years been about virtual machines, and their major supporters have helped drive this. I’ve supported this technology stack used quite successfully at work using a suite of custom and open source tools including DevOps, Continuous Integration and the works.

The time has come for the stack to change, and everything is up for grabs. This change is absolutely awesome and it’s being driven by the Australian Government Department of Finance.

I remember asking the head of the community about this technology even before the tender process began, prompting for the future to include Docker and Kubernetes. They were naturally very reluctant to provide any details, however at the time they were very optimistic about the possibilities of including them.

Having Docker and Kubernetes in the Australian government will be revolutionary.

It also means developers need to adapt. And whilst it doesn’t seem like it, there’s another problem. Developers are being needed to know more to get started, and the gap between junior, capable and efficient developers are all increasing.

Strictly, nobody in this community needs to build, run, or administer Lagoon. They aren’t needed to truly understand Docker. However, teams will still need an adequate level of internal support for their jobs with limited experience, because running Docker containers locally occasionally requires experience or problem solving skills.

I saw this change almost four years ago, when we were looking at capitalizing on virtual machines, and I’ve been running open source Ansible roles testing in Docker ever since.

After the announcement of this technology officially being adopted I’ve almost completely stopped using the VM I’ve spent so much time on. I’ve committed completely and furthered my experience by taking on open source projects which handle Docker-in-Docker and Docker-Compose in Docker-Compose.

I also happen to have a habit of learning new languages and tools regularly. So, all the newer conventions that come with Node, Ruby, Go, React, Docker, Container Orchestration and Continuous Integration. Many of these newer design patterns have become second nature.

The fact is, not everybody cares that much.
Not everybody is that proactive.
Not everybody has the time or energy for this level of cognitive drain.

The entry-level skills required appear to be simple by some, but are not - really. Autonomy still is a goal but it’s not achievable without some effort. The new toolchain and knowledge required for this is however at a practical benchmark.

One piece of advice I give anybody struggling is: Don’t overwhelm yourself. Focus on what you can and gradually learn more by challenging yourself.

Nobody expects you to become a shell guru instantly or overnight, nobody expects you to know Red Hat from CentOS and nobody expects you to know the internals of Docker overnight.

Take it slow and learn at your own pace, but always be open to learning new technologies.

Web and cloud are some of the fastest moving technologies in computing. If you really get stuck, take a break, and take a moment to assess yourself against having impostor syndrome - it is a real thing and simply being conscious of the symptoms can be liberating.

Disclaimer: Opinions are my own opinion and not representational of any organisation or group.