All right, here’s the deal. There’s a lot of talk out there about digital transformation, but most of it focuses on high-level business concepts like migrating to the cloud and digitizing physical storefronts.
That’s very important, but what I don’t see a lot of people talking about are the nitty-gritty back-end changes that need to happen to make our much-heralded digital future actually come to fruition – and just as important, what role developers will play in that.
Intrigued? Excellent! Let’s keep going.
We Can’t Have Digital Transformation Unless We Deal with the Javapocalypse
So right now, far too many companies are super-reliant on Java 8, which was released all the way back in 2014. For context, that’s the year the iPhone 6 was the hot new thing. It’s old. Moreover, like the iPhone 6, Java 8’s lifespan is not infinite, and in the near future, it will face deprecation (at the time of writing this, we are one month out from the release of Java 16). For the many companies that are built with and heavily reliant on Java 8, that’s… not ideal.
Besides the obvious, there are two other glaring reasons this is a problem.
First off, with every new release, Java 8 becomes more and more outdated. Oracle has been very aggressive about adding new features, and when companies decide to finally make the switch, they’ll find their codebases don’t take advantage of all the useful changes between 8 and whichever version they’ve updated to.
I saw this problem a lot with codebases that moved from 6 to 8, where basically there was no use of Streams, or lambdas, or any actual Java 8 features. They were Java 8 in name only, and that’s going to be an even more expensive problem to fix going from 8 to 17.
Secondly, stagnation. Projects stuck on Java 8 don’t teach anything new to their developers, which leads to a critical lag in Java prowess. Sure, it’s familiar, and it’s the number-one thing people ask for, but can you imagine trying to sell yourself as a Java 8 developer after, say, Java 30 has dropped?
Think of it this way: newer businesses will be built with newer Java versions and, because of their superior functionality and the better experiences they’re able to deliver, will eventually beat out legacy competitors. That’s the promise of digital transformation broadly.
Developers who have been working for these legacy companies may suddenly find themselves without a job and without the skill set they need to land jobs with these shiny new startups – and without the skills they need to build their own startups to compete with these newcomers.
For this reason, I’m something of an evangelist for current Java versions. One thing I love about Apexon is that we’re actually working on projects using the latest long-term support release version, which is Java 11. When Java 17 drops (the next long-term support release), I expect that there will be a push to adopt that, as well.
And about that…
Find Yourself a Boss Who Gets It
If you feel like you fit in with the idea of being a scholarly developer, you probably have a lot of ideas and ambitions. You like to try stuff! Perhaps in another world, you’d be some sort of mad tinkerer, living in a ravaged workshop among a labyrinth of blueprints, eventually burnt under suspicion of being a warlock.
Nowadays, while we’ve mostly discarded public searings, we still don’t always treat passionate people in a way that nurtures their growth. You will find plenty of jobs out there where you’re expected to clock in and out, and as long as you get the job done, management doesn’t care if you’re a good coder or not. To them, coders are a cost, and costs are meant to be minimized.
But those aren’t the places where real innovation – true digital transformation – happens. Real, transformative innovation happens when every member of an organization feels empowered to bring their ideas to the table and try them out! It happens when leaders at every level of the company have the attitude of, “Sure, try it. Let’s see what happens!”
My boss, Frank Trainer, embodies that better than anyone I’ve worked for. A few weeks ago, I asked if I could use the company Coderpad to help my old high school computer science teacher with some mock interviews. Frank didn’t hesitate a moment before giving me the okay – in fact, he was excited to hear I was doing that! And honestly, that kind of freedom is something a lot of companies are sticklers about. If it doesn’t directly benefit the company, then no, you can’t.
Frank understands that helping developers with their quirky projects nurtures them, and that being friendly is as important as being a good developer – which brings me to my next point.
Tomorrow’s Best Companies Know the Value of Friendliness
This is far from the only time Frank has approved something like the use of the company Coderpad for an interesting side project. In truth, he is a passionate man who strives for what’s best for the Java practice at Apexon. Since I’ve known him, his door has always been open for anyone who wants to bring their passion projects to the table.
Why? He knows we work hard, and frankly, that kindness is the foundation of a company’s staying power. Why would I leave a role where I can not only evangelize about the importance of abandoning Java 8, but also get company backing when I want to take on some extracurricular activity I’ve come up with? With morale as it is, I’m in a position where I’m responding to all those recruiter emails with “No thank you, I’m happy where I am.”
Back in the ’90s, there was an understanding in the world of coding that two things mattered: how knowledgeable you were about programming itself, and how well you could actually code. That’s the era that gave us the Dilbert stereotype, of the socially inept engineer skulking in their cubicle.
Today, thanks in part to heavy hitters like Google and Facebook, the culture has shifted. Friendliness has moved to the forefront of the industry, along with an understanding that you’re part of a team, and that your ability to work effectively with others is key to that team’s success.
Read about Frank’s belief that teamwork makes the technology dream work.
Find Work that Fuels Your Passion Projects
In this industry, you tend to get a mixed bag of people, in terms of motivation. There are those who do it because they know it’s a stable job with above-average pay, and that’s fine – work needs to be done, after all, and software development jobs are very lucrative. But on the other hand, there are the people I call scholars, for whom coding is as much a hobby as a job.
Of course, you don’t need to be scholarly to do your job well, but the scholars are the ones who drive digital innovation. They are the ones who develop software in their off time, and embrace cutting-edge projects, whether they be at prestigious firms or emergent startups. They recognize the value of getting that extremely technical, hands-on experience, but also know how to study and learn on their own.
More importantly, they know how to integrate their “day job” work into hobby work, taking what they’ve gathered from the workplace and applying it to their passion projects.
To be scholarly is to be the baseline force behind digital transformation, and to learn and follow upcoming changes in your primary programming language will keep you interested and well-prepared for what any interviewer can throw at you. Make the effort, and any position you want will be within your grasp!Interested in working with Chris? See our open positions here.