Jim Grisanzio

Tom Cools: My Mission to Spread Java


Listen Later

Duke's Corner Podcast with Tom Cools, an engineer from Belgium, a conference speaker, a Java Champion, and the leader of the Belgian Java User Group. "I make it my mission to spread Java all over Belgium," says Tom as he describes how he runs the BeJUG as an Open Source project that takes contributions from the community. Here in this conversation Tom also talks about how the recent evolution of Java with rapid release cycles and new innovations attracted him to the language he loves. Tom is also a certified teacher so we discussed learning strategies, stress management, social media, managing change, AI, burnout, and other life experiences developers must deal with as they navigate through their careers in software development.

Interview Archive

Transcript

Tom, Tom Cools, welcome to Duke's Corner for the first time.

0:03

Thank you. Thank you. So great to be here. Finally. It took a while. It took a while, but we're here.

0:07

It did. It took almost a year, I think, Tom.

0:12

Yeah, well, I was doubting to switch companies and maybe doing a podcast while just switching companies isn't the best, if you want to talk a bit about your career and such. So it took a while, but now I'm settled into the new company. So time to have a chat. Yeah, it's great. Great. Excellent.

0:27

So yeah, no, you've been on my list for a while. I just kept you there. And so we finally hook up and it's really cool. So you are in Belgium, right?

0:34

Yeah, I'm correct. I've never lived anywhere else. So it's the land of fries and chocolate and all the good stuff. Actually, I'm lying because I did live for one year in the Netherlands, but there's this rivalry between the Netherlands and Belgium. So I don't always confirm that I lived in the Netherlands, but... Yeah, I love Belgium.

0:53

Belgium is like the great place to be. And I'm very happy that I was able to push my beloved programming language here a bit because I'm also, for people that don't know, I'm also the organizer of the Belgian Java user group. I make it my mission to spread Java all over Belgium.

1:09

Excellent. Well, it's a small place, so you should be able to reach every corner, right?

1:13

I was only there once. That's actually the amazing part of living in Belgium. It's a two-hour train drive and I'm in Amsterdam. It's two and a half hours and I'm under the Eiffel Tower in Paris. It's two hours and I'm in London by train. So if you want to explore Europe,

1:30

then Belgium is a great place to hang out for a couple of months and just travel from point to point.

1:35

Yeah, Europe, I mean, physically Europe is very big. It's like the United States, but it's so tiny once you get in. It's very, very different. you know for americans to understand i mean i go for two hours and i'm still in

1:46

osaka and i live in osaka you know so this is still the same city so okay yeah so so you're also a java champion and you lead a java user group you speak at conferences and stuff like that and stuff you love to you know talk about java why why do you love to talk about java

2:03

I need to wind back a bit because my start with Java was a bit weird. 11 years ago, 11 and a half years ago, I joined a consultancy company and a consultancy company did two programming languages. Either you became a Java consultant or a .NET consultant. And at the start of my career,

2:18

I basically got asked the question, what do you want to do, Java or .NET? And my honest answer was, I don't care, you pick for me. So I told my manager, you know what, whatever you need at this company, I'm just starting out, you pick for me. And when I left a couple of months ago,

2:34

I actually told this story again to my manager and I was reminiscing like, what if he had said .net? I wouldn't be talking to you today. I wouldn't be a Java champion. I wouldn't be hosting the Belgian Java user group. So it was basically pure luck that I ended up with Java.

2:48

It took me a good year to really fall in love with the programming language because I did my internship in .NET, then switched to Java, and it took a while because it felt a bit more, at least at that time, that's 11 years ago, it felt a bit more rigid. The release cycles weren't what they are today,

3:03

so it was a release every three years or something, not every six months, like a nice cadence. But gradually, all these things started to improve and improve and newer things came out. I remember Spring Boot coming out like, oh, we don't need these servers anymore. We can just have this jar that runs everything. And it started evolving.

3:22

Then Grawl came with native images. And then, yeah, I've been in love probably for 10 years now. So it took about a year to get used to the changes. And then once I rolled in, I just wanted to go.

3:35

So there seems to be a difference between before the release cycle and now. Because everybody brings that up in one way or another.

3:43

Yeah, it just felt, you know, all these stereotypes we're still trying to get rid of. Java is this old enterprise-y language, and it's slow when it doesn't evolve. Yeah. We're still carrying that legacy along with us, but if you look close enough, that's not what it is at all. Things like Project Loom, the virtual threats,

4:02

it's bloody amazing that they got that in there after so many years. Never really breaking backwards compatibility with previous programming language versions. Well, there's always a few breakages, but mostly... You can still run the same Java as you did that many years ago, but you have a bunch of cool new features. So this evolution, I think,

4:22

was the biggest trigger to bring my enthusiasm and also the enthusiasm of other people. Like, oh, look, it's evolving. Every six months we have something cool. Sometimes it's not finished with these preview features, but we can already see. What I really like is that collaboration that it also brings. Because before,

4:38

it used to be you have a team of Java engineers that go away for a couple of years, or at least that's what it looked like from the outside. They go away for a couple of years, they've come with a new Java version. Now it's Java engineers post a Java enhancement proposal.

4:51

Everyone on the internet can see it. Everyone can comment on it. You can try out early builds of the OpenJDK. You can do a bunch of stuff to really contribute to Java, the programming language itself. And I think we really needed those shorter release cycles to enable these preview features.

5:07

And these preview features are the ones that really enable people to contribute. Because before it was like, we made a spec, we built it, good luck with it. Now it's, we build a spec, everyone please look at it. We're not sure, here's a preview feature. And then we can iterate. But before there was no iteration,

5:21

it was basically, we wait until all the features are done and then we just dump it on. Dump it sounds a bit aggressive, but it felt a bit like throwing it over the fence. Like, okay, we're done with this version, let's go.

5:32

Well, it's interesting you mentioned that iteration. I mean, I've been working in open source communities for a long time since Sun, Sun Microsystems. And I learned a lot about that very simple concept of iteration. Working at Sun on the Open Solaris project, I used to watch the engineers do code reviews and do architectural reviews.

5:55

You would start this long thread, multi-hundred email thread on a mailing list, and you would start at one – essentially, you would start at one place and you would end up someplace very different. But then you have all that consensus building. And also, you had this education process that took place.

6:11

And I can imagine it's the same when you're releasing, when you're doing early release builds and things like that and publishing code and specifications and things like that. It gives people a chance to educate themselves as development is taking place. So just like you mentioned, it's not just dumped and there it is,

6:30

a couple of million lines of fresh new code for you to digest.

6:34

Yeah, and I also think it is a good way to get out of the bubble of creation. And with that, I mean, if you're working with seven people on something, you get so focused on, oh, we're building this and we share the vision that sometimes you get these blind spots that you don't even see anymore.

6:49

Like, oh, but is this actually good for our users? Because we're so focused on the nitty gritty details that you sometimes forget the wider sense of, is this usable? Yes or no? And I think by breaking it open, it has been done with the Java enhancement proposals and so on.

7:04

It's a great way to just say to the entire community, hey, it's basically a card to say, don't come complaining afterwards because you had any chance to help us make this better. Sometimes there's trade-offs. And what I actually like very much about how Java is being, because you always need to have some stewards, right,

7:24

that drive the process into a certain way. When there's certain things that can't happen, I love the explanation that Brian Gutz, for example, says like, yeah, I get that you want this feature, But here are all the reasons why you actually don't want this feature. And then when you read his arguments and his thinking, then you're like,

7:42

oh, I didn't know that my simple convenience feature would have this cascading effect through the entire JDK. So maybe you're right. Maybe we shouldn't be doing this. But that's all these insightful things that you might miss. And I really like, for example, I know Nikolai posts videos on those frequently, like, why is this the case?

8:02

And I love knowing the reason why we don't have certain things.

8:05

Interesting. So what types of things do you do to talk about Java out there in terms of what are your activities?

8:12

Yeah, so the biggest one is organizing the Belgian Java user group. It's a user group that has existed since 1997. So I believe it was one of the very first user groups, originally created by Stefan Janssen, known from DevOps and Vox fame. But around 2018, I believe, was the last event. And then it kind of, well,

8:35

it was going downhill for years, at least if I look in the history on meetup.com, 2018 was the last one. And I knew that was the last one because I attended that last one. And I was like, ooh, it's been a while. And then eventually I took over. There was a small sidestep.

8:51

During COVID, I tried to run my own Java user group, the Entrop Java user group. I had a genius planning idea to start creating a meetup February, 2020. So that went downhill pretty fast. We had like two meetups at like six people at each meetup max. So that was not what I was feeling.

9:12

But as COVID went away, I talked to Stefan, like, hey, Stefan, you still have the Belgian Java user group. Can you help me promote the end for a Java user group? Because you have this network and so on. And he said, I'm paraphrasing here, he basically said, yeah,

9:24

but why don't you just take over the Belgian Java user group instead of starting and something new, just take over this thing that has already existed. And that's what I did since 2022. So after COVID, it was actually pretty funny. You know, meetup.com? So that's the place where the meetup is organized.

9:41

Did you know that if the leader of a meetup steps down, that any member of the meetup can say, I own the meetup now?

9:48

Oh, really?

9:49

Yeah. So at some point, I was a member of the group. And at some point I saw the banner. Hey, the event organizer has stepped down. Click here to claim ownership. Yeah. And my initial thing was, I'm going to claim this because I don't want any sort of cynical marketing company to claim this.

10:05

I don't want, because it's really cheap. For 50 euros, some cynical marketing company could have said, click, now I own the Belgian Java user group and the entire mailing list. So my first thing was, I'm going to safeguard the community from that. I'll take ownership. Then I organized the BOF session at DevOps.

10:23

And I just told the Belgian community, Belgian community, This is what happened. I now own the Belgian Java user group. Who wants to help organize this and then we can do it together because I don't want to do it alone. Because at that time, me and my wife were starting to look into having children.

10:40

And I knew that while I had a kid, I didn't want to post a meetup full time. And basically, I have a few people then that stepped up and said, I want to help. And since then, we've been going every month like clockwork.

10:52

Really? Well, that's really cool.

10:53

So it was really a coincidence that I saw that it was available and then being like, I don't want anyone to claim this that I don't trust. Yeah. Which sounds a bit selfish, but it would have been a good deal for any marketing company, but I wouldn't allow them. And we've been going every month since then.

11:10

And I think that's the biggest way I contribute to the Java community right now. I make sure that every month there's an event. I have asked a ton of people to help out and they do. which is amazing. And I try to keep it as open as possible. So our meetup is a bit weird, according to some.

11:31

We basically run it like an open source project. So we have a GitHub project with all the issues. And the issues are meetup November, meetup December, meetup January. Inside the issue, I have a few items that need to be checked off. We need a location, we need a host, yada, yada.

11:51

And then I say to the community, whoever wants to organize this, go ahead. Oh, interesting. But if you don't do it, then I do it because I make sure that every month something happens.

12:01

Okay.

12:01

So that's sort of how we organize the meetup. And also for other stuff, I just post a ticket or someone else posts a ticket when they think something's important. For example, I'm going to show you the sticker. I know in podcast land that doesn't work, but we have this nice Belgian jug sticker.

12:16

This design is fully made by someone that answered one of those GitHub tickets. I just made a GitHub ticket. Hey, we need a recognizable logo for the jug. Someone answered, Luik, who is now one of the co-organizers, created that logo, printed stickers, and off we go. So I try to keep it as open as possible.

12:33

Anyone can contribute anything they want at any time.

12:36

But it's really interesting that you do that. It's a nice way to keep track of contributions because everything's there. Everything's in public. You can have a situation where someone is doing a lot of work, but it's not necessarily easily visible. And so that's really a great idea to do it like that.

12:57

Yeah, and I do make it a point to yell out. So whenever I mention the sticker and the logo, I will always say that Loic Mania created this. So I do give credit where credit is due. What's also in that same repo, by the way, is our guidelines.

13:14

So while I say anyone can host it and anyone can organize, we do have some guidelines that everyone has to obey. And whenever we need to make a modification on the guidelines, it's by approved pull request because it's all Markdown files. So it's a very developer-oriented way to organize a meetup.

13:30

But I think when you're organizing a Java user group, you can expect some developer-oriented crowd.

13:36

Yes, absolutely. That's really innovative. I had never thought of that. Usually, you know, someone has a website or they have a meetup and you just, you know, someone gets a room somewhere and you send a notice. Who's going to be speaking? A couple of people speaking, you know,

13:51

and then maybe you go out to dinner afterwards and stuff like that. So it sounds like you have a real feel for managing a community, for basically not only contributing, this is a major contribution that you're doing, but there's also sort of a, you have a lot of thought went into how you can get people to contribute.

14:11

Yeah, and there I do need to go back to the fact that I lived in the Netherlands for a while, because one of the reasons I wanted to have a Java user group in Belgium or an active Java user group in Belgium again, because I'm so jealous of the Netherlands.

14:26

And as a Belgian, this hurts to say, but they have like If you throw a stone in the air, you will hit the Java YouTube group leader on the head. There are so many leaders there. It's incredible. And in Belgium, at some point, we had nothing active. We had DevOps, the biggest conference,

14:43

one of the biggest conferences in Europe, but no monthly thing. Really? So that's where the jealousy came from. And actually, my hidden plot that's actually not so hidden because I keep telling every month at the meetup is, my dream is that the Belgian Java user group is a step up for more Java user groups.

15:01

So whenever someone comes to me like, hey, Tom, I want to organize my own Java user group, I tell them, no, don't start your own user group. Help me organize the Belgian Java user group. In your locations, the way we've set it up, you can do everything yourself.

15:17

but you have me to help and you don't get lost in the, you need a new logo, you need to meet the .com account. You don't get lost in all the administration that it takes to set up a user group. Do it a couple of times. And if you love doing it a couple of times,

15:30

I will help you set up all the things for your own user group, but make sure that you like it first. So it was always meant as a springboard for newer Java user groups. So one of the things that we do to try to enable that is Belgium has provinces,

15:45

and every month we host in a different province. So last month... Last month was in Blam's Brabant. This month will be in Antwerp. Next month might be in East Flanders or West Flanders. Maybe sometimes in the French-speaking part of Belgium. And we really made the Belgian jug Belgian again by making sure that it's more like

16:06

a traveling circus. Because sometimes these national jugs, they park themselves in the capital city of the country. We explicitly do not want to do that because our goal is to make sure that at some point there will be enough mass to create a separate jug for a smaller area. That's the idea.

16:25

Interesting. The, you know, the Oracle, the all India Oracle user group has something kind of similar where they have, you know, India is obviously slightly bigger than Belgium. But, you know, they have sort of this all India Oracle user group concept that it's in like 20 different cities, right?

16:44

And over the years, they've all developed sort of their own, you know, personalities. And it's mostly database and cloud and things like that. But interesting. Tell me why – I've noticed and a lot of other people have noticed recently as well that the user groups and the conferences in Europe are very active.

17:04

And that's not necessarily the case in other parts of the world, certainly after COVID with all the shutdowns and everything. Yeah. I'm wondering if you have any thoughts on that. Is there something unique about what's going on in Europe? Or has it always been this way?

17:20

That's actually an excellent, has it always been this way is an excellent question because I don't have a good view on how it was in different countries. I have been to DeafNexus in Atlanta. So that's like my only kind of reference when it comes to real international conferences. I'm not entirely sure if this is correct,

17:39

but in Belgium, at least, there is a thing where employers are forced to educate their employees. So you are forced to give your employees a certain budget. And what is an excellent way to make sure that your employees don't lose a lot of working time and get a lot of good content,

17:58

you send them to a conference for a week.

18:00

Interesting.

18:01

So that's, I think, what is a big part of it. But it's also, especially if you look at the Netherlands, it's also a cultural thing. It's just getting together, sharing some knowledge, and then having fun. It's almost like, you know, people have different hobbies. Some people go sporting, like football team.

18:20

Some people go to a musical band that they play in. And I think it's a bit like that for programmers as well. But it's about programming. You come together with a bunch of people and you share some values and a hobby that you want to talk about. And you just get together.

18:36

And I think also because Europe is quite more densely packed population wise. So it's easier to organize something if everyone goes to a certain office to then get together. But I'm just grasping because I don't really have a good reference to compare with different. With different cultures much outside of Europe.

18:57

Well, it's interesting because there's an active conference circuit, but there's also the jugs are very active there as well. And so I'm just wondering, I tend to ask when I get a European on the phone, not that it's a uniform place, obviously, many different countries, but I try to see if I can figure out why,

19:16

because I don't have an answer either. All right, so you said earlier that you sort of had this decision to make with .NET and Java. Yeah. But go back a little further. Like when you were a kid, did you always want to get into software development?

19:31

Have you been hacking on code since you were a little kid, or was this a later decision?

19:35

Oh, not at all. This was a much later decision. The only thing that I remember coding-wise... was I used to be a big video game player and I played competitively. I played competitively America's Army, which was like this American army recruitment tool slash free video game that you could play and Call of Duty.

19:57

And if you do competitions and you want to be a cool group of people that play together, you wanted to have a website. And that's actually where I started sort of programming that's building websites for my group of people, a clan, they call it. and then play video games together.

20:12

So I've made awful, awful, like, fire banner websites with all the ugliest anime. Those are the best ones, though. Those are the best ones. I'm sorry, I shouldn't call them ugly. It's more like very retro, like fire banner, laser things, and crazy, crazy movies.

20:30

It was incredible that you were able to move something on a screen back then.

20:33

Exactly, exactly. And the thing... When young kids are learning this stuff now, the tools are so advanced, they have no concept of how much fun it was to do the stupidest little thing years ago.

20:44

yeah exactly i think now that you mention it the the thing that was a little bit like programming but it wasn't programming at all there was this video game called the incredible machine where you basically some kind of ball fell and then you had

20:57

to put trampolines and stuff it's like a physical machine that you had to create sort of program by putting the things in the right places oh okay And I think that's sort of where the algorithmic thinking came, like, okay, so if I place this here, then the ball goes there.

21:12

And you could sort of program it like that. But I think the websites were the first real thing. And what really made me transition is I made a small detour. So I graduated high school, and I was convinced that all my teachers were, how shall I say this politically correct, subpar students. And I could do better.

21:31

So I actually went and got my teacher's degree for high school. So I'm a licensed high school teacher in Belgium for economics, law, bookkeeping, and IT. But IT in that case meant, of course, Word, Excel, and PowerPoint, not anything programming. But in the last couple of lessons that I had, we did discuss JavaScript.

21:57

And surprisingly, I fell in love with programming kind of there. Programming in JavaScript, also creating some scripts in, what was it? Adobe Flash. So Adobe Flash to create Flash games. And that's where I learned a little bit of programming. And when I graduated my teacher's degree, I was 21 years old.

22:14

And I told my mom at the time, I'm too young to go stand in front of a classroom and tell kids what the world is like. Because that's what you do as a teacher. You have to tell them, this is what the world is like. These are the things you need to learn.

22:26

And I told myself, I'm 21. I know nothing about the world. I need to go explore some more. So I jumped to a second bachelor degree being IT. And that's where I really learned Java.net and all the good stuff. Did some international projects, even went on Erasmus exchange.

22:43

So that's student exchange from Belgium to Finland, nice and cold. And that's where I also fell in love with international travel and communicating with other people and building a community.

22:54

It's interesting, two bachelor's degrees. That's kind of rare. Usually it's a bachelor's and a master's, so you follow up with a master's. But you did two separate bachelor's degrees. Yeah. And there's not a lot of overlap between those two degrees.

23:09

Just a small, small piece of how to communicate with people. But I think also the teaching degree really helps a lot now that I want to speak at conferences. And I think it's kind of inverse. I love teaching. And I think speaking at conferences is like the next step. Well, it's a different step in a way.

23:29

It's not teaching directly as in you can ask a lot of questions and a lot of interactivity, but you are teaching something. And my teacher's degree actually allowed me to take complex things and wrap them in a nice package and deliver it in 50 minutes, which is very convenient because the time slots,

23:48

so the lesson duration in Belgium is 50 minutes. And when I heard that most conference slots are like 45, 50 minutes, I was like, Oh, I know perfectly how long it is. I can just look at a piece of paper and go, yeah, that's 45 minutes.

24:03

I don't have to work on timing that much because I've done so many 50 minute lessons that I know quite instinctively. This is how long, how much content I can put in that amount of time, which kind of throws me off because on Friday I need to give a conference talk that's 30 minutes. Too short.

24:20

And then it worked against me.

24:23

Well, this is interesting, though. So you must have some feelings about how software is taught now. In other words, you have some experience as an adult, but you also have teaching experience. I mean, I know when I took programming classes years ago, it was archaic.

24:40

And now with a lot of advanced tools, there's, you know, there's so much more you can do. However, the interface is the teacher, high school or college. So do you have any thoughts about how software is taught now versus years ago?

24:55

Yeah, and I'll preface this by saying that at my previous company, I was actually given the opportunity to teach at a university for one semester. So I actually was able to put this into practice. It was very practical. What I like to do now is get the students hands on as quickly as possible.

25:15

But I'm also a big believer that we shouldn't be teaching kids too much at the same time. And with kids, I mean, I'm sorry, I still view students as like my kids in a way. It's a very familial thing. It's not meant as a negative like these damn kids. It's meant as a nice thing.

25:33

But I've actually spoken at conferences about this. And that's the concept that there's a lot of, do you know cognitive load theory per chance? Like the idea that there's only so much at the same time that you can have in your head. Well, I try to build gently when I'm making my lesson plan.

25:52

I try to first give a broad overview of this is approximately what we're going to do, a bit vague. And then we go in depth into small slices that only introduce little small new pieces one at a time. And then once that all is done, I make a bigger exercise that kind of integrates everything again.

26:09

And I really like what is happening and has happened in Java with JShell in the past, make it easy to write small pieces of Java without having to introduce people to a full-blown editor and so on. And I really like, I know there's some contention in the Java community about this,

26:25

but I really like the new way to start Java programs with a simplified main method that you don't need to have a class, you don't need to have the public static things. Because whenever I try to explain things, the start of Java, when you start teaching Java and you give them that public static void main block,

26:45

I've had students, not all of them, but I had some students completely go, what is this? What is all these things that I don't know what's happening? And then you basically, until recently, only have one option. As a teacher say, ignore what's in there and only read what's between the brackets.

27:04

Don't care about the static void main yet. But I had some students that basically said, no, no, no, no, I'm going to look it up online because I need to know what public means. I need to know what static means. And they go...

27:15

Absolutely. You're correct. Because some people, myself included, cannot move on, cannot function. We do seize up if there's stuff there that isn't explained or we don't have a grasp of because we feel like other people know it. And so it's a blockage. It's a huge, huge blockage. So that's really interesting. In many subjects,

27:40

you'll sit there and the teacher will say, here's the material we're going to learn and this is what I want to focus on here, A, B, C, and don't worry about X, Y, and Z. But it's right there. It has to be influenced in some way.

27:53

Yeah, I think there we've made some remarkable strides to make it easier, this on-ramp. And I think that's going to be very important if we are going to try to introduce Java, introduce, it's already there, but reintroduce or revalue Java in all these universities again.

28:12

Because a lot of universities have moved on to Python or different programming languages. One, because the curriculum was a bit too much. So they tried to, you know, they're teaching AI now and to sort of condense the amount of programming languages that students need to know.

28:26

We're going to drop Java because they're already learning Python for other stuff like machine learning. So they can learn REST APIs and such with Python as well. And I think they're making it easier to learn Java. It can only be a good thing.

28:39

So let's stick with Java for a second here. You mentioned a little bit earlier on the release model and following projects contributing in that way and being able to have access to the technology in smaller bytes over a series of time. What else about Java makes it unique or special or something that you love to do in

29:00

terms of the technology itself?

29:02

Well, recently with all these LLMs and Gen AI, I love how easy I can integrate those things while still sticking to my main programming language. Because a lot of people told me, oh, you can't do AI in Java. You can totally do AI in Java. Don't worry about that.

29:21

And that's one of the things that I love most, that it keeps evolving, keeps with the times. When we were moving to microservices, you had Quark is coming up and Spring Boot and all these frameworks that make it really easy to build single runnable jars or Docker containers or whatever.

29:37

Just the fact that Java is still running with all these new technologies. And if I look at what's coming up with Project Panama and Leiden and all that good stuff, I just get so excited. And also the, I have to mention it, GraalVM, being able to compile to native and just have command line tools that run Java,

29:56

that was unthinkable a couple of years ago. And just enabling Java as like the, it sounds a bit unrespectable, but really right ones run anywhere. Like before we had the JVM, but there were still limitations because you had to install a JVM. But now it's with all these new things, it's really anywhere. Yeah.

30:16

So that's what I like.

30:18

It's an amazing evolution. I mean, I oftentimes, you know, 30 years now, it's 30 years this year and a couple of months, I guess, and 30 years of continuous development, you know, and also the community, 30 years of continuous development in the community. And it seems like it's just, it's everywhere as a marketing slogan, you know,

30:37

Java is everywhere, that kind of thing. So what do you think? I mean, is there, what do you tell, you know, like at the conferences and the hallway sessions, you know, when you, especially around when you get around young people. I've been to a few conferences in recent years where I was around,

30:56

like I was at this conference in Vietnam, Voss Asia, and there were 5,000 students there. They were all 22, 23, you know, children. They were children, right? And compared to me. And so, and I was talking to them about, you know, what they're learning. And I told them that, you know,

31:12

one of the most important things you can do at this age is to build your network. The technology in class, but it's really great if you can build your network by contributing to user groups or starting user groups. And then if you can find a project either in class or outside of class that you can contribute to,

31:31

start learning the concept of contributing something. So that's just an example of conversations that I would have at a conference with experts. young people. What about you? Tell me about some hallway conversations that you have, particularly with young people. I'm most interested in them, but really it can be anybody.

31:49

Yeah. So ever since I became a Java champion, I get the question more and more, how did you become a Java champion?

31:54

Oh, specifically that one, huh?

31:56

Yeah, specifically that one. But I sidestep it and I almost always go to build your network because that's the most important one. It's basically how I got my new job. One of the CTOs saw me speaking at a conference, liked it, and said, hey, if you ever want to be a developer relations guy,

32:14

eventually I'm going to need one. So once the time comes, I'll call you. And a couple of months ago, he called. So that's basically how I did things. Building a network, it works in very weird ways. Even if you're not planning to leave your company, knowing someone who works on something is very interesting. So for example,

32:34

a couple of years ago, I had a problem with a certain software, which I will not name specific by name, but I knew the developer that was part of the team. So I just posted a message to the developer like, hey, I can't get this stuff to work.

32:49

I know there's official channels, but I'm really in a pickle. Can you help me? And because he knew me, he helped out. So it can work in really weird kind of ways. So getting involved with the community, especially, yeah, of course, I toot the bee jug horn all the time.

33:06

So I keep telling people, come speak at a bee jug, even if it's Even if you think you have nothing to share, share your experience. Your experience is unique. You don't have to be a super expert to start contributing in any way. Even if you just print out a poster and put it up in your office,

33:22

luring people towards Bijak, all good. But getting people to know you is very important. The second sort of conversation that I'm involved with, because most of my topics that I've spoken about at conferences have not been technical, but more career-oriented. And my most successful one, if I can say that,

33:42

the one that got accepted at the most conferences and I got to do the most, It was actually about learning how to learn. So advice to developers, how do you learn something? And that is what I got the most questions about. And very personal questions like, people called me too stupid to learn this.

34:00

Well, how should I react? To which the answer is, you ignore that and you take things step by step. But the learning part will always be a big part of what I do. I didn't pursue my teaching thing at high schools, but I still am a teacher by heart.

34:15

It sounds like it. I think what you say, I mean, it hits me for sure. I also do a presentation on building community and contributing to communities. And so I touch on the concept of learning as well, because I struggled when I was young to learn. Many times I was told, you just can't do this.

34:34

Oh, that used to used to drive me nuts, you know, because it's obvious I can't do it. OK, I'm failing in this particular class, whatever it is. And I don't need to be told that. I mean, you know, thanks a lot. That's not helping me very much. And I once had a kernel developer tell me that,

34:50

you know, I got some bad advice when I was young. So that, you know, because you're smart enough, you can do these things, you know, that really made me feel better, you know, handled like the technical things, the advanced algebra and calculus and things like this and differential equations and things that I really, really struggled with.

35:07

So that actually means a lot. So I think it's valuable for you to be combining these two disciplines so you can talk about these things. Because a lot of people, you know, we're afraid to say, you know, we're afraid to say that we struggle learning with some of these things. And it's valuable for you to say that.

35:25

I think that's why the talk was so impactful. I actually had a few people crying almost. You know how people line up after a talk, like you end your talk with, are there any questions? Nobody raises his hand. And as soon as you close your laptop, people come to you and ask questions.

35:41

I had people basically almost crying and thanking me, like, thank you so much for, because it's a vulnerable story, because I say where I failed and where I think I could have acted differently and give a lot of advice. And The main message is you're not stupid.

35:55

You're probably making the small mistake of trying to learn too much at once. So take smaller steps and you will get there. It may take you longer than someone else. Don't care about that. Just focus on yourself. And just sending that message, I had people come up to me like, oh,

36:09

thank you so much because I've been stuck trying to learn five programming languages at the same time. And I said, yeah, if you're overwhelmed, maybe choose one. just choose one learn that and if you it also has to do with how much is going on

36:24

in your life right when my son was born i love my son but he takes a lot of my time yeah time i spend gladly there's no second doubt that i would spend any time with my son i love that kid to death but i cannot lie i cannot learn as fast as i used to yeah

36:43

I used to spend entire evenings building cool hobby projects. And I like doing stuff and then exploring and seeing what explodes, basically. But now that I have my son, I'm like, yeah, my learning ambitions are a bit lower now. And that's perfectly fine. And even if it's not something positive like having a kid,

37:04

I also had a burnout a couple of years ago. During my burnout, it was basically, number one focus is get better. No learning. Just take time to recover and get better.

37:14

Well, I've gone through both of those experiences, so I know exactly what you're talking about. The burnout, the health issues and having a kid and everything.

37:24

But burnout is such a nasty thing, man. Seriously. And I think if you spend too much time on social media or you look up too much to other people, because in my head, I was looking at Java Champions and thinking, oh, they do all those cool things.

37:41

But in my head, I forget that it's like 50 different people. And in my head, it's like, I want to do all of that. But it's 50 different people doing all those things.

37:48

Well, you mentioned social media. It's like the distractions are a big deal. And many times people just don't get how expensive switching is. You know, the switching cost. It's basically half an hour when you switch tasks. That's a long time for you to be able to reset and get into the next task.

38:06

If you're constantly switching all day long, especially on social media, you're not getting anything of value done. And you can really feel seriously burned out like that.

38:16

Yeah. And if you're not careful, because a lot of people boast on social media, like, hey, I did this cool thing. I did this cool thing. And then you're like, oh, I'm not good enough to do that cool thing. Yeah. Just stay away from it. Try to build your own path,

38:30

even though it might feel tempting to go like, yeah, but I want to be that person. No, you don't. You want to be yourself, stick true to yourself, do the fun things that you like doing, and things will come. Build your network, make sure people know you for who you are, not some fake AI avatar or whatever.

38:48

What's happening now?

38:49

Well, it's interesting you say that, know you for who you are because everyone is unique. And what people don't realize, and even myself, that the combination of your unique history, Matt, plus the particular skills, plus the company that you work for, et cetera, is a unique package by definition. Yeah. You have an interesting mix.

39:08

You're mixing two disciplines, education and software development. I've spoken to people in the Java community who went through a biology degree as an undergraduate, and they have a master's degree in business, let's say, or software development or something. And they are mixing two different sciences, two different disciplines, but that makes them very unique. And everybody's unique.

39:33

Yeah. I love it when those people bring those mixed experiences. Mixed sounds wrong. Mixed experiences sound like positive or negative. Those different histories of themselves, when they bring it together in a conference talk, it's really entertaining. For example, I remember seeing, as you mentioned biology, I remember seeing Grace Jansa, who I believe has a biology degree.

39:55

And she was mixing it with some sort of deep microservice thing. And I don't remember exactly what she was talking about, but I remember being really inspired, like, oh, these things come nicely together. There was another talk that I saw, who has a psychology degree, and she had this really funny talk about,

40:16

what does your code say about you? Are you a psychopath or are you a normal person, depending on how you code things? That was super entertaining and it was grounded in science. And I also noticed that my own conference talks are the most successful when I bring these different facets of myself to the stage.

40:33

My newest talk is about dealing with change and it talks about becoming a father because it's the biggest thing that happened in my life, but also tying it back to The biggest change that's happening now, AI, is changing a lot. People are afraid of their jobs sometimes. How do we deal with change in general?

40:50

And I think bringing different facets and different aspects of yourself on stage and sharing that with people makes it way more easy to emphasize with your content.

40:59

So in the hallways, are people really seriously, I mean, I know they're excited with AI, but are they really seriously concerned? Or is that just over-exaggeration in the media?

41:09

I've had some conversations, and I won't say where or when, but I've had some conversations with some colleagues, and some people are concerned, but it's mostly for different reasons. Some are concerned because, I'll speak for myself, I'm a little bit concerned, but Because in the past, I've made programming too much of my personality.

41:31

As in, I used to call myself a coder, probably right after I call myself a husband to my wife. So it's such a big part of my identity. And once your identity becomes under threat, suddenly there's something that can do what I thought made me special. Interesting. Then that creates a bit of...

41:52

There's also the economical part, of course. Are we going to lose our jobs? Yes or no. Some people are worried just financially about that. But I've come to, for me, I've come sort of to the conclusion that it doesn't matter. I mean, no matter what you think it's going to happen,

42:07

And so you better prepare yourself the best you can. Take time to... I'm also very... Since I had the burnout, I'm very sensitive about how I feel and how I react to things, like on a psychological level. And I try to process my emotions and my feelings whenever I feel my heart rate

42:23

going up because I saw that AI can do something that I... I used to be uniquely empowered to do. Then I do breathing exercises. I meditate and I try to check like, what am I feeling inside? Is this like serious stress or is this just something else? Or didn't I sleep well?

42:40

And take some time to process these feelings because just, I'm a bit more skeptical on people waving it away. Like, yeah, but it's just going to happen. Just accept it. I don't believe in the just accept it. Some people need more time to process what is happening at the moment with AI.

42:55

And I think we need to be respectful for that as well, especially when every conference last year was saying, you're all going to lose your jobs and AI is going to dominate. Maybe we should think a bit about how that impacts certain people in the room, because some people might actually be worried.

43:12

I think there are a lot of people that worry, but I also think a lot of it's exaggerated too. And so it's probably somewhere in the middle. I hate that expression, but I can't imagine that everyone's going to lose their jobs within the next two to

43:27

three years because I don't see these tools as actually having that ability to do that. However, it is going to change life. But it's not just changing life of programmers. It's changing life for everybody. But that's the story of technology. I mean, you can go back 5,000 years. I used to work in the construction business,

43:47

so I know the old way of developers, construction, goes back many thousands of years. And those technologies just throughout history have changed our lives for the better. We have clean water. Exactly.

44:04

I think a lot of claims are exaggerated. Both the positive ones of AGI is here and we're all going to be replaced tomorrow. And also the people saying it's never going to come and don't worry about it. I think both cases are sort of exaggerated. When it comes to your vibe of we've already been here before, right?

44:23

I actually had a story in my case. Something that actually happened to me that prompted me to make my new talk about AI and change is a couple of years ago. Well, when I started my career, so I always think it's a couple of years ago, but it's been a decade by now.

44:37

So when I started my very first project, there was this senior engineer and I had submitted a piece of code, pull request. I sent him a message, hey, could you review my pull request? But he was sitting right next to me, but asynchronous communication, you know, because I didn't want to take him out of the zone.

44:52

And suddenly he jumped out of his seat and almost yelled, these damn kids with their code completion, they don't know how to code anymore. Yeah. And I'm like, huh, what? Code completion? That's normal, right? And I was like, huh? Fast forward, I was doing code reviews for a school. So every year, my previous company,

45:11

we went to a university, they did a project and we did the code reviews to make sure that their code is up to spec. And I saw things in their code that I was like, no, this is all wrong. This is bad. And suddenly a thought passed my mind thinking these damn kids, which are damn LLMs,

45:26

they don't know how to code anymore. And the moment I thought that, I was instantly portaled back to that old engineer. And I thought, oh my God, I'm that old engineer now. I'm the one that's change resistant. And that really triggered me to think like, Oh, yeah. You know what? We didn't just have code completion.

45:42

People thought that code completion would probably take away a few jobs because we would be X times more efficient. Now it's this. And is it going to be the same scale or the same thing? No, because as they say, history never repeats, but it rhymes. So we'll see. We'll see.

45:57

Interesting. Well, yeah, we will see. It's everywhere. And it's fun for now. So...

46:05

Yeah, it is. We can stay employed. We'll stay employed. No problem.

46:13

So is there anything else you want to leave us with? This has been a great conversation. Did I forget to bring up an interesting topic that you want to riff on?

46:22

No, I really just want to highlight that if you think about hosting your own Java user group, just start doing it. My key advice would be ask. You have no idea how many people will say yes. I've been, for the past two and a half years,

46:37

been amazed by the amount of goodwill that I've gotten from famous people in our Java industry. When you ask them, hey, do you want to come over? A lot of people say yes. And I've been incredibly surprised about that. Venkat, come at our meetup, our small meetup, taking a big detour just to come to us.

46:58

I've had a bunch of amazing speakers. So if you are afraid to host something, you can find the BJC partnership guidelines online. Everything's open source. So please copy paste if that could work for you. But just try it. And if you already have a user group in the area, please go and contribute.

47:17

Even if you just go check it out, what it is. It's so much fun to just hang out with people and be able to really make a change. Because I know that people at our jug have gotten jobs, have gotten brand new opportunities, have become pretty big conference speakers themselves just by coming to our jug and

47:33

participating and So yeah, build your network and participate. I think that's the best I can send you off with.

47:41

Beautiful. I like it. I'll take it. I'll learn from it. I actually use it because I have a presentation where I talk about things that you guys have said. So I like that. So I'm going to steal that from you and I'll attribute. So thanks a lot.

47:54

It was great talking to you and hopefully see you at an event soon. Same to you. See you, Jim. Cheers.



This is a public episode. If you'd like to discuss this with other subscribers or get access to bonus episodes, visit jimgrisanzio.substack.com/subscribe
...more
View all episodesView all episodes
Download on the App Store

Jim GrisanzioBy Jim Grisanzio