Blog post

User Groups and Communities, Say What Now?

New Job, New Opportunities.

I have heard many stories about Devoxx and how great it is to be able to attend. But up until now, I have never found the time to be able to attend.

In September, I started a new journey at Continuum after being a Java trainer for 4 years. I couldn't believe my ears, when Continuum offered me to go to Devoxx in my first week. And not just one day, but the entire Devoxx experience! I immediately started looking at the schedule and I knew what my main focuses would be from the start:

  • Testing my applications
  • Securing my applications

 

But one topic took me by surprise, and it was the one I am most excited about in retrospect. A friend of mine, that I carpooled with, wanted to see the last session of the day. As he was my ride, I stayed as well. Reluctantly at first, as it would mean we would eat late and be home late. Yes, I like being home, and well-fed. But by the middle of the session I was hooked. The people in the room were nice people that do a lot of work for the community, we got talking on Java User Groups (JUGs), contributions and the ecosystem of Java. This got me thinking and I changed my planning for the coming days a bit.

This talk, The future of Java is you, was a discussion between the speaker and the audience. If was led by Sharat Chander, Tom Cools and Bert Jan Schrijver.

What follows is the lessons I've learned, the people I talked to and the next steps we can take to participate.

IMG 4317

The Java User Group

Java is a community project. This means that without a vibrant community, Java would not be the language it is today. Java has one of the biggest active communities of them all.

This can be shown in the nice statistics Oracle provides.   

sharatChander JavaStats1
sharatChander JavaStats2

In these images you can see the current statistics on Java after 28 years of being used. But the reason why these numbers are considered good is because of the community. A lot of people are working together to advance Java and its ecosystem.

This is where the JUGs come in. These user groups are the easiest way for people to join the community actively. Enjoy talks and demonstrations, learn from peers and share your knowledge with others. All in a friendly and open environment.

Great, so what's the problem?

At the time of writing, there is only one user group in Belgium(BeJUG). This means that a lot of Java crafters are not really reached with the activities of the JUG, as activities take place too far from home. This also means that a lot of people are not aware of the JUG and its activities, and so are less active members of a great community.

This is where we can contribute.

The first step would be to join our Belgian JUG and participate in their activities when they are in town. A second step is keeping an eye out for amazing speakers and topics that you can share with the JUG, and who knows what the next talk might be? The next steps might not be for everyone, but are steps we can take together with BeJUG. So the third step? Become a speaker yourself. You might be passionate about one or two topics. Show it! Speak about it. BeJUG even offers help for people who want to start as a speaker. And lastly the fourth step is to organize your own local JUG in conjunction with BeJUG. This way you can help organize more talks, hackathons, and get-togethers where Java developers can meet.

One last way to contribute, that has less to do with a JUG, is to contribute to the OpenJDK project and meet many people who actively contribute to the codebase of Java.This brings experience and knowledge to both you and the community. And is also a great way to boost your career in Java!

Craftmanship vs engineering

The next talk was one by Sander Mak. Sander Mak is the writer of the book Java 9 Modularity and is a great contributor to pluralsight with his What's new in Java N courses. The main topic for this talk is the term Software engineer. Are we really engineers?

This question is a great way of retrospecting what we do. Engineers have one chance to get it right or suffer the consequences. But with the arrival of Scrum, Agile, Kanban, Lean, ... Is this really true for us as software developers too?

We have the opportunity to recreate and fix our constructional issues. We can even re-architect our systems, so that our products keep being relative in today's market. So what this comes down to, is Liability. An Engineer is 100% liable for his work. But are we? The answer might be shocking.

We are not liable for our work. 

We are not liable for the bugs in our software. 

We are expected to fix them, and expected to prevent them.

But software will always have bugs, right?

This is where the term Software Craftsmanship comes in. Sander postulates that: We are not engineers, we are crafters. We are expected to make the best possible product we can. Then improve it, make it better all the time. Until we create a masterpiece of software.

We are Artists!

IMG 4319

What does this mean for our community?

This is an interesting view on our profession. And it has a lot of implications on how we can improve our community. But for me, the most important implication is the take on software education. We still teach software development topics like we teach engineering classes. Preaching theory upon theory. Showing quick and dirty examples, just to show the theory "in practice," and we move on to the next topic. And in the end, we provide an exam in which the student has to provide the best possible solution he or she can create within a limited set of time.

If we look at this from an artist's perspective, we can see that this is not the way to learn software development. We want students to be able to experiment, grow, find their own style and learn from doing. The great masters had a solution for this, they used a system of apprenticeship. Students learned from the masters, and they learned by doing. This powerful implication rings true to my ears, and lets me think about how we can change the view on software development in schools and universities. But also how we can start providing chances to juniors to learn from the "seniors."

For me personally?

Giving opportunities to new people in our wonderful world of Java is very important. I have been training and mentoring people into our Java world for over 4 years now. I still feel the most fulfilled when these people get their first job and start their real journey. And hopefully, I can learn from them one day. So as senior artists, we have the opportunity to mentor and help juniors in their learning, and give them opportunities to get started. Not only when they start as our colleagues, but also when they are still in school or university. We can help them get started from their very first steps in Java, and help them grow into great artists themselves.

 

Students and their vision on Java

For the third talk, a very young man enters the stage, Felipe Yanaga, a Student at the University of North Carolina at Chapel Hill and an Intern at Google. Not someone you would expect to be a speaker at Devoxx, but he is here to talk about the vision of students on Java. So who is more fitting, than a student himself?

Felipe started with a quick summary on the research he did with his fellow students. In this research, he wanted to know what programming languages students would use when creating a project and why. The results were not in favor of Java.

The students would rather use Python (easy) or JavaScript (easy), then use Java (hard) for their home projects. They see these languages as younger and more modern languages that are up to the task, and worth learning.

When asked about why not Java, most of them replied that Java is an old language that doesn't have the newest and most modern features and doesn't uphold modern standards. It also comes off as a hard to learn and lengthy language. This is what students think about Java.

If we think back to our own studies, this doesn't miss the truth by an inch. I myself had the same idea about Java before I gave it a shot at the request of my father, just as Felipe's father nudged him to use Java. At University, I learned to automate and program with Python as it was easier and quicker to learn and use.

In universities and colleges, Java is being replaced by Python all the time. Java is still used to explain the Object Oriented Programming (OOP) concepts and other heavy topics.

But it's always shown as this lengthy, heavy and old system that is only good for education on these heavy topics of software development. Never is it shown how it is used with real world examples and shown as the hip and vibrant language that it is. We as Java Developers know this vision isn't true. Yet we do nothing to change this vision of Java by students.

What can we do?

As a community, we have to work together with colleges and universities to change the views of these institutions on our programming language. These students are the future for our community, and we aren't reaching them enough. This is why we can do simple, yet very strong actions to change this view:

  • Connect to local schools and universities and help them with their Java courses.
  • Connect as a company to classes and local programs, to aid students in their learning process.
  • Get students involved in the community through the JUGs or even specialized student JUGs.
  • Organize sessions to show students where and how Java is used with real life examples.
  • Offer your speaking services to a school or university, to take over one class and show them how Java is used.

 

These simple actions will have a powerful impact on the way students might look at Java in the future and these students are the future of Java!

 

Key Takeaways

As a conclusion, I present the 4 main actions that were presented by these fine speakers. These actions are meant to let the community grow in both knowledge and numbers.

Go and participate in your local Java User Group.

Go to talks and start conversations with other Java Users. The worst thing that could happen is that you learn something.

Become a Java Speaker.

If you like talking about Java. Don't hesitate to become a speaker. Your local JUG can even help you grow your speaking skills. And maybe you can become the next Venkat!

Connect to local schools and universities.

Get in touch with the local schools and universities and help them with their Java courses. This can be done by talking about, or even demoing, Java 21, Spring 6, ... and its use in business today! Again, a local JUG can help you with this.

Become a senior mentor to a junior crafter.

Don't hesitate to aid juniors in their learning process and change their vision on Java and its ecosystem. Show them the ropes to become a great software crafter!

What will I do?

  • I am already engaged in my local JUG, so hopefully I will see you there!
  • I am in the process of setting up a new Jug in Ghent and Bruges, so if you are interested, connect via LinkedIn or X (the former Twitter).
  • I want to become a speaker for JUGs and universities, so I am joining the BeJUG speaker training!

This completes my journey of Devoxx, which I enjoyed very much. Do you wonder what you can do? Let's connect and start talking!

Special Thanks

First of all, thank you Continuum Consulting for the great opportunity to attend Devoxx 2023. But also for the great opportunity to learn and grow as a Java Crafter and give these opportunities to everyone with the right mindset! Secondly, thank you Filipe Yanaga for the great conversation we had on the vision of students on the Java ecosystem and how we can impact it. I really hope to speak to you again in the near-future.

Lastly, thank you Sharat Chander and Tom Cools for the great conversation on the future of Java and how I can start contributing to the JUGs. And thank you for the most valuable coin in the world: Java 25th anniversary coin

IMG 4341
IMG 4343

Nick Bauters

Java Software Crafter

Nick Bauters, a dedicated Java Software Crafter with a background in IT training and coaching, excels in crafting clean, maintainable software using the latest frameworks like Spring and Vaadin. Beyond coding, he thrives on snowboarding adventures and quality family time, both in the Ardennes and on the slopes.