(00:00:00):
Francois, Francois Martin, welcome.
(00:00:02):
Welcome to Duke’s Corner.
(00:00:03):
Yeah, welcome, Jim.
(00:00:04):
Thanks a lot for having me here.
(00:00:06):
It’s great to meet you.
(00:00:06):
We’re actually meeting here for the second time.
(00:00:09):
You and I met virtually,
(00:00:11):
let’s see,
(00:00:11):
when was like,
(00:00:12):
I guess it was about a month ago on a community call with Bruno Souza’s community
(00:00:18):
in Brazil.
(00:00:18):
Exactly, I think one or two months ago, yeah.
(00:00:21):
Yeah, I really enjoyed that.
(00:00:23):
That was like almost three hours.
(00:00:25):
I think I wrapped up at three o’clock in the morning my time.
(00:00:28):
But it was great.
(00:00:29):
We had a lot of conversations with the community down there.
(00:00:32):
And you were there, but you’re in Switzerland, right?
(00:00:35):
So what’s up with that?
(00:00:36):
You joined Bruno’s…
(00:00:37):
Brazilian call, but you’re in Switzerland.
(00:00:40):
Well, actually, he has two different calls.
(00:00:42):
And,
(00:00:42):
you know,
(00:00:43):
I joined the one that is in the European time zone and there is another one that is
(00:00:46):
in the Brazilian time zone.
(00:00:47):
So another one in the Brazilian time zone is at 2 a.m.
(00:00:50):
in the morning.
(00:00:51):
So I’m not sure if you participated in both or.
(00:00:54):
No, I just did one.
(00:00:55):
I just did one.
(00:00:56):
Ah, then it was in the European time zone.
(00:00:58):
But there were a lot of Brazilian people as well because,
(00:01:00):
you know,
(00:01:01):
they’re really eager to see you.
(00:01:02):
Oh, cool.
(00:01:02):
Yeah, it was great.
(00:01:03):
This was kind of a compliment for you.
(00:01:05):
Oh, well, that’s very kind.
(00:01:07):
Thank you very much.
(00:01:07):
I mean, I think it was about 20 or so people and I was really happy with it.
(00:01:12):
I was a little nervous, but I’m not used to being asked questions, to be honest, right?
(00:01:17):
So usually I’m on this side.
(00:01:19):
I can present simple things, community things.
(00:01:22):
I can present and I can do interviews, but being interviewed is a totally different skill.
(00:01:28):
True.
(00:01:30):
I have to say, you didn’t seem nervous at all.
(00:01:32):
I have to say, I know what you mean.
(00:01:34):
I’ve been starting to interview other people as well a little bit, and I know what you mean.
(00:01:39):
I was kind of surprised.
(00:01:40):
I was really flattered as I got a lot of compliments by others at how good I was at
(00:01:45):
interviewing others,
(00:01:46):
which I really enjoyed,
(00:01:47):
of course.
(00:01:48):
Good.
(00:01:48):
Good, excellent.
(00:01:50):
So you’re a full stack developer and you’re in Switzerland.
(00:01:53):
So yeah, let’s talk about what you do.
(00:01:56):
What’s up with full stack development these days in Switzerland?
(00:01:59):
I have to say it depends on,
(00:02:01):
you know,
(00:02:01):
I feel like in full stack software engineering,
(00:02:04):
there are quite a lot of different kinds of people.
(00:02:06):
There are those people who…
(00:02:08):
They just do strictly the front-end and the back-end.
(00:02:10):
This is kind of like, I think, what the traditional meaning of it is.
(00:02:13):
But in my case, I kind of expanded a little bit further.
(00:02:16):
And to me,
(00:02:17):
it goes towards being interested in a lot of topics that a lot of people may not be
(00:02:22):
as interested in,
(00:02:23):
like testing,
(00:02:24):
performance,
(00:02:25):
security.
(00:02:27):
deployment, monitoring operations, you know, things like this.
(00:02:31):
So in this regard,
(00:02:32):
I kind of consider myself to be a full stack dev,
(00:02:35):
you know,
(00:02:35):
really from all kinds of corners,
(00:02:38):
I would say.
(00:02:39):
I don’t meet that many people that go that as far as I do,
(00:02:42):
but I would say,
(00:02:43):
you know,
(00:02:44):
it doesn’t really matter.
(00:02:45):
It’s just that I have a lot of interests and this just happens to be why I have so
(00:02:49):
many things that interest me.
(00:02:51):
I kind of like to do a lot of different things and this makes it even more enjoyable for me.
(00:02:56):
Cool.
(00:02:56):
Interesting.
(00:02:56):
Well,
(00:02:57):
on that call,
(00:02:58):
on that Brazilian community call,
(00:03:00):
one of the things you said that is that you were a teacher or at least had taught
(00:03:05):
at a certain period of time than university students.
(00:03:08):
And I’m really interested in this.
(00:03:10):
So let’s talk for a few minutes about your teaching experience because –
(00:03:15):
I mean,
(00:03:15):
I talked to a lot of advanced developers now who might be,
(00:03:19):
say,
(00:03:19):
in their 40s and 50s,
(00:03:21):
and they learned a certain way versus how you would be teaching a 20-year-old today.
(00:03:27):
It’s a totally different world.
(00:03:28):
I mean, that’s like 40-year difference, right?
(00:03:30):
So talk to me a little bit about teaching Java or teaching computer science or
(00:03:34):
whatever it is that you taught,
(00:03:35):
right?
(00:03:36):
What was that experience like?
(00:03:37):
Sure.
(00:03:37):
Yeah.
(00:03:38):
So yes, that’s correct.
(00:03:39):
So I was teaching university students.
(00:03:42):
I was doing two courses.
(00:03:44):
One of them was I was teaching specifically university students that just started
(00:03:49):
out and we had two variations of the same course.
(00:03:52):
We had one variation where it was for the more advanced students,
(00:03:55):
which I didn’t teach,
(00:03:56):
you know,
(00:03:57):
for the ones that already programmed before and for the ones that have next to none
(00:04:01):
or no programming experience.
(00:04:03):
Those were the ones that I was teaching.
(00:04:05):
And I have to say it was really, you know, a cool experience.
(00:04:08):
It was the first time I was teaching people from scratch to be able to code.
(00:04:12):
And we were also using Java, by the way.
(00:04:15):
So we were teaching them in Java.
(00:04:16):
You know, me having worked with Java almost my entire life or, you know, really for most of it,
(00:04:22):
Java itself wasn’t a problem.
(00:04:24):
It was more like getting to know how to teach in the most effective way.
(00:04:29):
I feel like I had maybe less of a hard time with that because I was already giving
(00:04:35):
talks at conferences.
(00:04:36):
So this kind of helped me because I had this experience.
(00:04:39):
But still,
(00:04:40):
what it really helped me with as well was,
(00:04:42):
you know,
(00:04:42):
I had a little bit of this stage fright,
(00:04:44):
which probably most of us have,
(00:04:45):
I think.
(00:04:46):
But it kind of helped me get rid of that in a way,
(00:04:48):
which was like a nice secondary benefit,
(00:04:51):
I would say,
(00:04:52):
because I was in front of students every week.
(00:04:55):
But it was really interesting and I loved doing it.
(00:04:58):
You know,
(00:04:58):
I feel like as well,
(00:04:59):
that’s from my perspective and also from what my students told me.
(00:05:04):
I was able to teach Java quite well to people that never coded before,
(00:05:08):
especially because I remember when I was learning to code in the beginning,
(00:05:12):
I was in the same place.
(00:05:14):
I was studying and that is how I learned Java through those courses.
(00:05:19):
And I know how it felt to never have programmed before.
(00:05:22):
This was kind of something that I always got told by my students.
(00:05:26):
They were telling me,
(00:05:26):
oh,
(00:05:26):
you know,
(00:05:27):
it’s so great that you still have somewhat of an understanding of how it feels to
(00:05:32):
not understand everything instantly.
(00:05:34):
And also I have to say,
(00:05:35):
I wasn’t the best student back then,
(00:05:37):
especially in the beginning,
(00:05:38):
because I was really struggling.
(00:05:40):
It was very hard for me.
(00:05:41):
And I remember I was, especially in the beginning, I didn’t have that good grades.
(00:05:46):
And I always told my students,
(00:05:47):
you know,
(00:05:48):
when they were feeling really let down,
(00:05:50):
I told them,
(00:05:51):
you have to realize I back then was just as you.
(00:05:54):
I never coded a single line of code.
(00:05:56):
And I also really struggled, but I persevered through it to see where I am now.
(00:06:00):
And I’m also not shameful for telling them that I really had bad grades.
(00:06:06):
You know,
(00:06:06):
I told them,
(00:06:06):
you know,
(00:06:07):
in my first programming course,
(00:06:08):
the one that I’m teaching to you now,
(00:06:09):
I just had a barely passing grade.
(00:06:12):
which kind of is insane to believe if you’re looking at it now.
(00:06:15):
But I feel like this kind of really motivated a lot of students to see that,
(00:06:20):
you know,
(00:06:21):
even if you are struggling and if you are not the best student,
(00:06:24):
you can still make it through it.
(00:06:26):
And I was especially glad to see that there were students that started out really struggling,
(00:06:30):
but to see how much they worked for it and how much they improved and seeing,
(00:06:34):
you know,
(00:06:35):
I mean,
(00:06:35):
there are always those students that are great from the beginning.
(00:06:39):
But I find it even more interesting when I have a student that,
(00:06:42):
for example,
(00:06:42):
struggles a lot in the beginning and they make a huge leap in terms of the grades,
(00:06:46):
for example.
(00:06:47):
Or you notice how, you know, for some people, it just clicks in a way.
(00:06:51):
And then it, you know, they start to understand it.
(00:06:54):
And I find this to be a really cool moment.
(00:06:57):
And I also love supporting the students that struggle.
(00:07:00):
And, you know, especially since I was in the same situation before.
(00:07:03):
I totally agree.
(00:07:05):
That’s really interesting because when I was young,
(00:07:07):
I struggled too.
(00:07:08):
And I remember taking classes.
(00:07:12):
Well, I struggled with everything, but let’s just focus on the computer stuff.
(00:07:16):
I took a class in C and I remember I really liked it, but I can do the simple stuff really well.
(00:07:24):
And I liked the conversations.
(00:07:25):
I liked working with
(00:07:27):
You know, my peers solving simple problems.
(00:07:29):
But when it gets complex,
(00:07:30):
you know,
(00:07:31):
when the problems got like toward the middle and the end of the year,
(00:07:33):
when the problem sets got to be more complex,
(00:07:37):
I couldn’t handle the math.
(00:07:38):
And I was very, very frustrated.
(00:07:40):
But I got through it okay.
(00:07:41):
I got to be, I think, in my first C class.
(00:07:44):
And I took some earlier classes as well, you know, Pascal and basic and stuff like that.
(00:07:49):
And then I took C++.
(00:07:51):
And what a nightmare that was.
(00:07:53):
Oh, my God.
(00:07:54):
I just fell on my face.
(00:07:55):
I just could not handle.
(00:07:57):
C++.
(00:07:57):
I don’t know whether it was the teacher or just the structural language or whatever.
(00:08:02):
So I totally know what you’re saying.
(00:08:04):
As a result, I’ve always been interested in learning technologies, tools.
(00:08:10):
Back then, we had no tools.
(00:08:11):
I was just staring at a SparkSong workstation, just a blank screen with a cursor blanking.
(00:08:17):
No IDEs or anything like that.
(00:08:18):
That’s a while ago.
(00:08:20):
But I’m always interested in how students learn Java now,
(00:08:24):
you know,
(00:08:26):
in this time period,
(00:08:27):
because it’s a very different world.
(00:08:30):
They are already familiar with so much technology.
(00:08:33):
And they have really great tools now.
(00:08:35):
On the other hand, there’s a lot to learn now as opposed to 20, 30 years ago.
(00:08:41):
So do you think from your experience learning versus how you’re teaching,
(00:08:46):
what do you think the delta is?
(00:08:47):
What do you think the difference is between how you learned when you were younger
(00:08:50):
versus how they’re learning now?
(00:08:53):
I would say it’s quite a bit different, but in a good way, I would say.
(00:08:57):
Because I remember when I started out,
(00:09:01):
we were just coding in the IDE and every time we needed a library,
(00:09:05):
we just pulled it in as a jar file that we put into a folder and used it this way.
(00:09:10):
However,
(00:09:11):
now that we have already back then you had build tools,
(00:09:13):
but back then they were kind of,
(00:09:15):
at least at our university,
(00:09:17):
they were not really considered to be simple enough to be
(00:09:20):
manageable by the students.
(00:09:21):
So we didn’t use them.
(00:09:23):
But of course, you know, we managed through it, right?
(00:09:26):
But this is maybe one change I see that now we are using build tools as well.
(00:09:29):
So like Maven and Gradle that you can use and that does make the setup much easier.
(00:09:34):
You know, so students, they can start out really easily.
(00:09:38):
And also we are using Git now, which we haven’t been using before.
(00:09:42):
Before, we just had our own projects.
(00:09:44):
And when we wanted to get some feedback from the teachers,
(00:09:49):
we had to send it to them by email or something like that with the code.
(00:09:53):
which now is,
(00:09:55):
you know,
(00:09:55):
was much nicer of an experience because they could just,
(00:09:59):
you know,
(00:09:59):
submit,
(00:10:00):
you know,
(00:10:00):
push their code and then they could,
(00:10:02):
you know,
(00:10:02):
let me know in a chat,
(00:10:04):
you know,
(00:10:04):
just please have a look at my code.
(00:10:06):
I’m struggling with that and that and whatever.
(00:10:09):
Or,
(00:10:09):
you know,
(00:10:09):
it was much easier for me to get the context this way when somebody had a question.
(00:10:14):
which is maybe also another change, I feel like.
(00:10:15):
Back then,
(00:10:16):
the only real way we were interacting with the lecturers was via maybe email,
(00:10:21):
but we weren’t really conversing with the lecturers via email.
(00:10:26):
It was mostly official information that was coming from the lecturers.
(00:10:29):
But that also changed more in the way that
(00:10:32):
For example,
(00:10:33):
now we embrace more the chat functionality where I feel like it’s also for students,
(00:10:36):
they feel less.
(00:10:37):
I feel like for emails,
(00:10:39):
you kind of have to,
(00:10:41):
you know,
(00:10:41):
it feels a bit different than having just a regular chat.
(00:10:44):
If you have an email,
(00:10:45):
you have to,
(00:10:46):
with a chat,
(00:10:46):
you have less of a barrier compared to email,
(00:10:48):
I would say.
(00:10:49):
Yeah, yeah.
(00:10:50):
it’s much easier for them to reach out.
(00:10:52):
And I feel like they are using it, which I really like because I prefer them reaching out to me.
(00:10:57):
I always told this to my students,
(00:10:58):
you know,
(00:10:59):
I prefer,
(00:10:59):
you know,
(00:11:00):
before you waste hours on end,
(00:11:02):
you know,
(00:11:03):
on a simple problem to just message me and I’ll get back to you.
(00:11:06):
And,
(00:11:07):
you know,
(00:11:07):
maybe I’ll let you know,
(00:11:08):
you know,
(00:11:08):
what,
(00:11:09):
you know,
(00:11:09):
you know,
(00:11:10):
some information that you can make use of to help you out so that I can unblock you
(00:11:14):
in this way,
(00:11:15):
because I don’t want them to get frustrated,
(00:11:17):
you know,
(00:11:18):
I feel like it was kind of an advantage having been a student back then and having
(00:11:23):
had some of those frustrations and being able to kind of,
(00:11:26):
you know,
(00:11:27):
because I also always thought about things that I could do to make it easier for
(00:11:31):
the students.
(00:11:33):
Like,
(00:11:33):
for example,
(00:11:33):
one thing that I suggested to my university already when I was still studying was
(00:11:39):
to maybe try starting with,
(00:11:41):
you know,
(00:11:41):
a build tool.
(00:11:42):
And this is something that they now implemented.
(00:11:44):
I’m not sure if it was due to my feedback, but
(00:11:47):
you know, it’s still great to see.
(00:11:48):
And also one of them was test-driven development,
(00:11:51):
which we actually kind of are doing now,
(00:11:53):
which is really useful in my opinion.
(00:11:55):
So in the beginning they get some Hello World example,
(00:11:58):
of course we don’t,
(00:12:00):
but otherwise it’s really useful because when we give them exercises,
(00:12:03):
usually we give them a unit test in the beginning and then they can code and then
(00:12:08):
they can run the unit test and they can see if the code works that they have written.
(00:12:13):
I remember in my time,
(00:12:14):
it was a bit more difficult because I mean,
(00:12:16):
we did have like a solution that was provided to us by the lecturer for each of the problems.
(00:12:20):
But as the nature of coding,
(00:12:23):
especially if you are in the beginning,
(00:12:25):
you are not really able to tell if your solution is different,
(00:12:28):
which happens very quickly in coding,
(00:12:30):
even if the problems are very simple.
(00:12:32):
You’re not really able to tell sometimes,
(00:12:34):
at least that’s what my experience was,
(00:12:36):
if the solution is correct or not.
(00:12:38):
And then you had to go to the lecture and then maybe they didn’t have time for it or whatever.
(00:12:43):
And now I really like this quick feedback loop that they are having,
(00:12:47):
which I feel like they also told me that they enjoy.
(00:12:49):
And then by the middle or towards the end of the semester, it kind of changes a bit.
(00:12:54):
We show them how to write the tests themselves.
(00:12:57):
And then they are able to write tests by themselves.
(00:13:00):
And in the live coding,
(00:13:01):
we also go by the approach of writing the test first and then writing the code
(00:13:06):
afterwards and so on.
(00:13:08):
And also we started doing exams now,
(00:13:10):
for example,
(00:13:11):
that are on their own laptops as well,
(00:13:14):
which was something that was new.
(00:13:16):
I still had to write my answers with a pencil on just paper.
(00:13:20):
Yeah.
(00:13:22):
And now it started to change and there we usually also provide tests to the students,
(00:13:26):
which I feel like is also very useful for the students to see did they already
(00:13:31):
solve the problem in a sufficient way or not,
(00:13:34):
which I feel like is a really cool way for the students to get instant feedback.
(00:13:38):
And it makes it,
(00:13:38):
of course,
(00:13:39):
closer to the reality,
(00:13:40):
which I think is also a very important aspect to me.
(00:13:44):
And I’m really grateful that they started implementing those things.
(00:13:46):
And that’s also why I definitely did those things.
(00:13:50):
And I think it has really gotten better a lot with all of those aspects.
(00:13:54):
That’s really cool.
(00:13:55):
I’m really glad you mentioned test-driven development.
(00:13:58):
I was just talking just a few days ago to Venkat Subramaniam,
(00:14:02):
and he talks about test-driven development all the time and how important it is.
(00:14:06):
And I did a whole podcast with Ted M. Young from San Francisco Bay.
(00:14:11):
I think it’s in Silicon Valley.
(00:14:13):
And he’s a Java developer, and he focuses on test-driven development.
(00:14:17):
And I didn’t realize that it was the test first and then the writing of the code.
(00:14:21):
So it’s a different way of thinking about
(00:14:24):
When I was at Sun years ago,
(00:14:26):
I was on the Open Solaris project,
(00:14:28):
and the team I worked on,
(00:14:30):
one of the teams I worked on,
(00:14:31):
was the test team.
(00:14:33):
So I was hanging out with test engineers.
(00:14:35):
These are developers who are building test suites for Solaris.
(00:14:39):
Mm-hmm.
(00:14:40):
which is a very big piece of software, obviously.
(00:14:44):
And so these tests are very, very sophisticated.
(00:14:47):
And sitting in these meetings, I really became super appreciative of tests.
(00:14:55):
And it makes sense.
(00:14:56):
I mean, this is just basic science here.
(00:14:59):
I mean, you’re testing a hypothesis, essentially.
(00:15:01):
I mean, you have something, you’re testing it.
(00:15:04):
And so you got some code, that’s your hypothesis, and you’re going to test it.
(00:15:07):
It’s a very simple way of thinking.
(00:15:09):
But boy, those meetings went on and on and on.
(00:15:11):
And the sophistication and the ramifications of testing Solaris and Java is no different.
(00:15:16):
I mean, I was talking to some of the test guys in India, actually.
(00:15:21):
And it was a similar team that I used to work on.
(00:15:24):
I just really appreciate the mindset of the test engineer.
(00:15:28):
I don’t know why.
(00:15:29):
It just really struck me.
(00:15:31):
And so I’m glad you brought test-driven development up.
(00:15:35):
And I think that’s very important because it’s important.
(00:15:37):
Ted was actually talking about that not a lot of kids learn this.
(00:15:42):
So that I think is really good that you were into that and you were suggesting that
(00:15:46):
and you were using it.
(00:15:48):
That’s really cool.
(00:15:49):
I agree with you.
(00:15:49):
I know what you mean.
(00:15:50):
It’s interesting that you mentioned this scientific aspect.
(00:15:53):
I never have seen it that way, which is kind of interesting.
(00:15:56):
The only perspective I was kind of seeing there was that I remember my fiance,
(00:16:02):
she also was interested to get into programming and she was trying to solve my
(00:16:08):
materials on her own that I gave her from my classes that I took.
(00:16:13):
And she was really struggling.
(00:16:14):
And I remember at some point I kind of realized she was especially having trouble
(00:16:19):
realizing what am I kind of giving into a method and what do I expect back from it?
(00:16:25):
You know,
(00:16:26):
like it wasn’t really clear to her how she would need to structure the code,
(00:16:30):
how she should start,
(00:16:31):
you know,
(00:16:31):
kind of she,
(00:16:33):
you know,
(00:16:33):
she stared at her screen and she was not sure how to continue.
(00:16:37):
And I kind of thought,
(00:16:38):
you know,
(00:16:38):
as an experiment,
(00:16:39):
I was like,
(00:16:40):
you know,
(00:16:40):
maybe I’ll try showing her test-driven development.
(00:16:43):
You know,
(00:16:44):
it was a bit weird at the time because,
(00:16:46):
I mean,
(00:16:47):
they didn’t do it at university because they considered it to be too difficult.
(00:16:51):
But from this experience,
(00:16:53):
this was kind of what made me suggest it actually,
(00:16:56):
because she was in the end really successful with that.
(00:16:59):
So she, as soon as I’ve shown her test-driven development,
(00:17:03):
She suddenly started to be able to understand it much better just because before
(00:17:07):
she actually started implementing something,
(00:17:09):
she was able to focus on first thinking about,
(00:17:12):
you know,
(00:17:12):
what do I expect to take in and what do I expect out of it?
(00:17:16):
And this really helped her shape the implementation a lot.
(00:17:19):
I was always thinking more about this aspect, which I feel like really also helped me in a way.
(00:17:24):
And you’re right, it’s really unfortunate that many don’t learn this very early on.
(00:17:28):
When I first started studying,
(00:17:30):
I remember there was a class that I had,
(00:17:32):
which was called Software Engineering Basics in a way,
(00:17:36):
which wasn’t about programming strictly,
(00:17:38):
but about,
(00:17:38):
you know,
(00:17:39):
methodologies and software engineering and so on.
(00:17:42):
And, you know, the last part of the lecture was writing tests.
(00:17:46):
And this was something that really interested me.
(00:17:49):
And they introduced me to test development kind of the first time, but I remember
(00:17:54):
They mentioned to us,
(00:17:55):
you know,
(00:17:56):
like,
(00:17:56):
oh,
(00:17:56):
you know,
(00:17:56):
it’s fine if you don’t understand it from now on.
(00:18:00):
You know,
(00:18:00):
it’s fine if you don’t code in Testium development style,
(00:18:04):
because I have to say a lot of my peers were really struggling with it.
(00:18:07):
A lot of my peers,
(00:18:09):
you know,
(00:18:09):
were really cursing and saying like,
(00:18:11):
oh,
(00:18:11):
you know,
(00:18:12):
I don’t understand how to do this.
(00:18:14):
You know, why would anyone want to do it this way?
(00:18:16):
And I think I was the only person in the class that really enjoyed doing it in a way.
(00:18:22):
Yeah, and that kind of also shaped me in that way.
(00:18:24):
But yeah,
(00:18:25):
I feel like that’s a good point that you brought up about this,
(00:18:29):
you know,
(00:18:29):
thinking about this hypothesis and then proving or disproving it.
(00:18:32):
That’s absolutely true.
(00:18:34):
Exactly.
(00:18:34):
I mean,
(00:18:35):
if you have,
(00:18:36):
you know,
(00:18:36):
in science,
(00:18:37):
I mean,
(00:18:37):
if you’re testing something,
(00:18:38):
if you have a hypothesis and you set up an experiment and stuff,
(00:18:41):
I mean,
(00:18:42):
that’s a test,
(00:18:43):
basically,
(00:18:43):
right?
(00:18:44):
And then it’d be great if somebody else could replicate that.
(00:18:47):
and falsify it or confirm it.
(00:18:50):
But this whole concept of tests just seems like ramifications.
(00:18:55):
If you’re building a website, okay.
(00:18:56):
But if you’re building a navigation system for a supertanker,
(00:19:00):
you kind of have to make sure things are right.
(00:19:04):
I also,
(00:19:05):
I don’t know if you,
(00:19:06):
like when you look at the NASA videos of the engineers working on the space shuttle
(00:19:12):
and the Apollo programs from the 1960s and stuff.
(00:19:15):
You see this constant testing,
(00:19:17):
testing,
(00:19:17):
testing,
(00:19:17):
this whole iterative process where you’re building something and it blows up,
(00:19:21):
you know,
(00:19:22):
and then you got to rebuild it.
(00:19:24):
Fascinates me.
(00:19:25):
Did you?
(00:19:26):
I’m not sure if that is just a weird coincidence, but did you happen to watch my talk?
(00:19:31):
No, no, I hadn’t.
(00:19:32):
I just… No, why?
(00:19:34):
So did you actually talk about this?
(00:19:37):
Yes.
(00:19:38):
Really?
(00:19:39):
No kidding.
(00:19:39):
Yes.
(00:19:40):
That’s why I’m laughing because…
(00:19:44):
You know,
(00:19:45):
I remember,
(00:19:45):
you know,
(00:19:46):
so I gave a talk,
(00:19:47):
it’s called One Small Test for Men,
(00:19:49):
One Giant Leap for,
(00:19:50):
you know,
(00:19:51):
quality.
(00:19:52):
Oh my God, that’s so funny.
(00:19:55):
I’ll find it and I’ll link to it.
(00:19:56):
That’s great.
(00:19:58):
Yeah,
(00:19:58):
because it was,
(00:19:59):
you know,
(00:20:00):
really a great talk and,
(00:20:02):
you know,
(00:20:02):
it’s totally described everything you just mentioned,
(00:20:04):
you know,
(00:20:04):
this iterative approach and this focus on testing and so on.
(00:20:07):
You know,
(00:20:07):
there I kind of,
(00:20:09):
you know,
(00:20:09):
looked at the document which came out after the Apollo 11 success of the mission
(00:20:14):
and which was called,
(00:20:14):
you know,
(00:20:15):
what made Apollo 11 a success that hardly anyone knows for some reason.
(00:20:19):
I mean, also just came by it just by accident.
(00:20:22):
And I looked at this document and I kind of looked at what made it a success and a
(00:20:26):
lot of those aspects were actually testing,
(00:20:28):
as you mentioned,
(00:20:29):
right?
(00:20:30):
And it’s so funny, you know, hearing you mentioned that.
(00:20:33):
I’m not sure, have you seen the document yet or have you known about it?
(00:20:37):
What’s your talk or the other?
(00:20:39):
No, I mean the document that was called what made Apollo 11 a success.
(00:20:43):
Oh, no, no, no, no.
(00:20:44):
I don’t think – but I’ve seen similar types of videos.
(00:20:48):
And there’s a whole bunch of books, obviously, about the engineering of these things.
(00:20:52):
Yeah, so I’m sure I’ll trip over it because I like these kinds of things.
(00:20:57):
I like how people solve problems.
(00:20:59):
That’s why I’m in this business,
(00:21:00):
you know,
(00:21:01):
and particularly with software because software is so flexible that –
(00:21:06):
Unlike construction, I used to be in the construction business when I was young.
(00:21:09):
That’s also filled with craftsmen,
(00:21:12):
obviously,
(00:21:12):
just like software developers to me are craftsmen,
(00:21:15):
craftspeople,
(00:21:17):
and they’re using tools.
(00:21:19):
They’re using their head, their hands on a keyboard, but they’re interacting with a tool.
(00:21:24):
As opposed to a hammer, they have an IDE.
(00:21:27):
I’ve seen people do some amazing things with a hammer,
(00:21:30):
just a hammer and some scrap material on the construction site because it’s in
(00:21:35):
their head.
(00:21:36):
And so I’ve always been fascinated with this.
(00:21:39):
So that’s the kind of content that I consume.
(00:21:41):
So that’s why I like developers,
(00:21:43):
like people like you,
(00:21:44):
because I get to ask you these types of questions and I get either validation or
(00:21:49):
rolling or rise,
(00:21:49):
you’re crazy.
(00:21:50):
But no one’s ever said I was crazy yet.
(00:21:54):
But even though I do struggle with complexity, I’m somehow drawn to it.
(00:21:59):
Maybe it’s just because when things get really,
(00:22:01):
really complex,
(00:22:02):
I wonder to myself,
(00:22:03):
how do these people solve these problems?
(00:22:07):
How do they have the mental capacity to use whatever tool they’re using,
(00:22:11):
but how do they have the mental capacity to go very,
(00:22:14):
very deeply into thought?
(00:22:16):
And find a solution and sort of hack their way to a solution.
(00:22:20):
They’re doing an iterative process with themselves.
(00:22:22):
They try this, try this, try this, try this.
(00:22:25):
So that’s what I’m really fascinated with.
(00:22:28):
So for yourself, learning Java, why Java?
(00:22:34):
When did you trip over Java?
(00:22:36):
And then why did you stick with it?
(00:22:38):
Java was just the first programming language that we learned at university.
(00:22:42):
It was the first one that you learned, really?
(00:22:44):
Yeah, it was the first one, yeah.
(00:22:46):
I mean, already back then we were learning Java.
(00:22:48):
I mean, it was version 8 and it just came out.
(00:22:51):
I remember it was like, you know, one week before it came out.
(00:22:54):
And I was really grateful that,
(00:22:56):
you know,
(00:22:57):
my university really tried to stay up with the trends.
(00:23:00):
And so we were already using Java 8.
(00:23:02):
And of course,
(00:23:03):
in the first class,
(00:23:04):
we didn’t really use many of Java 8’s features because they were not as relevant,
(00:23:08):
of course,
(00:23:08):
because,
(00:23:09):
you know,
(00:23:09):
in the first class where you’re starting to learn programming,
(00:23:13):
You’re trying to understand, you know, what inheritance is and all of those things.
(00:23:17):
And there are many more,
(00:23:19):
you know,
(00:23:19):
language features that are far more important than the ones that are introduced by Java.
(00:23:24):
Not to say that Java didn’t introduce any important aspects.
(00:23:26):
It’s just those are more advanced concepts that you won’t really necessarily need
(00:23:30):
in the first semester,
(00:23:31):
I would say.
(00:23:32):
But the cool thing was I remember my lecturer in one of the breaks reading a book
(00:23:38):
about Java 8 and trying to get educated so that in the next semester were the
(00:23:42):
advanced courses that they already could start implementing some of the things and
(00:23:46):
show us some of the things that were added in Java 8.
(00:23:50):
Which I really appreciate because that’s also something that I often hear from
(00:23:54):
others when I talk to them.
(00:23:55):
They also mention to me that often universities are outdated and the lecturers
(00:24:00):
don’t try to keep up with the trends and things like this.
(00:24:03):
So this is kind of how I got into Java, I would say.
(00:24:06):
It was difficult, but I don’t think it was difficult because of Java itself per se.
(00:24:11):
I feel like it was just because I was starting to learn to program, of course, right?
(00:24:16):
You know, I remember, for example, struggling a lot with the type system in the beginning.
(00:24:20):
But again, not because Java has a very complex type system, not at all.
(00:24:25):
I really like it a lot.
(00:24:27):
It’s more that I feel like I was struggling because I kind of had to learn all of
(00:24:31):
those concepts first before I could really write a single line of code that made
(00:24:35):
sense in a way.
(00:24:36):
And that’s still something I feel like that we were discussing among lecturers.
(00:24:41):
Like,
(00:24:42):
do we want to maybe switch to another language that maybe requires less overhead
(00:24:47):
and maybe that you can start out by not programming with types?
(00:24:51):
But I always said that I kind of enjoyed having to get forced into learning them
(00:24:56):
because I feel like if I was starting out with just learning a language that
(00:25:01):
doesn’t have any types,
(00:25:03):
then I would have trouble getting to learn all of those types because I would feel,
(00:25:07):
oh,
(00:25:07):
you know,
(00:25:07):
are they really that necessary?
(00:25:08):
I was able to get by with them.
(00:25:10):
Without them, fine, right?
(00:25:11):
Why should I start to learn them now?
(00:25:14):
And they kind of really forced me to understand a little bit also of how it works
(00:25:19):
in the back,
(00:25:19):
you know,
(00:25:20):
as well,
(00:25:20):
you know,
(00:25:20):
in the,
(00:25:21):
let’s say,
(00:25:21):
nitty gritty implementation details that are kind of hidden from you in most languages.
(00:25:26):
Yeah.
(00:25:27):
And this was also really interesting to me,
(00:25:30):
you know,
(00:25:30):
to learn those things because I feel like ultimately they made me a better software engineer.
(00:25:35):
Because I remember when we first started learning JavaScript and TypeScript was not
(00:25:40):
really a thing back then.
(00:25:42):
I remember I was kind of struggling in the other way around because JavaScript didn’t,
(00:25:47):
of course,
(00:25:47):
it has some sort of typing,
(00:25:49):
but it’s not as explicit.
(00:25:50):
And sometimes there are really weird gotchas that happen that you don’t know about.
(00:25:55):
And I remember when I was implementing a function that incremented a date by just
(00:26:01):
one day,
(00:26:02):
I ended up having the experience that the function didn’t work when I tried it out
(00:26:07):
in the browser.
(00:26:08):
And I didn’t know why,
(00:26:09):
so I logged what the result was of the method and I was a bit confused when I saw
(00:26:13):
that suddenly there was a number like 47,000 something.
(00:26:18):
And I was like, why is there a number here?
(00:26:20):
You know, it doesn’t make sense.
(00:26:21):
And then I thought,
(00:26:22):
oh,
(00:26:22):
you know,
(00:26:23):
it’s like,
(00:26:23):
I think if I remember correctly,
(00:26:25):
the dots that I added in between to format the string into a date,
(00:26:30):
it kind of then with the plus sign didn’t interpret it as a concatenation,
(00:26:34):
but instead it interpreted it as just taking the ASCII values and adding them up,
(00:26:38):
which resulted in this huge number.
(00:26:41):
which was kind of frustrating.
(00:26:42):
And in Java,
(00:26:44):
this wouldn’t have happened because I would have thought,
(00:26:46):
you know,
(00:26:46):
more consciously about the types and had to specify them explicitly.
(00:26:49):
And I would be reminded by the compiler, which is another thing I really enjoyed about Java.
(00:26:54):
You know,
(00:26:55):
before you ran the program in a lot of cases,
(00:26:57):
especially in the beginning,
(00:26:58):
of course,
(00:27:00):
you will get notified by the compiler if you make a mistake.
(00:27:03):
And this was also very useful,
(00:27:04):
especially as we were not having any tests back then,
(00:27:07):
or it was more difficult to interact with the lecturers,
(00:27:11):
I would say.
(00:27:12):
This made it a lot easier, especially back then.
(00:27:15):
That’s really cool.
(00:27:16):
That’s really cool.
(00:27:17):
So let’s talk about the community for a little bit.
(00:27:19):
Java community, I mean, obviously Java has been around for a long time.
(00:27:22):
It’s been constant development for 30 years, 30 years this year.
(00:27:27):
Same thing with the community.
(00:27:28):
Java has always been an open project.
(00:27:31):
It’s many projects now, but I mean, it’s always been open.
(00:27:35):
And so it’s always been community driven.
(00:27:38):
I did see on YouTube that you have some sessions.
(00:27:40):
So I have to go back and look at your moon bit.
(00:27:43):
So I assume you’re out to conferences and you’re doing,
(00:27:46):
you know,
(00:27:46):
obviously you’re doing the teaching,
(00:27:48):
but you’re also doing conferences and interacting with the community.
(00:27:51):
So what’s the community like in Switzerland?
(00:27:53):
I’m sure there’s a jug there.
(00:27:56):
And, you know, do you interact with that?
(00:27:57):
What do you do with the community?
(00:27:59):
Yeah, so there is actually a jog in Switzerland.
(00:28:01):
And as you can imagine, Switzerland is quite small.
(00:28:04):
So in Switzerland, we just have one Swiss jog in a way.
(00:28:07):
But there are two different locations where they do talks.
(00:28:11):
But essentially,
(00:28:11):
I feel like the culture in the jogs is not as huge as I’ve seen in some of the states,
(00:28:17):
for example.
(00:28:18):
Like usually we only meet up for talks and not,
(00:28:21):
you know,
(00:28:21):
just in general,
(00:28:22):
like once per month or something like that.
(00:28:24):
It’s really just you come together for talks.
(00:28:26):
And I feel like there are also less people that are engaged in JAX compared to the
(00:28:31):
US when I think about it.
(00:28:33):
But still,
(00:28:33):
I feel like every time I interact with them,
(00:28:35):
I always really enjoy it because usually there are people that really share
(00:28:41):
something that I’m very passionate about,
(00:28:43):
which is coding in Java.
(00:28:44):
And this is great because you can share it together and talk to each other.
(00:28:49):
And I talk to people from the jugs,
(00:28:52):
from the organizers at many conferences as well,
(00:28:55):
where I have the most contact with them,
(00:28:57):
I would say.
(00:28:58):
But they’re all very great people and I always enjoy spending time with them,
(00:29:02):
seeing what community efforts they are making.
(00:29:05):
I don’t remember exactly what the tool was for, but I remember that
(00:29:11):
Our local job,
(00:29:11):
you know,
(00:29:12):
the one in Switzerland,
(00:29:13):
it started to develop a tool that was also open source to make something easier.
(00:29:18):
I think maybe make something easier to manage something like that.
(00:29:21):
But I mean,
(00:29:22):
it doesn’t really matter,
(00:29:23):
but I really liked seeing,
(00:29:24):
you know,
(00:29:24):
they mentioned that they were working on this and it was cool.
(00:29:27):
You know,
(00:29:28):
they were really passionate,
(00:29:29):
showing me the tool and then,
(00:29:30):
you know,
(00:29:31):
seeing like what I think about it and,
(00:29:33):
you know,
(00:29:33):
get my feedback and
(00:29:34):
I also gave them some ideas with how we could maybe help improve,
(00:29:38):
you know,
(00:29:39):
the community to work together a bit more on this project,
(00:29:42):
for example.
(00:29:43):
I wanted to actually speak at our job already last year,
(00:29:48):
but we didn’t manage to get it through,
(00:29:50):
you know,
(00:29:50):
in terms of timing.
(00:29:51):
But this year I definitely plan on doing this in one of ProLocation essentially.
(00:29:56):
And it’s kind of interesting also to hear because I heard that the communities are
(00:29:59):
also a bit different depending on the location.
(00:30:02):
Like in one of the locations,
(00:30:03):
they are a bit more technical,
(00:30:05):
you know,
(00:30:05):
they’re like more seniors,
(00:30:07):
more hardcore,
(00:30:08):
you know,
(00:30:08):
people that are like hardcore developers.
(00:30:11):
And in the other,
(00:30:11):
they are more juniors and more beginners as well,
(00:30:14):
which I feel like it’s really cool to see that,
(00:30:16):
you know,
(00:30:16):
there are also different dynamics that establish in the different communities,
(00:30:20):
right?
(00:30:21):
Yeah,
(00:30:21):
you get the differences in skill levels or,
(00:30:24):
I guess,
(00:30:25):
years of experience,
(00:30:26):
but also difference.
(00:30:28):
You step over the border, you go to different countries, you have different cultures.
(00:30:33):
So it’s always fascinating to me.
(00:30:35):
But the jugs are very, very important because that’s the first level of the community.
(00:30:40):
Some of the jugs are massive.
(00:30:41):
I mean, you go to India, these jugs have thousands of people in them, you know.
(00:30:46):
I agree, yeah.
(00:30:46):
And what I kind of like about the jugs in Switzerland actually is that,
(00:30:51):
I don’t know if in other countries they have a similar concept,
(00:30:53):
but what I find is cool is that they kind of have like a membership where a company
(00:30:57):
can get a member of a jug.
(00:30:59):
And if they are doing that,
(00:31:01):
all of the people that work at the company,
(00:31:03):
they also get free access to everything that the jug provides,
(00:31:06):
right?
(00:31:07):
by the company paying for them essentially which i think makes it a lot more
(00:31:11):
accessible to everyone that wants to become a member i mean even if you don’t
(00:31:14):
become an individual member i actually recently became like an individual member in
(00:31:18):
addition to being like a member for my company just because i wanted to support
(00:31:23):
them a bit more you know which i felt like was a great way to do this even though
(00:31:26):
it isn’t strictly required of course but yeah i agree totally with you
(00:31:30):
Yeah,
(00:31:31):
it’s a really important point you make about companies because,
(00:31:33):
you know,
(00:31:34):
developers will,
(00:31:35):
you know,
(00:31:36):
open source developers,
(00:31:37):
Java developers will form groups,
(00:31:40):
right?
(00:31:40):
Communities, I mean, community building is inherent.
(00:31:43):
You know, it’s in human genes.
(00:31:45):
I mean, we form groups.
(00:31:46):
That’s what we do.
(00:31:47):
It’s how we evolve.
(00:31:48):
Without that, largely we die.
(00:31:50):
We are not isolated individuals.
(00:31:52):
Yeah.
(00:31:54):
And so we form groups,
(00:31:55):
and this is how we collaborate on whatever,
(00:31:58):
hunting,
(00:31:58):
let’s say,
(00:31:59):
raising a barn while hacking on code.
(00:32:01):
So this is a very natural experience.
(00:32:03):
Developers will do this naturally.
(00:32:05):
However, it’s just smart.
(00:32:07):
It’s a good business sense for the company to get involved as well,
(00:32:10):
or at least encourage their developers to go form a jug and that kind of thing,
(00:32:14):
spend time doing that sort of thing,
(00:32:16):
because they’re training each other.
(00:32:18):
This is free training for the company, right?
(00:32:20):
You go, I’m not so sure how to…
(00:32:23):
do this x y and z thing in java so i go to a jug and i i hang out on my own
(00:32:29):
saturday and sunday on my own time right and i’m learning from these people and i’m
(00:32:33):
contributing something they’re contributing things and i’m building a network there
(00:32:38):
as well that helps the company because you know if the company is contributing
(00:32:41):
something upstream
(00:32:43):
and there’s a problem you know the company maybe the managers and the executives
(00:32:47):
you know they don’t know who to i mean who to call but you have a relationship in
(00:32:51):
the community you know you you might be able to help something upstream i’ve seen
(00:32:55):
this happen multiple times it’s not like i’m making this up you know and so you
(00:32:59):
know the executive will call the director director will call the engineer oh yeah
(00:33:03):
no i can i can handle that upstream no problem
(00:33:05):
Because he has the relationship there in the community, right?
(00:33:10):
This is not a secret, right?
(00:33:11):
So this has real business value,
(00:33:13):
especially if the company is involved in the project and contributing upstream or
(00:33:19):
just involved in Java in any way,
(00:33:20):
right?
(00:33:21):
So it’s a really, really important thing.
(00:33:23):
And I know from Oracle,
(00:33:24):
I mean,
(00:33:25):
I actually did a podcast on this where I was talking to the test team in Bangalore
(00:33:30):
at Oracle,
(00:33:31):
a very large team in India.
(00:33:33):
And they do all the testing on the Oracle product.
(00:33:38):
And so they also contribute to the user group.
(00:33:42):
The engineers on the team go out into the community.
(00:33:46):
They do presentations.
(00:33:48):
They run conferences.
(00:33:50):
as well, open source conferences.
(00:33:52):
And they interact with the community in Bangalore and they get critical product
(00:33:59):
information directly.
(00:34:02):
And so this is all very good business.
(00:34:05):
This is the value.
(00:34:06):
These engineers are getting direct information
(00:34:09):
feedback, and in many cases, contributions.
(00:34:13):
Absolute degree.
(00:34:14):
Yeah, it’s a big deal.
(00:34:15):
And I’ve seen it, there’s many, many experiences.
(00:34:19):
So it’s really, it’s just a good practice for companies to be involved in open source projects.
(00:34:26):
I absolutely agree with you.
(00:34:28):
And I find it quite interesting as well that you mentioned this aspect about this
(00:34:32):
not being a secret,
(00:34:33):
which I totally agree with you.
(00:34:34):
But I’m always a little bit surprised when I talk to certain people how this kind
(00:34:39):
of seems like a secret to them.
(00:34:41):
I know.
(00:34:42):
Even after all these years.
(00:34:44):
Yeah, right.
(00:34:44):
I mean,
(00:34:44):
you know,
(00:34:45):
to me,
(00:34:45):
it’s not really surprising,
(00:34:47):
but it’s always surprising to me how many people they still don’t know about them.
(00:34:52):
And I feel like every time I tell them, they really are very interested in it.
(00:34:56):
And this is, I think, a great sign for sure.
(00:34:58):
And I feel like it’s definitely a great strategy where companies get like a
(00:35:03):
membership at the JAG and then all of the people that work at the company
(00:35:06):
immediately also get the membership in this way and they can participate.
(00:35:10):
Because this way they can also have all of their engineers educate themselves.
(00:35:14):
And this also helps the company in turn,
(00:35:16):
not even just for the relationships,
(00:35:18):
but also,
(00:35:19):
of course,
(00:35:19):
I mean,
(00:35:19):
you hear talks there and you talk to people and then maybe exchange ideas on how to
(00:35:25):
solve a problem or
(00:35:26):
You learn some things by talking to other people and then,
(00:35:30):
you know,
(00:35:30):
oh,
(00:35:30):
you know,
(00:35:31):
this is a great way I could solve this problem I never thought about.
(00:35:34):
And also maybe you learn about some people that are specialized in a certain field
(00:35:38):
and then,
(00:35:39):
you know,
(00:35:40):
ah,
(00:35:40):
you know,
(00:35:40):
those people,
(00:35:41):
they know this very well.
(00:35:43):
So when I have a problem with that at work, I know who to call, right?
(00:35:46):
It’s the same thing you mentioned, right?
(00:35:48):
So…
(00:35:48):
Absolutely.
(00:35:49):
And you see this in conferences.
(00:35:50):
And a lot of the jugs,
(00:35:52):
particularly in Europe,
(00:35:53):
a lot of the jugs have been around for a long time that they now run annual conferences.
(00:35:58):
Some of the really cool conferences in Europe are run by Java user groups.
(00:36:03):
They were founded, basically, by user groups.
(00:36:05):
That’s how important user groups are.
(00:36:07):
But you see this in the hallway track all the time.
(00:36:09):
You see people hanging out on the floor, laptops out, talking.
(00:36:14):
And sometimes they’re coding together, sometimes just talking through problems.
(00:36:19):
Just that human relationship is very, very important.
(00:36:23):
We can’t work – again, we can’t work in isolation.
(00:36:26):
And a lot of times working behind the firewall is in isolation.
(00:36:30):
You need to get out.
(00:36:31):
You need to get face-to-face interactions with people in the community.
(00:36:35):
Totally agree with you.
(00:36:36):
I think technically you could work on your own,
(00:36:38):
but,
(00:36:38):
you know,
(00:36:39):
at least for myself,
(00:36:40):
I wouldn’t want to because I just prefer working together with others.
(00:36:44):
I feel like always when I work together with other people,
(00:36:47):
the result has gotten better than what I could achieve on my own.
(00:36:51):
And I feel like this is a very important reason why you should do this.
(00:36:54):
Yeah, and I also, I mean, I’ve worked in six different industries.
(00:36:58):
And this is the only one that has at its foundation collaborative development.
(00:37:04):
Even if you’re working on,
(00:37:05):
even if you’re an engineer in a closed source company,
(00:37:09):
you’re working on a product,
(00:37:09):
there is a certain amount of collaboration that comes with just software engineering.
(00:37:13):
But open development is a little bit different because it’s obviously global and
(00:37:17):
you’re scaling across many,
(00:37:19):
many firewalls.
(00:37:21):
True.
(00:37:21):
But not all fields have this.
(00:37:25):
And when I talk to some older friends that I’ve had from previous industries and I
(00:37:29):
describe what an average software developer is doing in these open communities like Java,
(00:37:35):
they just have no idea sometimes.
(00:37:38):
It’s really interesting to me because I’ve been here for so long that I take it for granted.
(00:37:43):
Yeah.
(00:37:44):
I see what you mean.
(00:37:46):
I was watching his presentation once.
(00:37:48):
The video is online.
(00:37:49):
I can’t think of the guy who did it, but it’s not that old.
(00:37:53):
It’s about, is software development actually engineering or something like that?
(00:37:59):
I thought it was a really great presentation.
(00:38:00):
He actually brought this issue up of other engineering fields looking at software development.
(00:38:08):
One of the things they’re very jealous of is that software developers have
(00:38:12):
Like version control?
(00:38:13):
Version control.
(00:38:14):
Version control.
(00:38:15):
Which I think is rocket science, by the way.
(00:38:17):
How you manage all those different versions, all those developers.
(00:38:21):
Yeah, they have version control.
(00:38:23):
And other engineering disciplines don’t necessarily have that.
(00:38:25):
Unless there’s a software component to it, obviously.
(00:38:28):
But I thought that was fascinating.
(00:38:30):
But again, I’ve been here for so long that I don’t have the perspective outside here.
(00:38:34):
Maybe I should go into a different field at this point.
(00:38:37):
Yeah.
(00:38:38):
Maybe, I don’t know.
(00:38:39):
But yeah, I totally see what you mean.
(00:38:41):
I feel like this is what happens with time.
(00:38:43):
And I’m kind of glad that I was still able when I was giving lectures to understand
(00:38:49):
how the students feel,
(00:38:51):
because this is something I kind of feared,
(00:38:53):
you know,
(00:38:53):
that maybe I would be too far away from it already,
(00:38:55):
that I would not be able to relate with them enough anymore.
(00:39:00):
But I was kind of glad about this aspect.
(00:39:02):
I feel like it still is just because I came from a different field and changed into
(00:39:06):
IT and I was struggling so much because,
(00:39:08):
of course,
(00:39:10):
struggling isn’t great in a way.
(00:39:11):
But on the other hand, I kind of liked that I struggled because it was so much more memorable.
(00:39:17):
And for example,
(00:39:19):
this also led me to collaborate with others,
(00:39:22):
to form groups,
(00:39:24):
to learn about different things,
(00:39:25):
to
(00:39:26):
you know,
(00:39:27):
explain to each other different concepts like,
(00:39:29):
you know,
(00:39:29):
sometimes maybe I understood something and a colleague of mine understood something
(00:39:33):
else and then I was able to talk to them and then you made also friends this way,
(00:39:37):
which was also a good experience,
(00:39:39):
of course.
(00:39:40):
And I remember there was one time we just started learning streams and lambdas at
(00:39:45):
the university.
(00:39:46):
I have to say, I’m not sure, you know, I wouldn’t put the blame on the lecturer.
(00:39:49):
I mean, I also just struggled a lot, you know, as I mentioned earlier.
(00:39:53):
But I was really struggling with learning streams and lambdas,
(00:39:56):
and it was really difficult because you couldn’t find that many things online.
(00:40:02):
Since Java just came out so recently, Java 8, there wasn’t that much information on it.
(00:40:06):
But I remember there was a talk that was posted online from Venkat about this,
(00:40:11):
or like two or three talks maybe,
(00:40:12):
and I’m not sure.
(00:40:14):
these were the ones that really helped me out to understand it.
(00:40:17):
I remember us sitting in the room,
(00:40:20):
like three people in our small little study group in a way,
(00:40:23):
and we were just listening to his talk and then suddenly it clicked in my head and
(00:40:29):
then I was standing up,
(00:40:30):
I went to the whiteboard,
(00:40:31):
I explained to the other students in my group how it worked and this was really a
(00:40:37):
cool moment like this.
(00:40:39):
I’m glad I was able to meet Venkat like two years ago at the workshop days in Switzerland,
(00:40:45):
which is about doing workshops,
(00:40:47):
which he always joins every year.
(00:40:49):
And I remember I was really grateful being able to talk to him and just thank him
(00:40:53):
for this because he kind of saved me in a way because I was really struggling so much.
(00:40:59):
And just by watching those talks,
(00:41:01):
it really helped me out a lot,
(00:41:02):
which I think is also a reason for why it’s important to give talks about things
(00:41:07):
because
(00:41:08):
I also had a discussion with Venkat about that.
(00:41:11):
We were discussing about a talk that I was preparing,
(00:41:15):
which was about micro benchmarking in Java and performance testing and those kinds
(00:41:18):
of things.
(00:41:19):
And he said, oh, you know, this is a very interesting topic.
(00:41:23):
Maybe you should write a book about it.
(00:41:25):
And then I was kind of surprised.
(00:41:27):
I was saying like, oh, are you sure?
(00:41:29):
Because I mean, nobody knows me.
(00:41:31):
Why should I write a book about this?
(00:41:33):
You know, and there are already books about this out there.
(00:41:36):
And then he mentioned to me this analogy,
(00:41:39):
maybe you’ve heard about this before,
(00:41:40):
I’m pretty sure,
(00:41:42):
where there is at least one teacher that kind of shaped you as a person in a way in
(00:41:49):
your childhood.
(00:41:51):
And he said,
(00:41:52):
you know,
(00:41:52):
this one teacher doesn’t have to be someone who is able to explain something,
(00:41:58):
you know,
(00:41:58):
incredibly well or is incredibly famous or whatever,
(00:42:01):
you know,
(00:42:01):
a very high profile person.
(00:42:03):
But it is fine.
(00:42:05):
You know,
(00:42:05):
it doesn’t matter because in the end,
(00:42:06):
it just matters that maybe they explain it just in the right way for you.
(00:42:11):
And this could be different for everyone else.
(00:42:13):
Maybe,
(00:42:14):
you know,
(00:42:15):
half the class doesn’t understand the teacher and half the class,
(00:42:18):
you know,
(00:42:18):
finds the teacher brilliant just because it happens to match in a way.
(00:42:22):
And he told me, you know, it’s still valuable for you to write a book about it because maybe
(00:42:28):
your style,
(00:42:29):
most likely your style will be different than the style of other people who have
(00:42:32):
written books before on this topic.
(00:42:34):
And maybe it’s just this exact book with your style of explaining that is valuable
(00:42:40):
to other people,
(00:42:40):
which I also didn’t realize.
(00:42:42):
I think those are all of those aspects, which I think is so great about the community.
(00:42:46):
And I don’t know,
(00:42:46):
but I especially noticed in the Java community,
(00:42:49):
there’s so many great people that I’ve talked to and made great relationships with,
(00:42:54):
which I’m really thankful for.
(00:42:56):
Yeah, I totally agree with you.
(00:42:57):
Just with Venkat specifically, he’s a teacher’s teacher.
(00:43:01):
I mean, he genuinely believes in the concept of teaching.
(00:43:04):
I mean,
(00:43:05):
yes,
(00:43:06):
he’s obviously a professor,
(00:43:07):
but he does lectures and he does workshops and stuff like that.
(00:43:11):
But it goes to his heart, and you can really see that when he’s interacting with somebody.
(00:43:15):
And what he told you is very real.
(00:43:17):
And it’s – when I do this podcast, that’s how I feel about this podcast –
(00:43:22):
I don’t care necessarily that it’s just a little podcast.
(00:43:27):
But if there’s one or two people that listen to your story and are turned on by
(00:43:32):
what you say,
(00:43:33):
then that’s great.
(00:43:36):
We made a connection.
(00:43:37):
It doesn’t have to be…
(00:43:39):
Big and grand and have all kinds of sexy things,
(00:43:42):
music and graphics and all the different things that podcasters are doing.
(00:43:47):
That’s fine.
(00:43:48):
I’m not criticizing it, but not my style.
(00:43:50):
What I want to do is to have something very simple.
(00:43:53):
What I want to do is to have conversations with you, people like you, to get your story.
(00:43:59):
That’s all I’m interested in.
(00:44:01):
When I look at how I’m motivated to go learn something, I’m seeking.
(00:44:05):
And there’s other people who do that too.
(00:44:07):
And they come trip over this.
(00:44:08):
They hear your story.
(00:44:09):
Oh, I’m in Switzerland too.
(00:44:10):
I’m going to go meet this guy.
(00:44:12):
You can be right next door and not even know.
(00:44:15):
And then you’ve reached one person.
(00:44:16):
That one person could be spectacular.
(00:44:19):
You might have saved that person’s life, right?
(00:44:21):
Because in reality, I have spoken to people who have said software has saved their lives.
(00:44:26):
They’ve actually saved their lives.
(00:44:28):
This is a big deal.
(00:44:30):
Communication is a big deal.
(00:44:32):
So that’s how I feel about this.
(00:44:34):
I totally agree.
(00:44:34):
And maybe just the style of you doing your podcast is also something that one
(00:44:39):
person prefers to others.
(00:44:41):
And maybe at least I prefer this more simple way.
(00:44:45):
I don’t like music in the background or something like that.
(00:44:47):
I’m more distracted by it, I feel like.
(00:44:50):
Yeah, it’s really different from person to person.
(00:44:52):
And that’s also the reason why I’m doing so many talks at different conferences,
(00:44:56):
because of this exact thing that you mentioned.
(00:44:59):
You always have some people that come up to you afterwards and tell you how
(00:45:04):
thankful they are that you taught them something.
(00:45:06):
And it’s especially nice for me to hear when they say something like, oh, you know,
(00:45:11):
you know, on Monday I’m going to straight, going to go and implement this, you know.
(00:45:14):
And this is so cool for me to hear, you know, having this impact on people.
(00:45:20):
And also this is what I liked about teaching so much because you have so many
(00:45:24):
students who really appreciate you.
(00:45:27):
And it’s always nice getting messages from people and,
(00:45:30):
you know,
(00:45:30):
them telling you that,
(00:45:31):
you know,
(00:45:32):
you really help them out a lot.
(00:45:34):
And
(00:45:34):
And they may not have been,
(00:45:35):
you know,
(00:45:36):
at the point they are,
(00:45:37):
if I wasn’t,
(00:45:38):
wouldn’t have been there,
(00:45:40):
which,
(00:45:40):
you know,
(00:45:41):
is very flattering to hear and makes me very happy to hear that I was able to have
(00:45:45):
such a lasting impact.
(00:45:46):
And I feel like for you, probably with your podcast, it is similar, I could imagine, right?
(00:45:49):
Yeah.
(00:45:50):
I’m floored when anybody says that they listen.
(00:45:55):
I go to a conference, somebody comes up to me and they says, oh, I heard your podcast.
(00:46:00):
Really?
(00:46:00):
Somebody listened?
(00:46:01):
Yeah.
(00:46:03):
Because I just can’t imagine, to be perfectly honest, I can’t imagine anybody listening.
(00:46:09):
But a certain number of people do.
(00:46:10):
So it’s just this very humbling.
(00:46:14):
And I try not to talk too much because I’m really more interested in hearing about you guys.
(00:46:20):
Sure.
(00:46:22):
All right, Francois, it’s been great talking to you.
(00:46:24):
I have a new friend that’s great.
(00:46:26):
I need more of those.
(00:46:27):
And I’ve never been to Switzerland.
(00:46:29):
I’ve only been to really just a handful of countries in Europe.
(00:46:32):
So Switzerland seems like a nice place,
(00:46:35):
famous place to go to if there’s a conference or event I can go to at some point.
(00:46:40):
We’ll have to get together.
(00:46:42):
Is there anything that we haven’t talked about that we should have talked about or
(00:46:47):
anything I forgot to ask you?
(00:46:49):
Anything or any final words?
(00:46:51):
You know,
(00:46:51):
I kind of wanted to talk about Java Champions a little bit as well because…
(00:46:55):
Oh,
(00:46:55):
yeah.
(00:46:55):
I remember I went through the list of Java Champions recently,
(00:47:00):
and I kind of was curious to see,
(00:47:01):
of course,
(00:47:02):
who is a new Java Champion.
(00:47:04):
Because it always happens that people already know and appreciate they just happen
(00:47:08):
to be Java Champions,
(00:47:09):
and I want to congratulate them,
(00:47:11):
of course,
(00:47:11):
when I hear about it.
(00:47:12):
I remember looking through it, and I was kind of curious.
(00:47:15):
I noticed how many I knew of the list,
(00:47:18):
and then I started counting them,
(00:47:20):
and then I came up to,
(00:47:21):
I think,
(00:47:21):
around 60 people.
(00:47:22):
Oh, wow.
(00:47:23):
which seemed crazy to me.
(00:47:25):
I couldn’t believe that by, you know, especially most of them I’ve known through conferences.
(00:47:32):
And it was kind of surprising to me to see how many of those were Java champions.
(00:47:36):
This kind of proved to me as well in a way, you know, how great the Java community is.
(00:47:40):
Because, I mean, those 60 people were people that I talked to, that I made a connection with.
(00:47:45):
I mean,
(00:47:45):
sure,
(00:47:45):
I didn’t talk to each and every one of them for like,
(00:47:48):
I don’t know,
(00:47:48):
for hours,
(00:47:49):
you know,
(00:47:49):
this is for sure not possible.
(00:47:51):
But still,
(00:47:51):
you know,
(00:47:51):
meaningful enough that I would be able to remember them,
(00:47:53):
which it’s so nice to be able to know so many people.
(00:47:56):
And I have to say every Java Champion that I’ve met so far was someone who was
(00:48:00):
really passionate.
(00:48:01):
It also shows how many meaningful connections you can build if you go to
(00:48:07):
conferences or participate in communities,
(00:48:09):
of course,
(00:48:09):
in general.
(00:48:10):
And it’s always great knowing so many people because I remember recently at the
(00:48:15):
conference before the last one that I went to,
(00:48:17):
I met someone who is a maintainer of JMH,
(00:48:20):
which is a Java micro benchmarking framework.
(00:48:23):
And I did a talk on how to use it and so on.
(00:48:27):
It was really interesting for me because I never met a maintainer before.
(00:48:31):
And it was really cool because nobody knows the code as well as the maintainer or
(00:48:36):
one of the maintainers of the project.
(00:48:38):
And it was really cool because you noticed as well how passionate he was about what
(00:48:42):
he was doing and so on.
(00:48:44):
And it was really cool to talk to someone who has all of this know-how and I took
(00:48:49):
the opportunity to ask him,
(00:48:50):
you know,
(00:48:50):
if you could have a look at my talk and give me some feedback,
(00:48:53):
because of course,
(00:48:54):
you know,
(00:48:54):
I want to present the framework in a way that is something that helps them as well,
(00:48:59):
right?
(00:48:59):
Because, you know, this way you kind of help each other out in a way.
(00:49:03):
And since it’s like, you know, open source as well, everybody profits essentially, right?
(00:49:08):
Because in the end,
(00:49:09):
by making something better,
(00:49:11):
it improves it for everyone,
(00:49:12):
which is something I really enjoy about open source as well in general.
(00:49:16):
I remember I was in a project at the customer and we had a bug that was kind of a
(00:49:22):
blocker because as soon as we deployed the application,
(00:49:26):
every customer that was using the application,
(00:49:28):
when they visited the website,
(00:49:29):
it was simply blank.
(00:49:31):
And,
(00:49:31):
you know,
(00:49:32):
we got a lot of support calls from that and they were mad about that,
(00:49:36):
of course,
(00:49:37):
right?
(00:49:37):
I mean,
(00:49:37):
as customers are usually right when it doesn’t work,
(00:49:40):
which is definitely understandable,
(00:49:41):
right?
(00:49:41):
Yeah.
(00:49:42):
And I remember when I investigated this a little bit,
(00:49:46):
I found out that we actually or I mean,
(00:49:48):
I wasn’t yet at the company back then,
(00:49:50):
but they had the same kind of issue already one year ago.
(00:49:54):
And I remember I really remember our project manager really well because
(00:49:59):
I really enjoyed,
(00:50:00):
he was the one that really made,
(00:50:02):
I think he made the right decisions because he told me,
(00:50:05):
you know,
(00:50:06):
this is really embarrassing.
(00:50:07):
There are tons of customers that are affected by this.
(00:50:10):
And, you know, the way that they need to fix this, by the way, is by just emptying their cash.
(00:50:15):
But this isn’t something that regular people will remember to do, right?
(00:50:19):
I mean, you know, we may do this.
(00:50:21):
But regular people won’t do this.
(00:50:23):
And he told me, you know, this is embarrassing.
(00:50:24):
This is affecting so many customers.
(00:50:26):
It has happened the second time.
(00:50:28):
So, you know, he said, like, you know, I won’t spare any expense for this to get fixed.
(00:50:32):
And it took me eventually a week to fix this, but I was able to fix it.
(00:50:36):
And it turned out it was a bug in Angular’s CLI, you know, in the open source library.
(00:50:42):
And there were a lot of issues related to that,
(00:50:45):
even some issues where people didn’t even realize that it was this exact bug that
(00:50:49):
was affecting them.
(00:50:50):
And there were tons of posts and tons of comments in them where people were complaining,
(00:50:55):
you know,
(00:50:55):
oh,
(00:50:55):
this doesn’t work,
(00:50:56):
you know,
(00:50:56):
and then over years,
(00:50:58):
like always saying like,
(00:50:59):
oh,
(00:50:59):
you know,
(00:50:59):
this still doesn’t work,
(00:51:00):
you know,
(00:51:01):
can somebody fix this,
(00:51:02):
please?
(00:51:03):
And,
(00:51:03):
you know,
(00:51:03):
of course,
(00:51:04):
you know,
(00:51:04):
me being in open source as well,
(00:51:06):
every time I hear something like this,
(00:51:07):
I’m thinking,
(00:51:07):
you know,
(00:51:08):
you could fix it yourself.
(00:51:09):
It’s open source, right?
(00:51:10):
But I mean,
(00:51:11):
I understand it was a very complex problem in the end,
(00:51:14):
but I was able to solve it and it gave me so much joy seeing that this fix not only
(00:51:19):
solved the problem for the customer that I was working for at the moment,
(00:51:23):
but also for so many more people that are using it because,
(00:51:26):
you know,
(00:51:27):
as evidenced by the issues that I’ve seen,
(00:51:29):
I’ve seen there are a lot of people that are affected by this and they are probably very,
(00:51:33):
you know,
(00:51:33):
happy to see that it is now fixed.
(00:51:35):
And also,
(00:51:35):
you know,
(00:51:36):
it’s so nice that by doing something like this,
(00:51:38):
you can have an impact for so many people,
(00:51:40):
which I really enjoy about open source community.
(00:51:42):
I feel like in other industries, there isn’t like an equivalent to that as well.
(00:51:46):
You know, you mentioned in the beginning
(00:51:48):
You know,
(00:51:48):
that there aren’t also some other equivalents in software engineering in general,
(00:51:53):
but I feel like this is another aspect where this kind of open culture is also
(00:51:57):
something that’s not really seen in other industries,
(00:51:59):
I would feel like.
(00:52:00):
Or what is your experience there?
(00:52:02):
Yeah, exactly.
(00:52:02):
I mean,
(00:52:03):
I sometimes,
(00:52:04):
like in scientific communities,
(00:52:06):
I mean,
(00:52:06):
I’ve worked at universities where I’m around scientists and PhDs and veterinarians
(00:52:12):
and human physicians in different disciplines,
(00:52:16):
right?
(00:52:16):
And so they definitely have a culture of…
(00:52:19):
collaboration in the scientific community.
(00:52:21):
It’s slightly different from how software engineers do it, but there’s still a culture there.
(00:52:28):
In the construction business, there’s a definite collaboration concept there as well.
(00:52:33):
Construction goes back 5,000 years,
(00:52:34):
so there’s a long history there of really well-defined ways of doing whatever the
(00:52:41):
discipline is,
(00:52:43):
real meritocracy,
(00:52:45):
which is something I really value.
(00:52:48):
But in other disciplines, no.
(00:52:50):
I don’t find that in marketing, to be honest.
(00:52:54):
I don’t find that in other things.
(00:52:57):
But I will say this.
(00:52:58):
When I was on the Open Solaris project, we open sourced our marketing.
(00:53:03):
So we brought our marketing people,
(00:53:06):
our marketing team into the community,
(00:53:08):
and they functioned just like the engineers did.
(00:53:10):
in an open source way.
(00:53:12):
But those are people working on the open source project.
(00:53:14):
So they were doing marketing in the community and they function fantastic.
(00:53:17):
But in general, marketing is more of a non-collaborative sort of a discipline.
(00:53:23):
It’s true.
(00:53:23):
However, an advantage about open source can be that it can be marketing as well, right?
(00:53:27):
Oh, sure.
(00:53:28):
Because I remember there was one project that I was working on,
(00:53:33):
which was about making sure there would be a secure way to exchange encrypted,
(00:53:38):
anonymized data for science purposes between universities and the people that were
(00:53:44):
doing research.
(00:53:45):
And there was no standardized way to do this in Switzerland,
(00:53:48):
which is why they launched a joint project between three different universities.
(00:53:54):
where it was the goal or their idea was that if they find a solution that works for
(00:53:59):
those three major universities,
(00:54:01):
probably it will work for all of them because,
(00:54:03):
you know,
(00:54:03):
this was definitely a struggle we had because each of the universities were
(00:54:06):
slightly different and we had to find a solution that would work for all of them,
(00:54:10):
which was,
(00:54:11):
of course,
(00:54:11):
tricky.
(00:54:12):
But I remember, you know, I told them at some point I was kind of advocating for open source.
(00:54:17):
I was telling them,
(00:54:19):
you know,
(00:54:19):
I really would suggest you to open source this code because by doing this,
(00:54:24):
you really make it clear that the code is secure because this is a topic that is
(00:54:29):
very critical in terms of security,
(00:54:31):
right?
(00:54:32):
You want to make sure that the material that is encrypted in this way,
(00:54:36):
which is used for science purposes,
(00:54:38):
doesn’t go to somebody else.
(00:54:39):
I mean,
(00:54:40):
even though it’s anonymized still,
(00:54:41):
sometimes you’re able to de-anonymize,
(00:54:44):
you know,
(00:54:44):
data.
(00:54:44):
So it’s still very relevant.
(00:54:46):
And I said,
(00:54:46):
you know,
(00:54:47):
if you want to really get the trust by,
(00:54:49):
you know,
(00:54:49):
other people,
(00:54:50):
make it open source because people will see that it is open source.
(00:54:54):
They can look at the code.
(00:54:55):
They can see for themselves, is it secure or not?
(00:54:58):
And this,
(00:54:59):
you know,
(00:54:59):
also helped because I remember there was a funny thing that happened at some point.
(00:55:04):
Suddenly somebody wrote in the chat,
(00:55:06):
oh,
(00:55:06):
you know,
(00:55:06):
we got a contribution from somebody that never contributed before.
(00:55:11):
This was actually after we open sourced it because,
(00:55:13):
you know,
(00:55:13):
they eventually,
(00:55:14):
you know,
(00:55:15):
they agreed with my aspects when I mentioned them previously.
(00:55:18):
So when I mentioned to them that they should open source it,
(00:55:21):
they eventually understood and they were actually thinking it was a great idea.
(00:55:25):
And they told me I should do it and then I just put it open source.
(00:55:29):
And we worked on the project from then on.
(00:55:32):
And I remember there was a moment where suddenly we got our first external
(00:55:36):
contribution from somebody who we didn’t know.
(00:55:39):
And it’s funny because one member in our team had the idea of Googling the name of that person.
(00:55:46):
And they found that actually that person was a streamer and they actually stream
(00:55:50):
them using open source projects or contributing to them.
(00:55:56):
And it was so cool seeing that somebody discovered on their own or project that we
(00:56:00):
were working on and was submitting a contribution.
(00:56:04):
And it was also really cool because it gave us an opportunity to see how it is for
(00:56:08):
somebody who never interacted with the code base before,
(00:56:12):
how it feels like,
(00:56:12):
because of course we worked with the code base for so long already.
(00:56:16):
we were kind of blind in this aspect and it was really nice to see like,
(00:56:19):
you know,
(00:56:20):
what aspects is this person struggling with?
(00:56:22):
How can we make it easier for other collaborators to join in?
(00:56:26):
But of course,
(00:56:26):
I mean,
(00:56:27):
since the streamer has some visibility,
(00:56:29):
this also makes the project more visible,
(00:56:31):
which in turn is again valuable,
(00:56:33):
you know,
(00:56:34):
in terms of marketing.
(00:56:35):
So I feel like those are also aspects that are often not talked about of how
(00:56:39):
valuable open source can be in those kinds of ways.
(00:56:42):
Absolutely.
(00:56:43):
Everything you said is true.
(00:56:44):
I’ve lived it my life completely on Open Solaris and Java.
(00:56:49):
And I’ve worked on the NetBeans project.
(00:56:52):
I’ve worked on OpenOffice, MySQL, lots of different open source projects.
(00:56:57):
And it is one of the things I tell engineers is that when you do your work in the open,
(00:57:02):
you are literally building the community.
(00:57:05):
Most engineers just feel that they’re just working on the code.
(00:57:08):
I say, yes, you are.
(00:57:09):
But the fact that you’re building infrastructure
(00:57:12):
You’re building the code.
(00:57:13):
You’re interacting with other engineers.
(00:57:16):
You are literally building that community with your bare hands.
(00:57:20):
Now,
(00:57:20):
my job as a community builder is to sort of facilitate that,
(00:57:23):
but you’re doing the actual community building.
(00:57:27):
That in and of itself is a marketing function.
(00:57:30):
Have you ever read the Cluechain Manifesto?
(00:57:32):
No, I didn’t.
(00:57:33):
That sounds interesting.
(00:57:34):
I need to have a look at that.
(00:57:35):
Clue Train Manifesto is a book written in 2000.
(00:57:37):
It’s 25 years old.
(00:57:41):
It’s written by some Linux guys.
(00:57:44):
It’s open source marketing.
(00:57:45):
That’s what it is.
(00:57:48):
And it is obviously an old book now,
(00:57:50):
but you read it and you just change the language because the world has changed a
(00:57:54):
little bit.
(00:57:54):
You understand that markets are conversations.
(00:57:57):
It’s the open collaboration, right?
(00:57:58):
Yeah.
(00:57:59):
And we used it a lot at Sun when we were opening,
(00:58:03):
because Sun was opening all those different projects.
(00:58:06):
Solaris, Java, Linux.
(00:58:09):
Actually, we had a Linux team.
(00:58:10):
We had NetBeams, MySQL, Juxta.
(00:58:13):
What else was Sun?
(00:58:15):
OpenOffice.
(00:58:17):
And piles and piles of other projects as well as Spark.
(00:58:20):
So a lot of us, a lot of the marketing teams used it back then.
(00:58:23):
And it seems to have been forgotten now.
(00:58:25):
But you read that book now, it’s really thin.
(00:58:28):
And it articulates more or less what you just said,
(00:58:31):
that everybody involved in the project,
(00:58:34):
if you’re having the conversation in the open.
(00:58:37):
This is where Java is so valuable.
(00:58:39):
OpenJDK is the central platform.
(00:58:42):
There’s a canonical project for Java, right?
(00:58:44):
How many million lists are there?
(00:58:45):
They’re all active.
(00:58:47):
You can see the code.
(00:58:48):
It’s got a governance system.
(00:58:50):
It’s an entire community.
(00:58:53):
And so, yeah, absolutely.
(00:58:55):
And that in and of itself helps to build everything.
(00:59:00):
So it’s the coolest thing in the world.
(00:59:02):
It really is.
(00:59:04):
We’re so lucky to be doing this because there’s just so many possibilities.
(00:59:09):
And it empowers people.
(00:59:11):
You’re not just slogging through pushing paper.
(00:59:15):
I mean,
(00:59:16):
so you’ve learned language and technology and some tools that can change the world
(00:59:23):
and change your life.
(00:59:24):
It’s not the same as just clocking in nine to five.
(00:59:27):
It’s very different.
(00:59:28):
It’s a very different thing, you know.
(00:59:31):
True.
(00:59:31):
I mean,
(00:59:31):
I just recently learned about JCP,
(00:59:34):
which I mean,
(00:59:35):
you know,
(00:59:36):
surprisingly enough,
(00:59:37):
I mean,
(00:59:37):
I’ve been working with Java for so long,
(00:59:38):
but it was very impressive to me to see how the JCP was working and how in the open
(00:59:44):
this also was.
(00:59:45):
Right.
(00:59:45):
And I was very impressed by that.
(00:59:48):
Yeah,
(00:59:49):
I’m always surprised about,
(00:59:50):
you know,
(00:59:51):
even,
(00:59:51):
you know,
(00:59:52):
more and more things as much as time goes on,
(00:59:54):
because there’s so many of those things that you don’t really hear about often,
(00:59:57):
but they are very,
(00:59:58):
you know,
(00:59:58):
interesting in those ways that you mentioned them,
(01:00:01):
right?
(01:00:01):
Yeah, absolutely.
(01:00:03):
All right, Francois, I’m going to go to bed.
(01:00:04):
Yeah, sorry for keeping up.
(01:00:08):
It’s almost 2 a.m.
(01:00:10):
and it’s been a great conversation.
(01:00:12):
I learned, yeah, I live an alternative lifestyle, can I say?
(01:00:17):
It’s fine.
(01:00:20):
But, yeah, no, it’s been great chatting with you.
(01:00:22):
I learned a lot, as always.
(01:00:24):
And we talked about test and teaching and community and learning and contributing
(01:00:29):
to open source,
(01:00:30):
contributing to Java,
(01:00:31):
Java user groups.
(01:00:32):
I mean, really wide variety here.
(01:00:34):
It’s really great.
(01:00:35):
I’m glad you pinged me.
(01:00:36):
I’m glad we met at that conference a couple of months ago.
(01:00:40):
And, yeah, we’ll see you maybe sometime in Europe at some event someplace.
(01:00:46):
Totally agreed.
(01:00:46):
Same.
(01:00:47):
Yeah, definitely.
(01:00:48):
I’m also very glad that it happened, you know, and it was really nice chatting to you, too.
(01:00:52):
I also really enjoyed it.
(01:00:53):
And I’m really glad to hear that you learned something.
(01:00:55):
You know,
(01:00:55):
I didn’t come into this discussion with the expectation for you to learn anything,
(01:01:00):
but I’m even more glad to hear that.
(01:01:02):
You know, this makes me really happy.
(01:01:03):
I always learn.
(01:01:05):
I always learn because I’m looking to learn.
(01:01:07):
And so you guys are good teachers.
(01:01:09):
Thank you so much.
(01:01:10):
Yeah, I think that’s true.
(01:01:12):
I’m also doing the same.
(01:01:13):
Yeah.
(01:01:13):
I feel like it’s also kind of a mindset question, right?
(01:01:16):
Because if you’re not in the mindset to learn something, then you probably won’t, right?
(01:01:22):
Absolutely.
(01:01:23):
Yeah.
(01:01:24):
But thank you so much for the opportunity as well.
(01:01:26):
I really enjoyed being here with you.
(01:01:27):
Cool.
(01:01:28):
Cheers.
(01:01:29):
Cheers.
