(00:00:00):
Hey, everybody, welcome back.
(00:00:01):
This is Jim Grisanzio from Java Developer Relations, and this is Duke’s Corner.
(00:00:06):
This is where we hang out once or twice a month talking to Java developers from around the world.
(00:00:11):
And we talk about the community,
(00:00:13):
we talk about the software,
(00:00:14):
we talk about open source contributions,
(00:00:17):
things like that.
(00:00:18):
Lots of fun.
(00:00:19):
It’s the only thing I love to do around here, so I take it pretty seriously.
(00:00:24):
So if you love math,
(00:00:25):
if you love solving puzzles and problems,
(00:00:27):
if you’re interested in creating really interesting new ideas,
(00:00:31):
new opportunities in software,
(00:00:33):
you’re going to love this conversation here with Sam Brannen.
(00:00:35):
He’s an American living in Europe, actually in Switzerland.
(00:00:40):
and talks about his whole evolution in Java.
(00:00:43):
So if you’re just getting involved in Java or if you’re in school,
(00:00:48):
he gives some advice to students and things like that,
(00:00:50):
which I think you’ll find helpful.
(00:00:52):
And yeah, it’s interesting to hear the history.
(00:00:54):
And it’s also really interesting to hear how passionate he is about going hardcore.
(00:01:00):
He loves to get down in the weeds.
(00:01:03):
He loves low-level stuff, which is great.
(00:01:07):
So that’s it.
(00:01:08):
More coming as usual.
(00:01:10):
Cheers.
(00:01:11):
Sam, Sam Brennan, welcome to Duke’s Corner.
(00:01:13):
How are you doing?
(00:01:14):
Good, good.
(00:01:15):
Thanks for having me.
(00:01:15):
It’s an honor to be here.
(00:01:16):
It’s great to meet you.
(00:01:18):
We’re meeting here for the first time.
(00:01:19):
You come highly recommended.
(00:01:20):
The last few guests I’ve had on the program, I’ve gotten through recommendations from others.
(00:01:25):
And so someone said I ought to chat with you.
(00:01:29):
So that’s why we’re here.
(00:01:30):
So I wanted to have a chat with you.
(00:01:31):
So tell me a little bit about yourself.
(00:01:34):
Who are you?
(00:01:34):
Where do you come from?
(00:01:35):
What do you do?
(00:01:35):
Well, I’m a programmer.
(00:01:37):
I’m a Java programmer.
(00:01:38):
I’ve been programming Java since like, or at least using it since like 1996 or so.
(00:01:43):
And I’ve probably most noted for my work on the Spring Framework and more recently on JNIT 5.
(00:01:48):
Okay, so let’s go back further.
(00:01:50):
Why did you become a developer?
(00:01:52):
Well, I like puzzles.
(00:01:54):
I’ve always liked puzzles, even as a young child.
(00:01:56):
I also liked math a lot.
(00:01:58):
We had a computer science course in school, in high school.
(00:02:01):
And when I went off to college, I was interested in
(00:02:04):
in fractals and math.
(00:02:05):
And I thought I might use computers to help solve some things in that area.
(00:02:09):
And then I just switched straight on to computer science.
(00:02:12):
I went to Georgia Tech,
(00:02:14):
Georgia Institute of Technology in Atlanta,
(00:02:15):
Georgia,
(00:02:16):
and got a degree in computer science.
(00:02:18):
Interesting.
(00:02:19):
Oh, a couple of things there, but you’re not in Atlanta now, right?
(00:02:21):
Nope, nope.
(00:02:22):
I live just outside Zurich,
(00:02:23):
Switzerland,
(00:02:23):
and I’ve been in Europe for about 20 years now,
(00:02:26):
so quite a while.
(00:02:27):
20 years.
(00:02:27):
Okay.
(00:02:28):
So is it – how different is – this is actually a little aside.
(00:02:32):
How different is it from the U.S.?
(00:02:35):
Oh, I don’t know that we want to get into that here.
(00:02:38):
It’s quite different.
(00:02:39):
It’s a very small country, so –
(00:02:40):
I tell people the country I live in,
(00:02:42):
Switzerland,
(00:02:42):
is basically smaller than the state I grew up in,
(00:02:45):
in Georgia.
(00:02:46):
So a smaller population.
(00:02:48):
So it’s very different.
(00:02:49):
Yeah, because I’m in Japan and people always ask me, you know, what it’s like.
(00:02:53):
And it’s very different.
(00:02:54):
It’s just a different world.
(00:02:56):
Okay.
(00:02:56):
So you mentioned that when you’re younger, like solving problems and you’re interested in math and stuff.
(00:03:00):
So that was interesting that you had, you had a direction from a very, very young age.
(00:03:04):
I’m kind of envious of that because actually a lot of people,
(00:03:07):
they don’t have that direction more than they’re actually that young.
(00:03:10):
You know, they kind of grow into a field sometimes in college very, very late.
(00:03:15):
Do you think that was sort of a benefit to you in terms of your ability to focus on
(00:03:21):
sort of in general,
(00:03:22):
one thing at such a young age and then go and become a developer?
(00:03:25):
Yeah,
(00:03:25):
well,
(00:03:25):
like I said,
(00:03:26):
I always enjoyed solving puzzles,
(00:03:28):
not just jigsaw puzzles,
(00:03:29):
but lots of the little metal puzzles and wooden puzzles.
(00:03:32):
I used to get them at fairs and things like that.
(00:03:34):
So I just liked solving puzzles.
(00:03:36):
I also liked solving, coming to the solution when working on math problems all through high school.
(00:03:42):
I skipped a year of math in high school and took calculus earlier than I was
(00:03:45):
supposed to,
(00:03:46):
things like that.
(00:03:46):
And then we had the computer science course at school.
(00:03:49):
Actually, my mom was very, very sweet to me.
(00:03:52):
I wanted to take the computer science course and they said, you have to take the computer math course.
(00:03:55):
And I said, I want to take the computer science course.
(00:03:57):
And they said, well, you have to take the computer math course.
(00:03:59):
And I said, okay, how do we do it?
(00:04:00):
And my mom went with me one summer to night school to take basic programming.
(00:04:05):
So that was my first real experience with programming basic.
(00:04:08):
And then I took the computer science course.
(00:04:10):
And I just, I loved playing around.
(00:04:12):
I loved solving stuff.
(00:04:13):
I always made my output prettier than I was supposed to.
(00:04:16):
I learned how to do things in color.
(00:04:17):
A friend of mine had run into some college kids that had some
(00:04:22):
some routines and Pascal for, um, working with colors and sound.
(00:04:25):
And, uh, I actually wrote a video game.
(00:04:27):
Um, not too exciting, but, uh, that was a lot of fun to do.
(00:04:30):
So I just really, really got into it like that.
(00:04:33):
Wow.
(00:04:33):
Really envious, uh, just at a personal level.
(00:04:36):
Cause I mean,
(00:04:36):
I’m at this old age now and I’m still looking for what I want to do,
(00:04:39):
but that’s really cool.
(00:04:41):
Um,
(00:04:41):
so as,
(00:04:41):
as you were like,
(00:04:42):
when you’re going through school and stuff,
(00:04:44):
did you have any specific goal beside becoming a developer?
(00:04:49):
Did you want to use that for something specific?
(00:04:52):
I don’t know that I’ve ever been asked that.
(00:04:53):
I don’t think I actually had any particular goal.
(00:04:56):
I just wanted to program.
(00:04:57):
I liked solving problems with a computer.
(00:05:00):
Yeah, yeah.
(00:05:00):
Okay,
(00:05:01):
so I was at your website and I saw the phrase hardcore software developers,
(00:05:06):
probably at the top of your bio or something.
(00:05:08):
And I really liked that.
(00:05:10):
I thought that was, I don’t know, I just, I haven’t seen that in a long time.
(00:05:13):
I used to be at Sun on the open Solaris project.
(00:05:16):
So I was around a lot of Solaris engineers, a lot of kernel developers.
(00:05:20):
And even at Oracle,
(00:05:21):
actually,
(00:05:22):
when you hang out with the core developers in Java,
(00:05:26):
these are very,
(00:05:27):
very substantial people.
(00:05:28):
They’re very smart.
(00:05:29):
They go very much in depth.
(00:05:31):
And hardcore is a very common way that I would describe these people.
(00:05:35):
So why do you describe yourself as hardcore?
(00:05:37):
That’s pretty funny.
(00:05:38):
I’d forgotten that that was even on there.
(00:05:40):
I think, well, it wasn’t there for a long time.
(00:05:42):
So I think when I added that,
(00:05:44):
I realized that,
(00:05:45):
yeah,
(00:05:45):
there are some people out there just doing it for the day-to-day job just to make
(00:05:48):
some money.
(00:05:49):
and wanted to differentiate myself and say, you know, I really, I’m doing it because it’s my passion.
(00:05:53):
This is what I love to do.
(00:05:54):
I think about code a lot.
(00:05:56):
I had done,
(00:05:56):
you know,
(00:05:57):
coding on the side,
(00:05:58):
you know,
(00:05:58):
even when I wasn’t getting paid for it,
(00:05:59):
things like that.
(00:06:00):
So it’s kind of more like an attitude or maybe,
(00:06:03):
you know,
(00:06:03):
deeper in my soul that I really love programming.
(00:06:06):
I really love solving problems and just getting down into it.
(00:06:09):
And it’s also somewhat to do more with the fact that I’ve taken a lot of joy in
(00:06:14):
working on framework code,
(00:06:15):
things like Spring Framework and
(00:06:16):
And Jane,
(00:06:17):
it’s so kind of differentiating me from people who might work on application code
(00:06:21):
or implementing certain features for their company that I really like to get down
(00:06:25):
to the kind of low-level stuff,
(00:06:27):
dealing with things like reflection and AOP and some more recently things like
(00:06:33):
native image and things like that.
(00:06:35):
That’s kind of what I’ve been by, hardcore, kind of more low level.
(00:06:38):
But not quite to the extent of doing things like kernel drivers or anything like that for Linux.
(00:06:44):
That’s a different level.
(00:06:46):
I see.
(00:06:47):
Interesting.
(00:06:47):
So when did you get into Java?
(00:06:50):
Ah, this brings my mother back into the story.
(00:06:53):
Like many college kids, I used to go home on the weekends to do my laundry.
(00:06:57):
And one Sunday,
(00:06:58):
I was there and my mom had saved a section from the New York Times technology section,
(00:07:03):
which I
(00:07:04):
I was a bit shocked at,
(00:07:05):
and she said,
(00:07:05):
I read this this morning with my coffee,
(00:07:07):
and there’s this new programming language called Java.
(00:07:10):
It seems like you should really check it out.
(00:07:12):
It’s for the web, and, you know, the web’s growing and everything.
(00:07:15):
And I actually did.
(00:07:16):
I started playing with it before anyone else that I knew, actually.
(00:07:19):
And, yeah, I played around with, like, AWT and making some graphics and stuff.
(00:07:24):
But I did have some challenges because I hadn’t had an object-oriented programming language.
(00:07:27):
course and I didn’t know anything about pass by,
(00:07:29):
by,
(00:07:30):
um,
(00:07:30):
reference and,
(00:07:31):
and value and the differences between C sharp and having pointers and all that.
(00:07:34):
So it was a bit of a challenge,
(00:07:35):
but,
(00:07:35):
um,
(00:07:36):
yeah,
(00:07:36):
so my mom helped me get into the computer science course and,
(00:07:39):
and
(00:07:39):
high school and introduced me to java so to speak wow i was in college well i think
(00:07:44):
this is the first i mean i’ve spoken with hundreds of developers and i don’t think
(00:07:47):
i’ve ever heard that uh sequence of events that’s pretty cool that’s really
(00:07:51):
interesting okay so then you’ve seen java evolve then for quite a number of years
(00:07:56):
do you um you know you’re not exactly new to it right i mean so tell me a little
(00:08:02):
bit about the evolution as you’ve seen as you’ve worked with it do you have any uh
(00:08:07):
thoughts on how the technology has evolved over the years?
(00:08:10):
Yes, I’ve been there basically since day one, I guess you could say.
(00:08:14):
I mean,
(00:08:14):
I started learning object-oriented programming when I was getting to know Java,
(00:08:17):
so I didn’t have much to compare with the beginning.
(00:08:19):
But yeah,
(00:08:20):
initially the API was pretty small and one could actually know most of the API,
(00:08:24):
which is of course not the case today if you look at the JDK.
(00:08:28):
And initially it was really geared more towards web applications and applets and stuff like that.
(00:08:32):
And then we had servlets and JSPs.
(00:08:35):
It’s really evolved a lot in time.
(00:08:37):
So things like,
(00:08:37):
you know,
(00:08:38):
initially had better support for real collection instead of the old vector and then
(00:08:42):
hash table and stuff like that.
(00:08:43):
And then more recent years, well, years after that, right?
(00:08:46):
So Java 5 brought in a lot with enums and annotations really changed in the way we
(00:08:50):
We do things.
(00:08:50):
And then,
(00:08:51):
of course,
(00:08:51):
Java 8 was a game changer for most of us with Lambda expressions and then streams
(00:08:56):
and all that kind of stuff.
(00:08:57):
And now in recent years with the cadence,
(00:09:00):
the more frequent releases,
(00:09:01):
we’re seeing a lot more features coming in.
(00:09:03):
Java’s becoming a lot more competitive.
(00:09:05):
It’s fast.
(00:09:06):
People don’t really complain about being slow anymore.
(00:09:09):
The right ones to run anywhere has always been there.
(00:09:11):
But now we’re even focusing on different things, like having dedicated runtimes with native images.
(00:09:16):
And we have lots of things coming in the next releases with…
(00:09:19):
the crack project support and loom support, things like that.
(00:09:23):
But in the recent years,
(00:09:24):
I really do appreciate what the Java team’s been doing,
(00:09:26):
adding in new features that are making our lives easier.
(00:09:29):
Things like having records finally in place,
(00:09:31):
having switch expressions,
(00:09:33):
pattern matching and that kind of stuff,
(00:09:34):
sealed classes,
(00:09:35):
these kinds of things.
(00:09:36):
They’re really nice.
(00:09:37):
They’ve been missing for a long time.
(00:09:38):
Something as simple as text blocks, right?
(00:09:41):
I was using Perl and languages many, many years ago, decades ago.
(00:09:45):
And they had these multi-line strings and you’re like, oh, now we finally have
(00:09:49):
multi-line strings in Java.
(00:09:50):
But so it’s these small things that make the difference and kind of make our lives
(00:09:54):
easier on a daily basis.
(00:09:55):
But yeah, so it’s come a long way and it’s improving on a faster pace now.
(00:09:59):
Yeah.
(00:09:59):
And it’s interesting because I talk to a lot of,
(00:10:03):
sometimes the developers are very young and they don’t know the full history and
(00:10:06):
how things have evolved.
(00:10:07):
And they sort of just describe Java,
(00:10:10):
you know,
(00:10:10):
like essentially how you did at the very end there,
(00:10:13):
but it didn’t start that way.
(00:10:15):
And so it’s always nice to hear a little bit of the evolution and it’s nice to get
(00:10:19):
a history,
(00:10:20):
a little bit of a history when you’re talking to someone who’s been around more
(00:10:23):
often because the community seems to be thriving.
(00:10:26):
So I’m talking to a lot of young people, but yet the technology has been around for quite a while.
(00:10:32):
And what I also find interesting is I see when I go to conferences,
(00:10:35):
I see the older people mixing with the younger people seamlessly.
(00:10:39):
It’s really interesting that the older people are so welcoming to the younger people.
(00:10:44):
And some of these younger people are like 20 years younger.
(00:10:49):
And so it’s a whole different generation.
(00:10:52):
What do you see as, have you noticed that yourself?
(00:10:55):
Or do you have any opinion on that in terms of this mixing of bringing newer and
(00:11:00):
younger people into the community?
(00:11:02):
Well, let me just say for starters, I’m really happy that Java is still around.
(00:11:05):
There have been many
(00:11:06):
naysayers over the years.
(00:11:08):
I’ve always enjoyed Java as a programming language and the tools.
(00:11:11):
And one of the main things is the community and the fact that there’s so many libraries out there.
(00:11:16):
So if you need to do something in Java,
(00:11:18):
chances are there’s a library out there that’s going to help you do that.
(00:11:21):
And that’s one thing you wouldn’t really get from some new cool language,
(00:11:25):
the new kid on the block that’s just come out.
(00:11:27):
In terms of working with younger people, yeah, it’s great to see people of all ages
(00:11:32):
Working and thriving with Java.
(00:11:34):
I work on the JUnit team.
(00:11:35):
We also have a younger committer, so it’s nice.
(00:11:38):
I could probably be her father.
(00:11:39):
She might not want to hear me saying that,
(00:11:40):
but yeah,
(00:11:42):
it’s nice to be able to work with younger people and enjoy the same technology.
(00:11:45):
Cool.
(00:11:46):
So what are you doing right now with Java?
(00:11:48):
Right now, I’m a core committer on the Spring framework and a core committer on JNF5.
(00:11:53):
And in recent years,
(00:11:54):
I’ve also helped out with the native build tools support,
(00:11:57):
testing support for GraalVM native images.
(00:11:59):
Those are my key focuses, Spring, Core, and JNF5.
(00:12:03):
Do you have any, like, this might seem like a silly question, but are there any…
(00:12:08):
i don’t know favorite or you know uh in terms of features or um that you use most
(00:12:16):
or that you use most frequently or that you depend on most or that are most
(00:12:20):
productive for you and your work that is an interesting question um like i said i
(00:12:25):
do lots of uh low-level things in in both in jnn and in spring um in terms of java
(00:12:31):
features well part of my job in spring is is helping us make sure that we’re
(00:12:35):
utilizing new features when we upgrade to a new version of java
(00:12:38):
And like I said,
(00:12:39):
some of the things that I liked the most in recent years were text blocks,
(00:12:43):
being able to use those,
(00:12:44):
being able to use instance of pattern matching that really simplifies a lot of our
(00:12:48):
code because we do a lot of instance of checks and want to avoid the extra cast and
(00:12:51):
simplify the code.
(00:12:53):
Switch expressions,
(00:12:54):
those are also really nice to simplify some of the code blocks we had before,
(00:12:57):
get rid of a lot of if else or complex switch statements.
(00:13:01):
Records, I would like to use more.
(00:13:03):
I imagine that if I were writing applications in a company, I’d probably be using them all the time.
(00:13:08):
We don’t really have the opportunity to use them in something like Spring because
(00:13:12):
things have existed,
(00:13:13):
right?
(00:13:13):
We can’t just change the way things work.
(00:13:15):
But for new features, we do like things like sealed types can be useful in records.
(00:13:20):
But probably the thing that’s just,
(00:13:22):
like I said before,
(00:13:22):
the biggest game changer over the recent years since Java 8 is being able to have
(00:13:26):
Lambda Expressions
(00:13:28):
method references and the stream API.
(00:13:30):
We use those all the time in Spring and in JUnit.
(00:13:33):
If you look at the JUnit code base, we have tons of use of Lambda expressions and stream APIs.
(00:13:38):
Cool.
(00:13:39):
And you mentioned the six-month release cadence,
(00:13:43):
which is,
(00:13:44):
I guess,
(00:13:45):
four or five years,
(00:13:46):
three,
(00:13:46):
four or five years at this point.
(00:13:47):
I think the team, the engineering team has really gotten that down clean now.
(00:13:52):
And
(00:13:53):
the community is used to it and everybody i talk to really appreciates it because
(00:13:57):
you can follow the you follow the evolution of features as they come as they’re
(00:14:02):
released and um so 21 is coming i guess in september maybe i should know that uh
(00:14:07):
but it’s coming soon is there anything specific in uh specific in 21 that uh that
(00:14:13):
you’ve been following
(00:14:14):
Well, the core spring team, of course, has been following the support for virtual threads.
(00:14:18):
That’s not something I’m actively working on, but my teammates are.
(00:14:21):
That’s one of the biggest things that will be coming in.
(00:14:23):
Cool.
(00:14:24):
So tell me a little bit about your community involvement.
(00:14:28):
I saw a couple of your sessions at some conferences, and you obviously get out.
(00:14:36):
to a certain degree.
(00:14:37):
I don’t know how much because we’re just meeting here for the first time,
(00:14:40):
but I did see you do a couple of sessions someplace on YouTube.
(00:14:44):
And so tell me a little bit about contributing to this community.
(00:14:47):
You’ve been around for a while.
(00:14:48):
You’ve seen the evolution of the technology in the community itself, the conferences.
(00:14:52):
Some of these conferences are very interesting in terms of their personalities.
(00:14:55):
A lot of them are very, very different.
(00:14:58):
There’s a lot of unconferences in Java now.
(00:15:02):
They’re very, very small, sort of informal.
(00:15:06):
You know, some of them are obviously very big and very massive.
(00:15:09):
So talk a little bit about your community involvement.
(00:15:12):
What do you do there?
(00:15:13):
Yeah, I have actually been involved in conferences over the years.
(00:15:16):
I think my first one was maybe in 2007, 2008.
(00:15:18):
I originally started talking about stuff I was working on in Springs testing support.
(00:15:24):
And back in the day, some people might know what OSGI is, but
(00:15:27):
There was a Spring Source team server, OSGI, and I was heading up some of the web support there.
(00:15:32):
And over the years, I’ve traveled to a lot of conferences, speaking mainly about Springs testing support.
(00:15:37):
I still am the lead of Springs testing support since 2007.
(00:15:40):
So adding new features, keeping people up to date.
(00:15:43):
Recent years,
(00:15:44):
I’ve been giving talks about JANET,
(00:15:46):
JANET 5,
(00:15:47):
all the work we’ve done there since we started on it before we released it.
(00:15:50):
And I still enjoy going to conferences,
(00:15:52):
getting to meet people,
(00:15:53):
meet them in person instead of just online.
(00:15:55):
having some real conversations, letting people talk to me.
(00:15:59):
And it’s just nice to get feedback directly from people and see how they’re using it.
(00:16:02):
So that’s something I continue to do.
(00:16:04):
Not as much as I used to.
(00:16:06):
I have two small children now, so I try not to travel as much as I used to.
(00:16:10):
But
(00:16:11):
There were times when I used to go to like four or five conferences a year and now
(00:16:14):
I try to keep it down to one or two,
(00:16:15):
something like that.
(00:16:16):
Yeah.
(00:16:17):
I like getting out there as well, as much as possible.
(00:16:19):
There’s something that is just different about being in a session,
(00:16:23):
having the hallway session as well,
(00:16:25):
going to dinner,
(00:16:26):
all these conversations,
(00:16:27):
the technical conversations and the community conversations continue all throughout,
(00:16:32):
you know,
(00:16:32):
wherever you are.
(00:16:33):
It’s just not the same as being on Zoom.
(00:16:36):
Yes, exactly.
(00:16:37):
Yeah.
(00:16:38):
Well,
(00:16:39):
I work remotely these days,
(00:16:40):
so it’s also important to me to be able to see people face-to-face,
(00:16:44):
have some human interaction.
(00:16:46):
And it’s also nice sometimes when you’re working on open source projects,
(00:16:50):
you get to know people’s names or maybe their little profile photo on GitHub or
(00:16:54):
something like that.
(00:16:55):
And then you meet them in person at a conference and you’re like,
(00:16:57):
oh,
(00:16:57):
yeah,
(00:16:58):
we’ve spoken in quotes a few times on issues.
(00:17:01):
We’ve collaborated.
(00:17:02):
It’s nice to meet you in person and maybe get to have a beverage of choice sometimes.
(00:17:06):
with that person or dying with some of those people.
(00:17:07):
It’s definitely, it’s great to go to conferences.
(00:17:09):
Yeah.
(00:17:09):
Yeah, absolutely.
(00:17:10):
Okay.
(00:17:11):
So what I definitely want to,
(00:17:13):
one of the things I like to,
(00:17:16):
one of the things I like to talk about is,
(00:17:18):
especially with senior developers,
(00:17:20):
how you feel about young people getting involved in like at the college level,
(00:17:24):
even at the high school level,
(00:17:25):
college level now,
(00:17:27):
it’s not the same as it was,
(00:17:28):
you know,
(00:17:28):
when you were,
(00:17:29):
you know,
(00:17:29):
that age,
(00:17:30):
it’s a different world,
(00:17:31):
obviously.
(00:17:32):
And the technology has changed.
(00:17:33):
All the tools have changed dramatically.
(00:17:36):
But nevertheless,
(00:17:37):
when I was in Solaris at Sun,
(00:17:39):
I went to a lot of universities and I love to build community,
(00:17:43):
start user groups at universities simply because the kids were so much younger than
(00:17:47):
me and they had such a different perspective.
(00:17:49):
So what do you think about or actually do you think about young people in terms of
(00:17:56):
what they should or shouldn’t do at the college level for getting into technology?
(00:18:01):
Do you have any thoughts on that?
(00:18:02):
I thought about it some not as much as as others,
(00:18:04):
I would assume I do think it’s great that people are getting involved at a younger ages.
(00:18:09):
You hear about script kitties and younger kids getting into programming and I think
(00:18:13):
it’s wonderful that there’s so many tools out there it’s so much easier now to get
(00:18:16):
involved or to get started than it was when when when I started so,
(00:18:19):
for example,
(00:18:19):
with Java.
(00:18:20):
We just had a text editor and you had to use Java C from the command line and
(00:18:23):
something like that,
(00:18:24):
right?
(00:18:24):
You didn’t have an IDE and you didn’t have all the wonderful resources that are now
(00:18:28):
available on the internet.
(00:18:30):
So, right, kids, younger people getting into it now, it’s a completely different experience.
(00:18:34):
In terms of which route they should go, I don’t really have the answer for that.
(00:18:38):
I know personally, I did get a degree in computer science and I think that was good.
(00:18:42):
It gave me a basis.
(00:18:44):
I learned a lot more about computers than I would have if I had just focused only on programming.
(00:18:50):
So I think there’s some benefits in that.
(00:18:51):
But at the same time,
(00:18:52):
I also know there are lots of boot camps out there these days,
(00:18:55):
lots of people getting in or switching jobs and getting into computer science.
(00:19:00):
But they probably don’t even think of it as computer science, right?
(00:19:01):
They just want to get into programming,
(00:19:03):
solving problems,
(00:19:04):
help create web applications and stuff like that.
(00:19:07):
I think they should definitely do that.
(00:19:08):
And I think people shouldn’t be afraid of college and a computer science degree.
(00:19:12):
They don’t have to get a computer science degree if they want to be successful in programming.
(00:19:16):
That’s about the way I would sum it up.
(00:19:18):
That’s actually – I’m glad you phrased it that way because that’s actually what I
(00:19:22):
was sort of thinking of in terms of like this slightly fear because,
(00:19:26):
I mean,
(00:19:26):
I had that when I was younger.
(00:19:28):
It’s like, oh, I just can’t – it’s just too hard.
(00:19:30):
This is too much math.
(00:19:31):
I mean, it’s too abstract.
(00:19:33):
But I like programming a little bit.
(00:19:35):
I took some C and I took –
(00:19:38):
C++.
(00:19:39):
But,
(00:19:39):
you know,
(00:19:40):
all I had at the time was just a big sun monitor with the keyboard and a piece of
(00:19:44):
paper in front of me.
(00:19:44):
And that was it.
(00:19:45):
You know, it was a blank screen.
(00:19:48):
And do you think learning to program like that years ago versus learning now with
(00:19:53):
all the really cool tools that,
(00:19:55):
you know,
(00:19:55):
actually that we have now?
(00:19:57):
is different?
(00:19:58):
Does it change the way developers program at all in terms of, you know, now we have new tools?
(00:20:04):
A lot of that complexity is abstracted out.
(00:20:07):
It’s not as complex as it was years ago.
(00:20:10):
Is that accurate?
(00:20:11):
I would probably say yes and no.
(00:20:12):
A lot of things get a lot easier,
(00:20:14):
but when we have the tools that enables to do more,
(00:20:16):
then we try to do more and then things get more complex,
(00:20:19):
right?
(00:20:19):
So we have like these days,
(00:20:20):
you know,
(00:20:21):
you might have to learn about Kubernetes or native image and all these other things.
(00:20:25):
So it really just kind of depends.
(00:20:27):
And in terms of the programming skill set and what people are focused on or learning, that also depends.
(00:20:32):
We still need people to get computer science degrees to know about computer science,
(00:20:37):
to know about complexity and how to analyze these things.
(00:20:40):
But to be honest,
(00:20:41):
a lot of the things that I learned with my computer science degree,
(00:20:44):
I don’t use anymore.
(00:20:45):
I haven’t used since college.
(00:20:47):
I do have in the back of my mind complexity, things like that.
(00:20:51):
If I need to, I can analyze things, but I’m not using a lot of math on a daily basis.
(00:20:55):
I’m not using any calculus or anything like that.
(00:20:58):
There’s different skill sets.
(00:21:00):
We need people who know how to write low-level C code into our even assembly code.
(00:21:05):
interacting with drivers at the OS level.
(00:21:08):
We need people who write frameworks like code that I do.
(00:21:10):
We need people who write applications for desktops and we need people to write web applications.
(00:21:15):
So,
(00:21:15):
I mean,
(00:21:15):
there’s different skill sets,
(00:21:17):
you know,
(00:21:17):
things people can focus on and you’re not going to,
(00:21:19):
probably not going to need a computer science degree to write a lot of the web
(00:21:22):
applications that are in demand today.
(00:21:24):
One thing I’d like to reiterate is that if you like solving puzzles,
(00:21:28):
you like fixing things and you like working with computers,
(00:21:31):
using computers or,
(00:21:32):
you know,
(00:21:32):
cell phones,
(00:21:33):
mobile apps,
(00:21:33):
stuff like that,
(00:21:34):
Um,
(00:21:35):
maybe you might be interested in,
(00:21:36):
in programming and if that’s something you’re interested in,
(00:21:38):
you know,
(00:21:38):
give it a shot,
(00:21:39):
see what,
(00:21:39):
see what it’s like.
(00:21:40):
That’s, um, that’s what drives me.
(00:21:41):
I love solving problems.
(00:21:43):
Uh, my son’s Lego toy got, um, kind of unintentionally disassembled, um, without instructions and, and I,
(00:21:51):
sat down and looked at it and figured out all the pieces and put it back together.
(00:21:54):
And so if you like to do stuff like that,
(00:21:55):
like I do,
(00:21:56):
maybe you also like to solve problems on the computer.
(00:21:58):
Oh, cool.
(00:21:59):
All right.
(00:21:59):
Well, I think that’s a good way to end it.
(00:22:01):
Sam, it was a pleasure talking to you.
(00:22:04):
And hopefully we can meet live someday.
(00:22:07):
I will look for you at the next conference on that.
(00:22:11):
And until then, we’ll talk to you around.
(00:22:14):
Talk to you around the community.
(00:22:15):
Thanks.
(00:22:15):
It’s been a pleasure.
(00:22:16):
Cheers.
(00:22:17):
Thanks.
