The Many Hats of a Java Developer
Back in the olden days on the mainframe, programmers wore one hat. There was basically one stack and it was highly transferable from company to company. In contrast, the many hats of a Java developer in today’s world is staggering. It’s never been a more exciting and in some ways more difficult time to be a developer or consultant.
I’ve found there to be a significant overlap between working as a Java consultant and working on a small development team as an FTE. In these types of situations you’re often working understaffed. This results in having to work up and down the tech stack which brings us to the many hats of a Java developer and consultant.
The Cambrian Explosion
If there’s one thing we in the tech industry can agree on, it’s that rate of change is accelerating. The expansion of technology and software into all corners of our daily lives continues unabated. This reverberates into the Java world as we increasingly need to solve novel problems or old problems at new scales.
As a result, we’re in the midst of a Cambrian Explosion of new tech in an attempt to solve these problems. Which has likewise led to the many hats of a Java developer increasing dramatically in number. In other words, if you’re a Java developer in today’s world, don’t get too comfortable.
Learn Quickly
Our rapidly changing landscape means we, as Java consultants or small team developers, need to learn quickly. It’s no longer feasible to deep dive into all tech we use on a weekly basis in a quest for mastery.
In order to deliver real business value, we need to get up to speed quickly on the fundamentals and implement. Because there will always be another part of the tech stack that needs our attention just as much if not more.
This necessarily puts a premium on our ability to prioritize. Moreover, this can actually help us as it prevents us from going down engineering rabbit holes. Common ones being premature optimization and over-architecting where simple solutions would be best.
The Hats
Today’s Java consultant or small team developer does a lot more than write code. It’s routine for us to bounce between coding, analysis, project management, team leadership, architecture, infrastructure, and testing concerns all within the same week.
It all depends on the makeup of the team. And being chameleons of the Enterprise Java world, we step into whatever role is needed. Some teams have no QA, so we do QA. Some teams have no DevOps, so we fill the DevOps role.
It’s a huge challenge to be sure, and it’s also a lot of fun! You never get bored, there’s always a thousand interesting things to learn, and you get to make a big difference for your clients/employers.
Summary
Today’s rapidly changing tech landscape requires Java developers to adapt constantly. This is especially salient for consultants and small team developers.
It is most important for these populations to learn quickly. The Cambrian Explosion of new tech necessitates we prioritize our attention skillfully.
The many hats of a Java developer include analyst, architect, coder, DevOps, DBA, platform engineer, production support, project manager, QA tester, scrum master, and more. In the coming years we will no doubt add to this list with regularity.