From Law Degree to Java Champion: Geertjan Wielenga on the Success of Java and Navigating the Software Industry
March 13, 2023In this interview, we chat with Geertjan Wielenga, a Java Champion and developer advocate at Azul. Geertjan talks about how he unusually got into the software industry and what it was like to work with Java and its community.
He talks about what has made Java so successful, the problems developers face in a constantly changing industry, and how important it is for people to work together and be involved in the community.
Whether you want to become a software developer or have been doing it for years, Geertjan's advice will help you do well in the software industry.
Let’s begin.
Takeaways
- The success of Java can be attributed to various factors. Still, the stability and expressiveness of the language from the start, the creation of many libraries, and the enthusiastic community have been instrumental in its widespread adoption and ongoing success.
- Geertjan's motivation for specializing in Java and its community came from his involvement with the language and community while working at Sun Microsystems, which he found stimulating.
- Geertjan has two memorable, code- and community-oriented experiences in the software industry that were challenging but ultimately rewarding: bringing NetBeans from Oracle into the Apache Software Foundation and starting the Friends of OpenJDK (Foojay.io) community.
- Success in the software industry is not about constantly moving on to new technologies but rather about building a deep and varied knowledge and network within a particular ecosystem, such as the Java ecosystem. Courage to continue is crucial to success.
- Following one's interests and being open to unconventional paths is essential for success in the software industry.
- Contributing to open-source projects can help junior developers grow and improve their skills.
- Being a Java Champion is a recognition of one's contributions to the Java community, and the actual value comes from sharing knowledge and enabling others to grow.
Fun facts:
I play chess on chess.com almost continually and I’ve studied Arabic off and on for many years. I grew up in the Netherlands and South Africa, where as a student I was involved in the anti-Apartheid movement and even got to shake Nelson Mandela’s hand, and have also lived in Austria and the Czech Republic, I enjoy drinking beer. My wife is a pretty well known jazz musician and I travel around with her quite a bit. We’re completely renovating our house (or, not ourselves, but out sourced all the work), which we bought recently, and that takes up time and planning too. We live in Amsterdam, our favorite city in the world
Bazlur: Can you tell us about your background and how you got started in the software industry?
Geertjan: It was 1996; I had completed my Law degree in South Africa, where I grew up, though I couldn’t see myself being a grown-up in a suit yet, so I started my world travels in the Netherlands, where I was born and had a lot of family, discovered I needed money for travels, applied for a job as a technical writer at a company called Supernova, which exploded like a star, then a few technical writing jobs later was at Sun Microsystems and learned basic Java on the job, which turned out to be Oracle a few years later and, after helping bring NetBeans to the Apache Software Foundation, joined Azul to be able to focus 100% on Java and the community.
Editor's note: Geertjan's story shows how important it is to be open to new opportunities and learn new skills, even if they don't have anything to do with your education. The ability to adapt and seize opportunities can lead you far. It shows that taking risks and being open to new experiences can lead to rewarding outcomes.
Bazlur: Your journey is awe-inspiring! It’s not always the case that software developers come from a computer science background. And you are an excellent example of that. I’m curious, what motivated you to specialize in Java and its community? Additionally, what factors do you believe have been instrumental in the widespread adoption and ongoing success of Java over the years?
Geertjan: Java’s success comes from a variety of factors, which you wrote a great article about on Foojay.io, though I think the key factor is that success breeds success, i.e., Java was stable and expressive from the start so that organizations could rely on it from the beginning, resulting in many developers learning it and continuing to be able to implement their requirements as their knowledge grew, causing many libraries to be created so that common ideas could be repurposed, and along the way a massive community of enthusiastic developers came into existence, which has kept the ecosystem vibrant and regenerative.
What motivated me is that I got involved in Java, the language and community, while working at Sun Microsystems, initially, it was just a job, but then I learned about the community via people like Ludo Champenois, Arun Gupta, and Tim Boudreau — and then it became fun because it meant I could combine my introverted/coding side with my extroverted/community side, being able to switch between those two halves makes for something that remains stimulating.
Editor’s note: Geertjan’s experience at Sun Microsystems shows how combining introverted coding with outgoing community involvement can be stimulating and rewarding.
Bazlur: It’s clear that the Java community has played a pivotal role in the language’s success, which has been a boon for countless developers looking to build their careers. On that note, I’m curious if you have any enjoyable or memorable stories from your time working in the software industry that you’d be willing to share with us?
Geertjan: I think there are two memories that I’ll always carry with me, both of which are both code and community-oriented and both which were (and continue to be) quite hard — bringing NetBeans from Oracle into the ASF and starting the Friends of OpenJDK (Foojay.io) community.
As Gil Tene, the CTO of Azul, recently told me: “Easy is overrated.” In other words, tasks that are complex are the ones that are most satisfying when they work out well and start going in the right direction.
Editor’s Note: Geertjan's experiences with bringing NetBeans into the ASF and starting the FooJay community show the importance of community and tackling challenging tasks.
Bazlur: Thank you for sharing those two memories with us. It sounds like both experiences were quite challenging but ultimately rewarding. What are some of your proudest accomplishments during your time in the software industry? Could you speak a bit more about the specific challenges you faced during those projects and what strategies you employed to overcome them?
Geertjan: Well, in both cases, a great inspirational thought by Winston Churchill is applicable: “Success is not final, and failure is not fatal. It is the courage to continue that count."
I think that’s my key learning in the software industry. It’s not about going along with technology for some time, then being inspired by something completely different and doing that, and then after that doing something different again.
The Java ecosystem — from code to community — is rich enough to sustain and nourish a lifetime’s passion, and, in the process, your knowledge and network become so deep and varied that you can turn them over multiple times into each new iteration of yourself and the world you create for yourself around you.
Success is not final, and failure is not fatal. It is the courage to continue that counts.
Winston Churchill
Editor’s Note: The critical lesson for success in the software industry is to focus on a particular ecosystem, like Java, which can sustain a lifetime of passion.
Bazlur: Let’s shift gears and talk about the current state of software development. In your opinion, what are some of the biggest challenges that developers face today? Additionally, do you have any advice on how to overcome these challenges? (edited)
Geertjan: Some of the biggest challenges include the fact that there’s so much choice in terms of language and technology while there’s simultaneously so much churn. I don’t envy JavaScript developers who have a new frontend framework “that solves all issues in all other frontend frameworks” every other year or so.
That’s what’s good about Java — it is stable, and indeed, though there’s a lot of innovation, the basics don’t change. Quarkus, Micronaut, and similar frameworks don’t seem all that different to me, while the difference between React, Vue, and Angular is enormous. (And even between versions of Angular.)
That may matter less in the JavaScript landscape, where less durable applications need to be built. In the Java ecosystem, we’re building applications that need to last for many years and that need to be robust, so we have a good fit with our language and ecosystem.
So, I’d say the key challenge is making the right choices and the need to constantly keep up to date with them, which is where being active in the community and going to JUG meetings helps a lot because that’s where you see the pioneers presenting their findings, and where you can evaluate whether you want to join their bandwagon or not.
Editor's note: Geertjan highlights the challenges of choosing the right technology and keeping up-to-date in the constantly changing software industry. They emphasize the stability of Java and its ecosystem in building durable applications that last for years. Being active in the community and attending events like JUG meetings helps evaluate new technologies.
Bazlur: As someone who has taken an unconventional (!!) path into the software industry and has experience as a technical writer & developer advocate, what advice would you give to someone who is just starting out and is unsure which career path to pursue? Could you also provide insights into the various roles within the industry, including technical writing, and the specific skills and interests needed for each of these roles? Specifically, could you highlight the benefits of being a technical writer/developer advocate for software development and how you would recommend pursuing that career path?
Geertjan: Well, everyone’s taken an unconventional path in one way or another. Matt Raible, for example, studied Russian before discovering programming. My advice would be to not decide too strongly on anything but just to follow your interests and see where they take you. The software industry is very diverse and obviously pivotal to everything; there’s bound to be something for everybody.
The career path of a technical writer back in the ’90s, such as myself, ended up in developer advocacy, which didn’t exist at all at that time. Most of those I was at school with are now in the software industry, which wasn’t much of an industry back in the ’90s'. Who knows what the world will be like in 10 or 20 years?
The only way to position yourself correctly for any future is to follow whatever you feel most enthusiastic about and which will sustain your energy for a very long time because it takes time to become good and influential in any field.
Today the options are endless. Find some open-source technology you find interesting, begin learning how it works, write some documentation, produce some YouTube clips, join the mailing lists, interact with the engineers, and fix some bugs. Sooner or later, you may get a job offer. All these possibilities were unimaginable 20 years ago.
Editor's note: Geertjan says it's essential for people in the software industry to follow their interests and be open to non-traditional paths. His career path from technical writer to developer advocate underscores the diversity and evolution of the industry. In addition, his advice to be proactive in learning about and engaging with open-source technology and the community provides valuable lessons for readers.
Bazlur: As someone who has been vocal about open-source development, what advice would you give to junior developers who are considering getting more involved in open-source projects? What are some of the potential rewards and benefits of contributing to open-source projects, and how can they help junior developers grow and improve their skills?
Geertjan:
Pick an open-source project and contribute to it. That’s the path to success.
Bazlur: I know that you are a Java Champion. Could you speak about your journey towards achieving this title and what the potential benefits of being a Java Champion are? Additionally, what advice would you give to someone who aspires to become a Java Champion in the future?
Geertjan: It’s not something one aspires to become; it’s something that overcomes you once you’ve been around for a while and contributed to projects, discussions, and conferences.
You may have contributed to books or discussions, and you gradually become known across different communities.
Then someone says, “Hey, why isn’t that great and helpful person a Java Champion?“, and then everyone is surprised, discusses it, a vote takes place, and before you know it, you’re a Java Champion.
Once you’re a Java Champion, there aren’t really any advantages to being a Java Champion anymore because by then, you’ve acted as a Java Champion already for many years. It does feel good to be recognized by your peers, of course.
And maybe a benefit is that you find yourself on the Java Champions mailing list, but most discussions of great value happen within the communities from which the Java Champions come rather than on the Java Champions mailing list itself.
You discover the longer you’re in a particular community, such as the Java community, that the value comes simply from sharing and from enabling others to grow and flourish in their enthusiasms.
Editor's note: Geertjan suggests that the real value of being a Java Champion comes from sharing knowledge and enabling others to grow. These insights emphasize the importance of collaboration and mutual support within the Java community and the broader software industry.
Bazlur: Thank you so much for sharing your insights with us. We really appreciate your time. If we have any further questions, we will be sure to reach out to you. Before we end, is there any parting advice or resources you would like to share with our readers, such as a list of recommended books or any other helpful information?
Geertjan:
Pick an open-source project and contribute to it. That’s the path to success.
Conclusion
Geertjan Wielenga's journey from law school graduate to Java champion can teach important lessons to software developers of all levels.
The interview talks about how important it is to be open to new opportunities, get involved in the community, and share what you know.
Geertjan also talks about how hard it is to choose the right technology and keep up with changes in the software industry.
Overall, this interview gives valuable information about how to get ahead in the software industry and what it's like to be a part of the Java ecosystem.
I hope you, as a reader, have found this interview beneficial. Stay tuned for next week's interview with another industry star.