36-Dervis-Mansuroglu.txt

(00:00:00):
Hey everybody, how you doing?

(00:00:01):
This is Jim Grisanzio.

(00:00:02):
Welcome back to Duke’s Corner.

(00:00:03):
Our special guest tonight here is Dervis Mansuroglu from Oslo, Norway.

(00:00:08):
Darvish, welcome to Duke’s Corner.

(00:00:09):
Thank you, Jim.

(00:00:10):
It’s nice to see you.

(00:00:11):
It’s a great honor for me to be your guest.

(00:00:14):
Thank you so much for having me.

(00:00:15):
It’s really great to meet you.

(00:00:17):
We haven’t actually met in person yet,

(00:00:19):
but after just having a quick conversation with you a little bit earlier,

(00:00:22):
I’m really looking forward to it.

(00:00:23):
Flushing out some of these interesting things that you’re working out.

(00:00:26):
We met actually online through Chad Armura on my team,

(00:00:30):
my VP,

(00:00:31):
and he suggested a podcast because you’re doing these really cool things over there.

(00:00:34):
So let’s just get started.

(00:00:36):
Give me a little bit of a summary about where you are, what you do, and let’s just take it from there.

(00:00:40):
So I live in Oslo.

(00:00:43):
I am 41 years old.

(00:00:45):
I work for the Norwegian government, specifically for the Norwegian Welfare and Labour Administration.

(00:00:52):
I currently work as a manager for a team of developers.

(00:00:57):
I have been doing that for four years and

(00:01:00):
my background is from java development i worked as a java developer for 10 years or

(00:01:06):
so yeah i do a lot of voluntary work which i am very passionate about i am

(00:01:11):
currently the leader of the norwegian java user group so i spent considerable

(00:01:17):
amount of time nurturing the community and i love my community and i love my team

(00:01:22):
members so yeah

(00:01:23):
interesting okay so let’s go back in time a little bit how did you get into java

(00:01:27):
development you mentioned that you you started out quite early yes so i um it

(00:01:33):
started actually when i was a child already in school i had friends that they was

(00:01:39):
reading fantasy and science fiction books and i got inspired by them we started

(00:01:45):
looking into, I remember at the age of 14, 15, we was looking into batch programming and- At 14, 15.

(00:01:55):
Yeah,

(00:01:56):
on the old,

(00:01:57):
early versions of Windows operating system,

(00:02:00):
because we had a computer room in school,

(00:02:02):
and we were around with the network and the teachers popping out to see the rooms,

(00:02:06):
you know.

(00:02:07):
So, and it was a lot of fun, but we learned a lot.

(00:02:12):
And I am not completely sure, but I kind of really loved seeing the result of the

(00:02:18):
the code we wrote, even though it was this terminal-based scripting.

(00:02:22):
And from there, I went, as the years passed by, I went to Visual Basic.

(00:02:27):
And from there, I tried C++.

(00:02:31):
And I was reading on C++ for a while.

(00:02:34):
And also, initially, in my university studies, I was also working a little bit C++.

(00:02:40):
But then Java came along.

(00:02:43):
I looked into it.

(00:02:44):
I fell in love with it and since it was also it was early 2000s so Java was

(00:02:50):
increasingly increasing in popularity in the Norwegian industry because there was

(00:02:55):
an immense need for sharing knowledge around the city so the university adapted

(00:03:01):
they throughout C++ in came Java as a default

(00:03:05):
and i have been dealing with java ever since so i have been following the java’s

(00:03:09):
development has been very very interesting exciting so uh i mean i have memories

(00:03:15):
when i was playing with stuff like j2me i mean it was a lot of fun making those uh

(00:03:21):
v8 those you know and experimenting and playing so i yeah it has been a great

(00:03:27):
journey basically so uh

(00:03:29):
So when you were a kid at 14, was this just something that came natural to you?

(00:03:32):
Or did you, you know, hacking around with your friends is one thing, but I mean, you’ve continued.

(00:03:37):
So you must have had an innate interest or passion or inclination.

(00:03:41):
I mean,

(00:03:42):
it started,

(00:03:43):
it started basically with experimentation,

(00:03:45):
experimenting,

(00:03:46):
because I remember my,

(00:03:48):
my mother,

(00:03:48):
she was a factory worker.

(00:03:49):
She was very poor and raising up three children.

(00:03:52):
And she brought along, along one 386 machine.

(00:03:58):
computer once, and this is maybe Windows 2.1 or 3.1, you know?

(00:04:03):
Yeah, exactly, 3.86, yeah.

(00:04:04):
Yeah,

(00:04:05):
and I,

(00:04:06):
instead of playing games,

(00:04:08):
I went into the file system,

(00:04:10):
and I saw the,

(00:04:10):
you know,

(00:04:11):
file endings,

(00:04:11):
and I started memorizing the file endings,

(00:04:14):
and this is,

(00:04:15):
you know,

(00:04:15):
in my early…

(00:04:15):
Yeah,

(00:04:16):
actually,

(00:04:16):
with Windows,

(00:04:17):
that’s pretty brave,

(00:04:18):
my friend.

(00:04:20):
Yeah,

(00:04:21):
I mean,

(00:04:24):
it all started with my mother just bringing this because she was thinking it might

(00:04:28):
benefit my children in their schoolwork.

(00:04:31):
And it was that was the purpose.

(00:04:32):
But I use this computer for other stuff.

(00:04:35):
I soon after I discovered something called Undelete and I got this empty box and it

(00:04:43):
was going to go to trash.

(00:04:44):
But I said, wait a minute, can we just can I just look at it?

(00:04:47):
So I typed Undelete and I, you know, undeleted Windows.

(00:04:51):
So for me personally, it’s experimenting.

(00:04:54):
having the time to experiment and play and just do random things and see the

(00:04:59):
results of something you do and because as a child and especially because i have

(00:05:03):
turkish background in those early years in the you know in the mid 90s it wasn’t

(00:05:09):
really easy for people with with minority background

(00:05:12):
So for me, it was a really, really good thing to get the feeling of mastery of something.

(00:05:17):
And the feeling of mastery, getting this as a child has really helped me my whole life.

(00:05:24):
So I still,

(00:05:26):
you know,

(00:05:27):
when I have those not so good times,

(00:05:29):
I sit down and I’m thinking back and I’m thinking,

(00:05:33):
what was my passion like?

(00:05:35):
And I smile when I think about this because I remember those times when I was just experimenting.

(00:05:40):
So to learn now in my grown-up years, I still try to experiment to learn new things.

(00:05:48):
I love that.

(00:05:49):
I love that concept of mastery.

(00:05:51):
I love talking to people like you because it inspires me, right?

(00:05:55):
And to not just learn something or not just do something for the sake of doing it,

(00:06:01):
Or,

(00:06:02):
you know,

(00:06:02):
you pick up a job or a field or whatever,

(00:06:06):
but the desire to go very,

(00:06:08):
very deeply into that and to master that is that’s when the magic happens.

(00:06:12):
That’s when you really can build really,

(00:06:13):
really cool things that change the world,

(00:06:16):
you know,

(00:06:17):
really interesting.

(00:06:18):
okay so you have this passion you know you’re hacking around you’re you’re playing

(00:06:22):
around with the microsoft windows uh on a 386 and and so you eventually make it

(00:06:28):
into college and and then you get into obviously more advanced things and is that

(00:06:31):
when java came along when you were in college

(00:06:33):
yeah i mean there is a very interesting short story i want to share that before

(00:06:39):
when i was in high school we had to select a specialization you know a direction to

(00:06:44):
go and i had to make a selection between you could

(00:06:49):
select different occupations like mechanic, electrician.

(00:06:52):
You can go with math and science in order to get access to the universities later.

(00:06:57):
And being a person with a minority background, you know, I wasn’t really sure.

(00:07:02):
Am I actually good enough?

(00:07:03):
Am I smart enough?

(00:07:04):
Can I do this?

(00:07:05):
And unfortunately, I decided that, well, I will go with mechanics.

(00:07:10):
So that first year in college,

(00:07:13):
I was dealing with mechanics and I almost I was going to drill one engine and the

(00:07:18):
whole place was going to explode.

(00:07:20):
And the teacher said to me, my friend, are you really sure that this is what you are meant to do?

(00:07:25):
Well, of course it was not.

(00:07:26):
It wasn’t.

(00:07:27):
So I changed.

(00:07:28):
I went into math and science.

(00:07:30):
And from there I started university.

(00:07:33):
and that’s where i um i met with java there and uh initially you know i uh we was

(00:07:41):
playing with the java swing like visuals you you code something you see the result

(00:07:46):
and i those courses and classes was something i i mean i loved them i learned a lot

(00:07:54):
i saw the result of what i was doing and i had the advantage of uh already knowing

(00:07:59):
programming from as i was kid those years

(00:08:02):
So I just it was a great journey through the university also.

(00:08:08):
So but as the it was the period when I learned most was during my master’s thesis,

(00:08:15):
because we we had to really go to the to the

(00:08:19):
depths of problem solving.

(00:08:21):
And that’s when I learned how to be independent,

(00:08:25):
how to just block out everything around me and just focus on one thing.

(00:08:31):
And I’m lucky because I had great people around me.

(00:08:35):
gave me advices that has helped me tremendously.

(00:08:38):
Like a friend of mine who said,

(00:08:40):
you should try listening to Pink Floyd while writing your thesis and coding.

(00:08:44):
And I tried this.

(00:08:45):
It’s incredible because it just gives you this focusing ability and you can really

(00:08:52):
solve complex problems.

(00:08:54):
I’m going to have to try that.

(00:08:55):
Usually, yeah.

(00:08:56):
Because, you know, the ability to focus is the only way to solve complex problems.

(00:09:01):
I mean,

(00:09:01):
you know,

(00:09:01):
the thinking process on the surface is very different from the thinking process

(00:09:06):
deep down.

(00:09:07):
So, wow, that’s really interesting.

(00:09:10):
Pink Floyd, I’m going to try it.

(00:09:11):
so you know okay so fascinating upbringing there certainly really really

(00:09:16):
interesting this this embrace of technology so you’re out of school now or are you

(00:09:20):
going to be leaving school and what what did you do with this technology i mean

(00:09:24):
loving something and diving deeply into into problem solving using these tools is

(00:09:29):
one thing but what do you actually do with it i know you’re involved with the

(00:09:33):
community there the java user group there in my practical things that you did

(00:09:37):
Yes.

(00:09:38):
So right after graduating from school, I had a business on the side.

(00:09:45):
I was basically, I was a consultant.

(00:09:47):
So I was working on my own for a couple of years.

(00:09:51):
I was working as a Java developer for the health industry in the very, very beginning.

(00:09:56):
We was creating a journaling system for the hospital doctors and nurses with the

(00:10:03):
encryption and we used Java Swing.

(00:10:07):
We had a great experience with that.

(00:10:10):
And then two years later, I felt it was a

(00:10:14):
It was a bit challenging to actually keep up,

(00:10:18):
you know,

(00:10:18):
having the…

(00:10:20):
I wanted stability and safety around me.

(00:10:22):
So I applied in the consultancy and I went into Capgemini and I worked there for four years.

(00:10:30):
And during that time, I worked as a Java developer for the banking industry in Norway.

(00:10:36):
And I was doing, helping the bank actually running simulations

(00:10:41):
and calculations monthly in order to secure the bank against unforeseen events.

(00:10:48):
And we had a very complex setup.

(00:10:52):
We had the Spring framework.

(00:10:54):
We introduced stuff like inversion of control.

(00:11:00):
But this was still during the time when Java Enterprise Edition was still along.

(00:11:04):
And we had WebSphere servers that we were responsible for.

(00:11:09):
And I learned a lot from having the responsibility for that in the infrastructure.

(00:11:14):
And we had distributed teams.

(00:11:17):
That was something that was new to me.

(00:11:19):
So when we was going to deploy,

(00:11:21):
we was coordinating with another city and the developers because we had to

(00:11:26):
coordinate our activities with the banks on personnel.

(00:11:29):
For me,

(00:11:29):
this was an opportunity to finally see the Java technology that I love so much

(00:11:34):
actually in action.

(00:11:35):
Because in the bank, this was crucial.

(00:11:37):
And if something failed and if something went wrong, then it was kind of a, well, emergency.

(00:11:44):
Right, exactly.

(00:11:45):
And I learned by failing also.

(00:11:48):
This is something I remember this as a very good experience because I remember I

(00:11:54):
restarted the wrong server once and one part of the bank went down.

(00:11:59):
And this is the largest bank in the country.

(00:12:02):
I hate to laugh, but still.

(00:12:05):
Yeah, but you learn a lot from this because you learn how to respond, how to fix problems.

(00:12:12):
So this was my first introduction to how Java was used.

(00:12:15):
And this was no interface use of the technology.

(00:12:19):
So it was basically plain Java.

(00:12:22):
We, because of security measures, we couldn’t just select any libraries either.

(00:12:27):
Because in order to secure the bank,

(00:12:31):
the libraries we selected was very,

(00:12:33):
very carefully selected through a process.

(00:12:37):
So that was my first introduction to Java in the real world.

(00:12:42):
And we had EGBs.

(00:12:44):
I learned to work with those.

(00:12:47):
Yeah, so it was a great way.

(00:12:50):
And we had the whole DB in IBM tech stack from the database and to the code.

(00:12:56):
Yeah.

(00:12:56):
So it was a high performance.

(00:12:58):
We focused on optimizing the speed because this bank had like 2 million customers

(00:13:03):
and running batches,

(00:13:05):
monthly batches on that many number of customers.

(00:13:08):
It’s really very, very time consuming things.

(00:13:11):
So we worked a lot.

(00:13:13):
I remember me and my team, we worked on concurrency, Java concurrency.

(00:13:17):
We tried to create the streaming pipelines in order to just

(00:13:22):
push data as fast as possible to Java.

(00:13:25):
And I’m so happy that because there was already some C++ components that was

(00:13:31):
implemented as a part of a bigger batch processing setup.

(00:13:35):
But the issue here was that there wasn’t anybody left that knew or understood that code.

(00:13:41):
So nobody could actually do anything with that code.

(00:13:43):
And it didn’t really work that well, so we implemented it all over.

(00:13:49):
Wow.

(00:13:50):
Yeah, so it was great.

(00:13:51):
I learned a lot as a Java developer because I could finally focus on just pure

(00:13:56):
backend and enterprise Java.

(00:13:58):
So, yeah.

(00:13:59):
This is where I started.

(00:14:00):
Later on, I continued to the public sector.

(00:14:04):
I worked more with large public sector organizations.

(00:14:07):
And I worked on the pension system, the Norwegian pension system.

(00:14:12):
Again,

(00:14:12):
I used Java,

(00:14:14):
backend Java,

(00:14:15):
with everything that Java has to offer from web services,

(00:14:18):
so large teams and etc.

(00:14:21):
Yeah, with the pension system with banks.

(00:14:24):
And I mean, you seem like seems like you like highly scalable projects.

(00:14:27):
Those are nationwide projects.

(00:14:30):
So I guess my next question is, I mean, personally, I would be really nervous to be honest.

(00:14:35):
But if you have a great tool, I mean, I suppose you could you can feel OK about it.

(00:14:40):
But why Java in those situations?

(00:14:43):
Why not some other some other language, some other technology?

(00:14:46):
What makes Java really well suited for projects like that?

(00:14:50):
in terms of the features or how or how you implemented them i mean even uh even in

(00:14:55):
when i was working in the bank this was around 2008 2010 and java was already

(00:15:03):
really well known for having a great library support a great tooling great

(00:15:08):
performance

(00:15:10):
and it was also used largely in a lot of parts of the norwegian norwegian society

(00:15:16):
it was not only the banks health airlines so many of the critical society the

(00:15:23):
components that that keeps the site society ongoing right you can find java in all

(00:15:28):
those places so in there is very few of the norwegian public organizations that

(00:15:34):
runs on the microsoft tech stack for example

(00:15:37):
But we use stuff like concurrency,

(00:15:40):
you know,

(00:15:41):
the cross-platform ability,

(00:15:44):
language,

(00:15:44):
the features,

(00:15:45):
even though we have seen very big modernization now the recent years.

(00:15:49):
But we, I mean, the early years with the community here in Oslo was already

(00:15:54):
garbage collection for example and the jit compiler optimizations that are done on

(00:16:00):
the code and i guess the years of struggling with the c plus plus i mean many

(00:16:05):
people they want to write better software and i think writing better software was

(00:16:10):
is easier with java because we have been writing those complex banking systems with

(00:16:16):
java and we have been doing this you know rapidly

(00:16:19):
And this stuff has been going on for several years and it’s still driving those

(00:16:25):
large banks and the health industry and so on.

(00:16:28):
It was mostly, I remember, it was safer to write complex software, but safely.

(00:16:33):
So I think this is something that once the Norwegian community started sharing knowledge,

(00:16:39):
the user groups became more active.

(00:16:41):
And we started sharing more and more knowledge across organizations and companies.

(00:16:47):
And we kept learning from each other.

(00:16:48):
I think those are the main things.

(00:16:50):
So I would imagine like you were fortunate to get involved with Java pretty early in Java’s history.

(00:16:55):
So you’ve seen a lot of evolution.

(00:16:57):
I mean, you’ve worked on these

(00:16:58):
society-wide projects,

(00:17:00):
for highly scalable projects in your country,

(00:17:02):
you must have used more and more of the features of Java as the technology evolved.

(00:17:07):
I mean,

(00:17:07):
especially the last few years,

(00:17:09):
things are moving even more quickly now with the six-month release cycle and the

(00:17:14):
community involvement.

(00:17:15):
So,

(00:17:16):
I mean,

(00:17:16):
have you just,

(00:17:17):
you know,

(00:17:17):
with your more recent projects,

(00:17:20):
just implementing what,

(00:17:21):
essentially using all the features,

(00:17:23):
all the most recent features of Java as well?

(00:17:25):
yeah i mean we went through a time period at one point we started to see the

(00:17:33):
challenges of having egbs and several layers and building the services of the the

(00:17:39):
systems that large-scale systems that we was doing

(00:17:42):
And at the same time,

(00:17:43):
we were trying to,

(00:17:44):
because I remember clearly when Spring got up to speed and got more traction,

(00:17:51):
we had a period when I created a Spring course in Spring Framework that we shared internally.

(00:17:57):
And we were working on trying to modernize and simplify our code.

(00:18:03):
Then we had this middle period when spring got increasing traction and it got huge

(00:18:11):
and it almost got like an industry standard in Norway.

(00:18:14):
I mean, we still see very, very high market share for spring in Norway.

(00:18:19):
But in the initial time,

(00:18:21):
it was about simplifying code because we had those huge,

(00:18:24):
complicated enterprise scenarios.

(00:18:26):
systems.

(00:18:26):
And we also had other problems like testers, architects and developers worked in silos and separate.

(00:18:33):
So nobody was really communicating well enough to get together.

(00:18:38):
And then in the years after this and we had this

(00:18:42):
very huge wave of agile and the way we are running the Java Kotlin projects in Oslo,

(00:18:50):
it’s very product mindset based at the moment.

(00:18:53):
And it’s a general understanding in the community here in Norway that we can build

(00:18:58):
better software when we simplify the architecture.

(00:19:01):
So we have been trying to understand how to connect the architects with the teams.

(00:19:05):
So this is something that we do continuously.

(00:19:07):
This is something also we had a meetup with Venkat Subramaniam,

(00:19:10):
who also helped us understanding this in the last

(00:19:13):
Here I have,

(00:19:14):
I mean,

(00:19:15):
as a manager in one of the largest organizations in the country,

(00:19:19):
I am mostly responsible for helping growing and building the best developers around

(00:19:25):
us in our organization.

(00:19:26):
But I do a lot of programming as a part of my user group because we build everything on our own.

(00:19:32):
We run this big conference, Java’s own conference.

(00:19:35):
And I have amazing people that together we are building.

(00:19:39):
Almost everything is Java based.

(00:19:41):
We have some Scala code, but very little Kotlin.

(00:19:45):
So it’s mostly Scala and Java.

(00:19:47):
So we build everything ourselves.

(00:19:48):
And this gives me a great opportunity to actually keep up with the Java, how Java is changing.

(00:19:56):
And I really love what’s happening with Java at the moment.

(00:19:59):
because it’s giving the developers basically much more syntactic sugar and ability

(00:20:05):
to write much more expressive code through stuff like pattern matching and the

(00:20:10):
advanced records and classes that I heard others have mentioned in your podcast.

(00:20:15):
So for our community, this is

(00:20:18):
I mean,

(00:20:18):
I’m using all of them,

(00:20:20):
but I would like to mention one thing that I have seen the biggest organizations,

(00:20:24):
they are not able to keep up fully with the release cadence because of security measures,

(00:20:30):
security reasons.

(00:20:32):
So even though as a community leader, I hope everyone can make use of the new functionality.

(00:20:38):
It takes a little bit of time.

(00:20:39):
Yeah.

(00:20:39):
But I have seen an increase at least the last year.

(00:20:42):
I have seen more people are taking advantage of those new updates to the language

(00:20:48):
because we can refactor our code.

(00:20:50):
Refactoring our code basis is something very important in my organization.

(00:20:55):
You mentioned people can write more expressive code.

(00:20:58):
What do you mean by that?

(00:20:59):
Yeah,

(00:20:59):
I mean,

(00:20:59):
code that is easy to read,

(00:21:01):
easy to maintain and easy to understand,

(00:21:04):
because as a large governmental organization,

(00:21:07):
we are implementing systems that is basically translation of the Norwegian laws.

(00:21:14):
such as the pension laws and the healthcare laws and so on.

(00:21:18):
And in the process of translating those very complex business requirements,

(00:21:22):
it’s much easier to write code that others can maintain after you when you can code

(00:21:27):
that expresses the intent.

(00:21:29):
And having the pattern matching,

(00:21:31):
advanced pattern matching,

(00:21:32):
and the recent additions to the language means that we don’t need to write so

(00:21:40):
verbose code that we have been used to do anymore.

(00:21:44):
I see.

(00:21:45):
And I appreciate also Java being backwards compatible.

(00:21:50):
And I find basically the syntax of Java much easier to understand because there is

(00:21:55):
no hidden magic anywhere.

(00:21:57):
And this is something I feel is very important.

(00:22:00):
so you have the expressive code giving you the clear understanding of the intent

(00:22:04):
while the code you see you know there is no underlying magic that does side effects

(00:22:09):
so combining the new features of java together with the more functional style of

(00:22:15):
coding because i’ve

(00:22:17):
think now coding in the functional style is easier now than it has been ever in in

(00:22:23):
the in java and i have been speaking around at different conferences about

(00:22:28):
functional programming and because i have the mindset of when i learn a new

(00:22:33):
language i try to learn what works in the language what can i learn from and i try

(00:22:39):
to bring that knowledge when i do the java programming

(00:22:42):
understanding for example pattern matching and functional programming understanding

(00:22:46):
this in java has been very easier for me after i have been looking at haskell for

(00:22:50):
example nice so i have just used other languages as a as a means to learn because

(00:22:56):
when java gets those updates

(00:22:58):
I can actually understand what’s immutability, lazy evaluation.

(00:23:04):
What should I do with the algebraic data types?

(00:23:06):
So we can write those expressive code using ideas from functional programming and

(00:23:11):
functional style of programming.

(00:23:13):
And I’m so happy that we can finally do this in Java.

(00:23:17):
And yeah, so this is what…

(00:23:18):
it seems like you’re you’re more efficient it seems like the tool itself the

(00:23:23):
technology in this case um i’m fascinated by tools by the way and i’m fascinated by

(00:23:27):
how developers use tools or technologies to solve problems it seems like this

(00:23:32):
technology really helps you be more efficient in your work to potentially not only

(00:23:37):
solve problems but create new opportunities absolutely

(00:23:40):
And at the moment, I think we are Java 17 and upwards.

(00:23:46):
We are slowly working on upgrading further also.

(00:23:50):
So our teams can benefit from those upgrades and ideas and refactoring.

(00:23:56):
Okay.

(00:23:56):
So you mentioned the user group.

(00:23:57):
Talk a little bit about the user group.

(00:23:59):
One of the things I’m interested in, in this Java global community is I’ve noticed that

(00:24:04):
years ago java user groups started in around the world and a certain number of them

(00:24:10):
have grown into running big massive annual uh you know annual conferences with

(00:24:15):
thousands of people but they got their start as a user group and that’s really

(00:24:19):
interesting interesting to me because that just shows that really anybody who

(00:24:25):
starts a user group can potentially do this i mean someone else did it so you can

(00:24:28):
do it right so talk a little bit about the user group that participate in

(00:24:32):
yes so i am a part of the norwegian java user group in in oslo in norway we have

(00:24:40):
shortened it to java bin and because bin in is a short for user group in the

(00:24:46):
norwegian so java bin and

(00:24:49):
I have been part of the user group since 2014.

(00:24:54):
So I am currently on my 10th year.

(00:24:57):
I have been mostly responsible for organizing the meetups in Oslo.

(00:25:04):
Because what I really love with our user group is that it’s an umbrella organization.

(00:25:10):
We have the Norwegian Java user group and we have a board that helps the local

(00:25:16):
branches of Java in different cities.

(00:25:18):
And we have eight chapters of Java in different places in the country,

(00:25:22):
each running meetups and events in their own local community.

(00:25:26):
Then we have the umbrella organization that supports those branches.

(00:25:29):
And we have been running the JavaZone conference since 2002.

(00:25:34):
So it’s been a while.

(00:25:35):
Oh, wow.

(00:25:36):
That’s a long time.

(00:25:37):
And I just want to share with you the background story,

(00:25:40):
because it’s very interesting how the community was born.

(00:25:44):
Because what I always remind myself and respect a lot is that Jawabin today is a

(00:25:51):
result of several generations of volunteers.

(00:25:53):
So people standing on each other’s shoulders and making each generation better than the previous.

(00:25:59):
And because the Java user group in Norway started in 1996, it started as an applet competition.

(00:26:08):
This is very shortly after Java was released.

(00:26:10):
And people were trying to understand what can we do with applets.

(00:26:15):
And the three or four different organizations, they get together to create an applet competition.

(00:26:20):
And that was the starting point for this user group.

(00:26:23):
wow then it was founded as an official user group later on uh sun they uh they gave

(00:26:32):
us a spark station i think it was as a gift and because we was running as i

(00:26:37):
mentioned our own systems we develop everything ourselves and for maybe 10 years

(00:26:42):
We was using that Spark station.

(00:26:44):
And I mean, we was using hardware that we was gifted by Sun.

(00:26:47):
And we had the forums.

(00:26:48):
We had the websites.

(00:26:50):
We had the conference systems.

(00:26:52):
So at one point, I think Sun, they wanted to create a conference.

(00:26:58):
And the user group helped out.

(00:26:59):
And eventually, we took over.

(00:27:01):
And we established what is today known as JavaScript Conference.

(00:27:05):
So interesting.

(00:27:07):
I used to work at Sun and I remember vividly teams getting,

(00:27:11):
you know,

(00:27:11):
sending hardware out to various groups.

(00:27:13):
I was on the OpenSolaris project and we did the same thing.

(00:27:16):
And yeah, it’s very, very important to, I mean, at the time, this was well before cloud, right?

(00:27:22):
But if you had a, you know, a Spark system, that’s really great.

(00:27:26):
Yeah,

(00:27:27):
and it was important for us because it meant that we could build a conference and a

(00:27:32):
user group that was among the top in the world.

(00:27:35):
And it helped us accelerate what we can offer as a user group.

(00:27:40):
And at one point, we had one of the most active forums for Java developers in the country at one point.

(00:27:47):
So we have a history that is long and we are very proud of it.

(00:27:51):
But I want to underline something here that you mentioned,

(00:27:55):
Jim,

(00:27:55):
that running a conference is a lot of fun.

(00:28:00):
You learn a lot.

(00:28:00):
You meet a lot of people.

(00:28:02):
But it really requires people to have this respect and the understanding of

(00:28:08):
people’s differences and really wanting to succeed as a group.

(00:28:12):
Because Java Zone is not really the work of one person.

(00:28:16):
It’s a team effort.

(00:28:17):
And I have a lot of people that I could have mentioned to you in our community that

(00:28:21):
really deserves credit and to be lifted.

(00:28:24):
But we have a concept in our user group called heroes, Java Bean heroes.

(00:28:29):
This is a title that you get when you contribute throughout the year.

(00:28:34):
And we credit our people as heroes.

(00:28:36):
So yeah, I’m happy to have my heroes around me.

(00:28:39):
that’s great i mean i every every user group i’ve ever been a part of whether

(00:28:44):
they’re small or large around the world they develop similar systems because it’s

(00:28:49):
just human i mean humans collaborate and we form communities naturally

(00:28:55):
The challenge is scaling them, but in terms of starting small, this is what humans do.

(00:28:59):
Humans cooperate, right?

(00:29:01):
And so we have to cooperate to do any number of things, anything for survival.

(00:29:08):
And this is how we are doing it in technology.

(00:29:10):
And it’s really great that the technology communities…

(00:29:13):
I mean,

(00:29:14):
I’m very,

(00:29:14):
very familiar with the Oil India Oracle user group in India.

(00:29:19):
it’s thousands and thousands and thousands of people.

(00:29:22):
But it’s also dozens and dozens and dozens of volunteers in all the different

(00:29:27):
cities that have to make it work.

(00:29:29):
And they all talk about just what you talked about in different ways,

(00:29:33):
because it’s locally implemented in that language and culture,

(00:29:36):
right?

(00:29:36):
Because it’s different around the world.

(00:29:38):
But the underlying concept of community and contribution and heroes,

(00:29:42):
like you mentioned,

(00:29:43):
and different,

(00:29:44):
we have earning respect through trust relationships that you can build with people.

(00:29:49):
Um, is pervasive and it’s, it’s really, it’s really nice to see.

(00:29:54):
Um, and then somehow or another, this stuff scales.

(00:29:57):
I mean, that’s the magic, I think.

(00:30:00):
So,

(00:30:01):
I mean,

(00:30:01):
what,

(00:30:01):
what I experienced,

(00:30:03):
uh,

(00:30:04):
was actually when I was going to do some of my very first meetups in the,

(00:30:09):
in the Java community.

(00:30:11):
It was when Dr. Venkat Subramanian was in Norway.

(00:30:14):
He was going to have an architecture workshop and other meetups in the city.

(00:30:19):
And me as a freshman in the user group, I had one of my mentors early on.

(00:30:27):
So I went to this workshop with Venkat and I remember my heart beating because I

(00:30:31):
was sitting up,

(00:30:32):
you know,

(00:30:32):
in the audience,

(00:30:33):
among the audience.

(00:30:34):
And I was thinking, should I dare to go down to him?

(00:30:36):
And I actually, I’m so happy that I did dare to do this.

(00:30:40):
I went and I tapped him on his back and I said, dare Venkat, can I ask you to visit our user group?

(00:30:50):
I mean, I never felt such a heartbeat ever.

(00:30:52):
That was among the times.

(00:30:53):
And he said yes.

(00:30:55):
And this made me realize the Java community globally and locally,

(00:31:01):
but also locally and globally is very welcoming and people want to support each other.

(00:31:09):
I mean,

(00:31:09):
when people say that the Java community is welcoming and so on,

(00:31:12):
I think we all have different experiences of how we get to that conclusion.

(00:31:19):
So, I mean, I never experienced people saying no.

(00:31:22):
Most people, they want to contribute and help.

(00:31:26):
So I’m super grateful for our speakers, our guests.

(00:31:31):
I mean, it’s been more than 10 years.

(00:31:33):
So I transitioned from being responsible for the meetups to actually taking over

(00:31:40):
the leadership role of the user group.

(00:31:43):
So I’m just on the shoulders of giants below me, you know.

(00:31:47):
That’s a, that’s a very, that’s a, it’s a lovely story about Venkat.

(00:31:50):
Venkat’s a really, a really great guy.

(00:31:53):
I was similarly nervous when I first met him.

(00:31:56):
We were in a conference in, uh, in Bangalore actually.

(00:31:59):
And,

(00:31:59):
uh,

(00:31:59):
I was supposed to interview him for,

(00:32:01):
you know,

(00:32:02):
we used to stream,

(00:32:03):
you know,

(00:32:03):
stream interviews at conferences and he was on the schedule and I was going to

(00:32:07):
interview him and I was really nervous.

(00:32:08):
I mean, this dude’s smart and everything, you know, and it’s just me.

(00:32:11):
Right.

(00:32:11):
So I wanted to meet him beforehand.

(00:32:13):
and he was just the friendliest guy in the world and i was so relieved you know i

(00:32:18):
remember when i first met james gosling in 2000 i think it was 2000 as i was just

(00:32:24):
joined sun a few months earlier and java one was in san francisco and i was i was

(00:32:30):
outside the meeting room you know for like the news media and as i used to be in uh

(00:32:35):
in marketing

(00:32:36):
And he’s just standing in the corner waiting alone,

(00:32:39):
standing in the corner waiting for his next meeting and stuff.

(00:32:42):
And he’s all alone.

(00:32:43):
I said, dude, there he is.

(00:32:44):
What do I do?

(00:32:45):
You know, I’m like 20 feet away.

(00:32:47):
And back then, you know, I have a speech impediment.

(00:32:50):
I stutter.

(00:32:51):
And when I when I was young and back then, this is 23 years ago, I guess.

(00:32:55):
Right.

(00:32:55):
I was still not that speaking that well.

(00:32:58):
And so I knew I was going to go up and say, hi, James, my name is Jim.

(00:33:02):
And I would just stutter like crazy, you know.

(00:33:04):
And even even though this is early on in Java,

(00:33:06):
he was still obviously very,

(00:33:07):
very well known at Sun at the time.

(00:33:09):
So I just did it, you know, and he was fantastic.

(00:33:12):
He was great.

(00:33:13):
He just I just was so relieved, you know, just like yourself.

(00:33:17):
And, you know, and and he’s he’s a friend to this day.

(00:33:21):
And, you know, it’s great.

(00:33:23):
I mean,

(00:33:24):
we are lucky in Oslo because,

(00:33:26):
you know,

(00:33:26):
I’m not sure how many user groups around the world can say this,

(00:33:29):
but I mean,

(00:33:30):
we have some seriously very talented people in our user group.

(00:33:34):
Let me mention a couple of them, like Rafael Winterhalter.

(00:33:38):
I mean, very people who really contributed.

(00:33:43):
I mean, significantly to Java.

(00:33:46):
We have also one of my mentors, Johannes Brodval.

(00:33:49):
So we have some people that are seriously like my role models and people I look up to.

(00:33:55):
It has helped us create this collective

(00:34:00):
that we stick together, we help each other, we make.

(00:34:03):
Because what I have concluded is that community work is not competition.

(00:34:07):
Community work is basically every person doing something they love and doing

(00:34:12):
something that will eventually give value for the community,

(00:34:17):
the bigger community and the attendees.

(00:34:19):
And so it’s a constant work on nurturing that community, but it’s not a competition.

(00:34:24):
I have seen this being a bit of an issue some places.

(00:34:27):
And as long as we have some guidelines and the way to actually treating each other,

(00:34:35):
I think this can then make user groups succeed.

(00:34:38):
And for Java Bean,

(00:34:39):
I think the highlight of our history is probably 2019,

(00:34:44):
because we was awarded the Duke’s Choice Award.

(00:34:49):
uh for one of you know for the work we do and uh i’m yeah it’s a teamwork i’m very

(00:34:56):
proud of everyone so 2019 that would have been in san francisco right and that

(00:35:02):
would have been um yeah so i was at that conference and uh so yeah that would have

(00:35:08):
that was that was fantastic i have incredible memories because i went to san

(00:35:14):
francisco to the to moscow center

(00:35:16):
I met with the shout out and I met with the other important people in the community

(00:35:21):
that has done a lot to help this community.

(00:35:23):
And I just,

(00:35:26):
you know,

(00:35:26):
I remember that moment when I was holding that Duke statue that,

(00:35:30):
and it was,

(00:35:31):
it was heavy.

(00:35:32):
And I made sure to tell everyone there that that was a community,

(00:35:37):
the collective teamwork for,

(00:35:39):
from our community.

(00:35:41):
So,

(00:35:42):
We also had James Gosling for the first time visiting our JAG in 2017.

(00:35:47):
And again,

(00:35:48):
like you said,

(00:35:50):
it took us some seven months to organize that meetup because James was supposed to

(00:35:56):
come to Norway to celebrate the 50th anniversary of the Simula programming language.

(00:36:00):
Because James once said that Simula was an inspiration for him.

(00:36:06):
And so as a part of his journey to University of Oslo to celebrate the 50th anniversary,

(00:36:13):
we managed to create this very huge meetup with him.

(00:36:16):
And he said, well, I have no slides.

(00:36:19):
Just give me a chair.

(00:36:20):
And he took the chair in front of the audience, 200 people.

(00:36:23):
And he said, ask me anything.

(00:36:25):
And can you believe it?

(00:36:26):
We were doing this for one and a half hour.

(00:36:28):
And he was answering question after question after question.

(00:36:32):
May I suggest one thing that my advice for people who goes into community work is really dream big.

(00:36:38):
And allowing yourself to dream big, having those big ideas, it actually is possible.

(00:36:45):
Because I still remember myself, my history.

(00:36:48):
You know,

(00:36:48):
I am just,

(00:36:50):
I’m coming from this really poor minority family,

(00:36:53):
but it’s when you allow yourself to,

(00:36:56):
when you have good people around you,

(00:36:57):
that can help you dream those big ideas.

(00:37:00):
I think I still try to remind myself,

(00:37:02):
you know,

(00:37:03):
sometimes when I have those days that are more difficult,

(00:37:06):
I just remind myself those things.

(00:37:08):
Yes,

(00:37:08):
it’s always helpful to be thankful for the things that you have and not yearning

(00:37:12):
for the things that you don’t have,

(00:37:13):
you know,

(00:37:14):
but dreaming big is this huge,

(00:37:15):
huge.

(00:37:16):
I have, I have several friends like that who had no problem dreaming big and it helps to stretch me.

(00:37:22):
I mean,

(00:37:23):
In just listening to you,

(00:37:24):
it sounds like this concept of mentorship is very important to you,

(00:37:28):
not only being a mentor,

(00:37:29):
but to other people,

(00:37:30):
but you also looking up to other mentors as well.

(00:37:34):
And so it’s like you play both roles.

(00:37:37):
That’s true.

(00:37:37):
That’s true.

(00:37:38):
because I believe that I want to keep learning all the time.

(00:37:42):
But just sometimes it’s very helpful for me to have someone that can tell me,

(00:37:48):
this is what you can do,

(00:37:50):
or this is what you can consider to becoming better or to create a better result.

(00:37:56):
And I use this concept when I’m pair programming, when I’m doing those katas to keep learning.

(00:38:01):
Mm-hmm.

(00:38:02):
me and my my one of my role models here johannes we have been doing the roman

(00:38:07):
numeral kata and it’s been four years now one yes just recently that johannes said

(00:38:12):
to me hey i discovered a new method of solving it and um and we just it reminds me

(00:38:20):
of my you know young first years when we experimented but for me i have also been

(00:38:25):
in the role of mentor for other people and because

(00:38:28):
I have some privileges in my work.

(00:38:30):
I have privileges in my user group and so on.

(00:38:32):
So I want to basically share those privileges with people.

(00:38:36):
And the reason for this is 100% because my own family got help from other

(00:38:42):
volunteers initially as immigrants to this country.

(00:38:45):
And that is really giving me this continuously never-ending motivation to share

(00:38:52):
further with other people,

(00:38:53):
especially the young minorities in Oslo.

(00:38:56):
Helping them prepare for Java exams or Java interviews.

(00:39:02):
Many different things.

(00:39:03):
I have this holistic view on mentoring because sometimes a person needs just someone to talk to.

(00:39:09):
And that’s maybe sometimes all they need.

(00:39:13):
Yeah, and everyone has challenges.

(00:39:15):
People don’t even realize that sometimes when you look at somebody,

(00:39:19):
they might have challenges that you can’t see on the surface.

(00:39:22):
But if you’re observant,

(00:39:24):
if you’re looking at a community and you’re looking at all these people and your

(00:39:27):
desire is to help them,

(00:39:28):
and if you’re specifically looking to help people,

(00:39:31):
you can discover those challenges that they have pretty quickly in a conversation

(00:39:36):
by asking questions and then shutting your mouth and listening,

(00:39:39):
listening to what comes back.

(00:39:41):
And then you can help them based on what they say.

(00:39:43):
But you have to be able to open your mind, open your heart and listen to what people say.

(00:39:47):
Yeah.

(00:39:48):
And I always remember my physics teacher from high school.

(00:39:51):
He gave me an advice, life advice, which it has helped me tremendously.

(00:39:56):
He said to me,

(00:39:56):
if you want to teach difficult things to people,

(00:40:00):
teach it from their level,

(00:40:02):
talk to them in the language they understand and can be inspired by.

(00:40:06):
Allowing yourself as a mentor to use different wordings,

(00:40:09):
different metaphors,

(00:40:10):
different descriptions can help tremendously.

(00:40:13):
And it did even when we had those advanced physics classes.

(00:40:17):
So I have been always remembering this.

(00:40:19):
And I have seen how young people with neurodiverse people just creating results that is incredible.

(00:40:27):
And seeing people succeed motivates me more.

(00:40:30):
And it goes on like this.

(00:40:32):
One of the things you mentioned about being bold a little bit earlier reminded me of,

(00:40:38):
you mentioned,

(00:40:38):
whether it was an email or previously,

(00:40:40):
the house of technology that you built there.

(00:40:42):
So talk a little bit about that because that’s incredible.

(00:40:46):
It just struck me a little bit that it’s this huge space where it provides huge

(00:40:52):
infrastructure for people to tap into.

(00:40:54):
I mean, that’s incredible.

(00:40:56):
Yeah, it all started with our user group doing meetups monthly.

(00:41:01):
We had a lot of activities going on at one point,

(00:41:04):
but without a place to host and arrange those meetups,

(00:41:08):
it basically meant that actually making those meetups happen was quite a bit of work.

(00:41:14):
So we had to find a place to do the meetups.

(00:41:16):
We had to make an agreement with different bars and different providers of facilities and so on.

(00:41:22):
And then when we landed a location,

(00:41:25):
we had to carry,

(00:41:26):
you know,

(00:41:26):
transport all the all the things that we need,

(00:41:29):
cameras and flip overs and all the things that we needed.

(00:41:34):
That’s very heavy stuff.

(00:41:36):
So we came and we understood that we was not the only community that was

(00:41:41):
having that challenge.

(00:41:42):
So the previous generation of Java Bean,

(00:41:46):
they basically came to the understanding that,

(00:41:48):
hey,

(00:41:49):
we need to do something.

(00:41:50):
So what we did was we used the extra, you know, what we earned from the conference that we arranged.

(00:41:58):
After paying all the bills and so on, we spent that, left the rest directly on the community.

(00:42:03):
None of us gets paid for anything that we do.

(00:42:05):
So we invested that money.

(00:42:06):
We invested it back into our industry, basically.

(00:42:12):
We created this thing called House of Technology.

(00:42:15):
Initially, it was a building with three floors.

(00:42:19):
We were renting down the first floor in order to pay the rent of that building,

(00:42:23):
while the two other floors were packed with technology.

(00:42:26):
Wow.

(00:42:27):
That’s why we call it the house of technology.

(00:42:29):
And by renting out the first floor,

(00:42:31):
we was able to keep that place running and providing it completely free of charge

(00:42:35):
for nonprofit and any meetup group,

(00:42:38):
not only Java community,

(00:42:39):
but any developer community in Oslo.

(00:42:41):
And I’m really proud that we were successful in keeping it alive.

(00:42:46):
Actually, all the way from 2013 and until the pandemics hit, we had to let that building go.

(00:42:54):
But then we got an agreement with a new building, which is 17-story, a big building.

(00:42:59):
And our agreement was, let’s use the first three floors of that building.

(00:43:05):
We will pack it with technology.

(00:43:06):
We will make the meeting rooms,

(00:43:10):
give you images and names of important people,

(00:43:13):
both in the Java community,

(00:43:15):
like James Gosling,

(00:43:17):
the Java community,

(00:43:18):
our user group.

(00:43:19):
We have text images, the meeting rooms.

(00:43:22):
I am particularly proud of one of the rooms called Simula.

(00:43:26):
Because in the Simula room,

(00:43:28):
which was the inspiration for James Gosling,

(00:43:31):
on the wall there we printed out a Simula code that is actually simulating a pandemic.

(00:43:37):
And that code was from 1967.

(00:43:38):
And this tall building is, again, we provided completely free for the communities

(00:43:46):
And it’s our headquarters for the Norwegian Java User Group.

(00:43:49):
It means a lot for us.

(00:43:50):
And I hope that we can continue.

(00:43:54):
I’m sitting in the steering board of the House of Technology at the moment,

(00:43:57):
together with several other very talented people.

(00:44:01):
And I hope to provide it free as long as possible.

(00:44:04):
So we even managed to pay all the debts that we had.

(00:44:12):
So it benefits, keeps benefiting the community.

(00:44:16):
That’s amazing.

(00:44:17):
It’s so innovative.

(00:44:18):
And you were able to deal with adversity by losing the first building.

(00:44:22):
That’s really incredible.

(00:44:24):
Yeah.

(00:44:25):
And what was important for us was to transfer the atmosphere and the spirit from

(00:44:32):
the first building that we had over to the new building.

(00:44:35):
And we keep working on creating and keeping that spirit that has meant so much for so many people.

(00:44:44):
Well, Darvish, so inspiring to talk to you and to meet you.

(00:44:48):
I’ve never been to Norway,

(00:44:51):
and so I must find a way or a reason to get to Norway to meet you live and to meet

(00:44:57):
your team,

(00:44:58):
to meet your community and to see that space.

(00:45:00):
How am I going to get there?

(00:45:01):
I don’t know.

(00:45:03):
But yeah, no, I would love to.

(00:45:05):
I hope to see you.

(00:45:06):
We would love to welcome you.

(00:45:07):
We would love to host you.

(00:45:08):
And I’m, as I said, I’m very proud of my team and our people who create stuff like this.

(00:45:17):
Yeah.

(00:45:17):
It’s amazing.

(00:45:18):
Yeah.

(00:45:19):
Okay.

(00:45:19):
So any, any final thoughts that you have before we wrap up?

(00:45:22):
Yeah,

(00:45:23):
I mean,

(00:45:24):
I want to just tell people that by always taking care of each other,

(00:45:29):
having that mutual respect,

(00:45:30):
running a community is not easy.

(00:45:33):
But it’s always possible to sort out our differences and keep continue making the

(00:45:40):
community stronger and locally and also internationally.

(00:45:44):
And I am super happy that I had a lot of people helping me.

(00:45:47):
I am extremely grateful.

(00:45:49):
And as a Java champion, I also remember this and hope to inspire other people again.

(00:45:56):
Yeah.

(00:45:56):
So that’s what I can, my last words here.

(00:45:59):
I love it.

(00:45:59):
That’s great.

(00:46:00):
That’s great.

(00:46:01):
Okay.

(00:46:01):
My friend, my brand new friend from Norway, I will look forward to seeing you someday soon.

(00:46:06):
Until then, keep going.

(00:46:08):
We’ll talk to you soon.

(00:46:08):
Thanks a lot.

(00:46:09):
Thank you, Jim.