Confluent Developer ft. Tim Berglund, Adi Polak & Viktor Gamov

How Maven Changed Java Forever with Baruch Sadogursky | Ep. 25

Confluent

Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.

0:00 | 38:19

Viktor Gamov talks to Baruch Sudakurski (TuxCare) about his career in developer advocacy. Baruch's first job: fixing electric kettles. His challenge: figuring out how to map a non-relational database (MongoDB) into Spring Data’s SQL-oriented model.

SEASON 2
Hosted by Tim Berglund, Adi Polak and Viktor Gamov
Produced and Edited by Noelle Gallagher, Peter Furia and Nurie Mohamed
Music by Coastal Kites 
Artwork by Phil Vo 

  •  🎧 Subscribe to Confluent Developer wherever you listen to podcasts. 
  • ▶️ Subscribe on YouTube, and hit the 🔔 to catch new episodes.
  • 👍 If you enjoyed this, please leave us a rating. 
  • 🎧 Confluent also has a podcast for tech leaders: "Life Is But A Stream" hosted by our friend, Joseph Morais.
SPEAKER_01

Yeah, so I was like, okay, my career is going to be in air-conditioned environment, period. You really need to get really unlucky into something really meaningful and interesting. Because there are tons of interesting stuff with robotics. Until today, there is nothing in the industry that comes close to what Maven did to Java.

SPEAKER_02

From fixing electric kettles and greasing tanks to become a voice of developers in DevOps and Java communities. This is Conflict Developer.

unknown

Bar?

SPEAKER_01

Hello Victor.

SPEAKER_02

Welcome to Conflict Developer.

SPEAKER_01

Thank you. And we are here at the lovely Basel at the Basel 1 2025 conference.

SPEAKER_02

So it is something different from uh the usual format that we do at the Conflict Developer where we have uh more like uh you know Zoom style and virtual approach for interviews.

SPEAKER_01

We don't need virtual approach for the interviews, we're here together delivering a talk in an hour about uh one of our favorite topics, and that's by coding because we don't need to write any code, um, which is pretty cool. Yeah. And uh yeah, Victor hijacked my uh verbose mode studio.

SPEAKER_02

Um yeah, the thanks for Taxcare for uh hosting us today uh in uh the Taxcare booth here in Switzerland, uh in Basil, Switzerland. Basil. Basil, it's the correct Basil is the build tool. Yes, basil build tool, Basil is the correct pronouncement of this lovely city. Barrow. Yes. Two words for those of you who don't know you like I do. Um what do you do, uh where you work, and what's your current occupation, and what you excite you?

SPEAKER_01

Uh I'm a head, head, head, depends who who you ask, uh, of developer relations in a company called Taxcare. Um those guys. Uh and um Taxcare does uh end-of-life uh sorry, security patching for end-of-life components, open source components. Um you name it everything, we take the security patches from the latest version and backport it for versions that are not supported but still in use.

SPEAKER_02

Yep, so yeah, interaction with developers in this aspect is very important because not only uh get excited about new versions of the frameworks, but also some people be like less lucky in working with the software that is critical enough to do like easy updates and I I don't like the less lucky.

SPEAKER_01

You know what? I don't like the less lucky. Um yes, new versions, the latest tech is exciting, and we are toddlers playing with shiny tools, obviously. Yes. But also in the end of the day, uh like real-world enterprises and companies that build uh software that we all use, more often than not, are not running on the bleeding edge, the cutting edge, and what's not. The majority of developers in the world can play with the shiny new toys uh for for their new frameworks, wipe coding tools, for their pleasure and everything else. But their their working environment, it's something that's been there for years, stable, generates revenue, works great for the customers, yeah, and what's not. Yeah, why why to change guess? What's what's the problem?

SPEAKER_02

All of a sudden, all of a sudden, uh some of the software gets uh end of life, like a platforms getting end-of-life operating system. So this is where I guess the tax gear comes into the case.

SPEAKER_01

Absolutely, absolutely. And you you can continue using the software that proven and and uh and uh useful, and then you can plan your upgrade to the new and Chiny on your terms and not because there was a vulnerability discovered in the version that you use and you have nowhere to go for the for the patch.

SPEAKER_02

Correct. So um you know a lot about software. I know you for I don't know, last 15 years at least. Not probably more, no, it's less, but it feels like more. Um and you've been doing this stuff a lot. But was it always that uh like I can imagine little Baruch was doing software and stuff? Like how, like, one of the questions that we like to ask our luminaries in this podcast and how everything started, what was your first job? What was it was it somehow related to our IT and software or or whatnot? So uh what was that?

SPEAKER_01

So first job had actually nothing to do with IT and software, and it wasn't the first job that got me into laptops into computers. The first job was I was fixing kettles. Uh like kettles like for boiling water for tea? Okay. Yes, yes.

SPEAKER_02

So we meaning that it's gonna be like an electric uh kettle.

SPEAKER_01

So it's not not the not the ones that you need to put on the stove and back in the 90s that was kind of the the the beginning of the electric kettles, and they were nothing uh like uh what you have today. Well, it they were like you have today, but they were much simpler. So you had the warming coil right in the bottom of the kettle.

SPEAKER_02

Yes, I remember that that's it.

SPEAKER_01

And then you plugged in the cable, it wasn't like uh uh like cabless or whatever the term is uh wireless. Cordless. You actually had to plug the cable and you plugged it directly into the coil the inside.

SPEAKER_02

Makes sense.

SPEAKER_01

Now um the problem is that uh there are areas where the water is is very hard and there is a lot of uh residue residue that that builds uh on uh warm uh metal. Yes.

SPEAKER_02

Uh so when the coil was exposed and there would be a lot of residue on top of the coil. Okay.

SPEAKER_01

Exactly, right, and then you're supposed to descale it. Right. Uh which uh no one does. Well, not no one, but a lot of people don't do. And then obviously, in some point of time, this uh this residue absorbs so much heat that it stops that the coil is not uh doesn't provide enough heat to actually boil the water, so the water actually stopped boiling. Yeah, and that's uh it was a very big symptom in the early kettles when you after some usage you plug it in, the water gets hot and stays hot, yeah, but never gets to the point of boiling.

SPEAKER_02

Yep.

SPEAKER_01

And this is when people bring it to service, and uh, there was me uh either uh just pouring uh the discaler on it and just returning it back.

SPEAKER_02

Or maybe it'll like wipe it with some, I don't know, exactly some paper or something.

SPEAKER_01

Or sometimes it was past salvation, so we needed to replace the quill. Yeah, so that was my first job.

SPEAKER_02

How much you were gaining for how much you were all uh getting in terms of like uh the salary for for this?

SPEAKER_01

Yeah, yeah. So uh my salary was uh my first salary, um I was in seventh grade, I was 13. That was my first job. Uh just after we moved to Israel, escaped from Soviet Union, uh, and my salary was 20 shekels a week. Uh shekel was back then, I would say something about two dollars. So it's like a $10 a week. Not great, but for me that was like absolutely crazy amount of money. Um, and this is how I bought my first computer. Oh, which is the same. So here we were plugging it into the IT theme.

SPEAKER_02

Yeah, and uh what kind of computer was that? Like what we were doing with computer? So you probably will start programming like DevOps and stuff and things like that immediately.

SPEAKER_01

Almost almost right, right, right. So then it was a very strange beast. Um I bought it secondhand. Um I had no idea what I'm buying, uh, but then I started to research after I already heard uh had it, and and it turns out it was a very, very strange uh beast. Uh it was uh IBM compatible um XT186. Now 186 uh wasn't a thing. Uh 026 was wildly popular in the 86, 80, 80. So 86 was the first mass market IBM PC compatible uh platform. Yep. Uh it was the first one that was uh that wasn't like IBM but IBM compatible. Yes. And that means that all the third party components dramatically reduced in in price, and um every household, or not every, but a lot of households could suddenly allow buy uh PC. Yep. And that was huge. Uh the next most popular one was 286, and 286 was where the real like massive adoption really started. That was the first one with the more uh uh storage of disks.

SPEAKER_02

Okay, so how much disk was there, how much RAM was there?

SPEAKER_01

So the the first one that I had um didn't have any hard disk, no hard drive at all. Uh it has two floppy disks of uh uh five and uh five and a quarter? Five twenty five? Yeah, five and a quarter, uh like larger uh floppy disks, two of them, A and B.

SPEAKER_02

So in this case, you you're one of those people who knows why we have a disk A and disk C on the modern operating system.

SPEAKER_01

The story is A and B, two floppy disks, and then C, the hard disk. Yes, and people who had C, I uh I had huge envy. Yes because they actually had the hard drive.

SPEAKER_02

And B, meaning that like if you don't have it on your computer or you didn't have it during the time when um the floppy disks were the thing, meaning that you didn't have access to 5.25.

SPEAKER_01

Uh not necessarily. Both A and B could be five and a quarter or four and a half.

SPEAKER_02

Yeah.

SPEAKER_01

Uh it could be either or.

SPEAKER_02

Yeah. Oh, yeah, because sometimes because you don't have a disk, you need to copy from one place to another.

SPEAKER_01

Right, and no, but yeah, you generally need to run out of something when you replace the other one. Ah. Right. So it was your.

SPEAKER_02

Yeah, reading from memory, uh, reading to memory, you try to load the games.

SPEAKER_01

Right, exactly. Right. So so whoever had C, um, I had a huge envy because it means that they could run games from a hard drive and didn't need to replace like seven uh floppy disks when they wanted to run something like Mean Streets. It was a great game, legendary. Uh based on a movie Mean Streets from the 70s, uh Scorsese. Yeah. Yeah, um, excellent. Uh you asked me about programming on this wonderful computer. Well, the extended programming that I did was AutoXicBut and System Sys.

SPEAKER_02

Yes.

SPEAKER_01

Uh and those are two files that are loaded when uh MSDOS was uh was booting up. Yeah, and uh you could do pretty neat stuff. You can change the colors of the print, you can actually print something that you wanted. Yes. You you could make it beep.

SPEAKER_02

Um maybe you can even like it would be very inventive, you can play some some musical.

SPEAKER_01

Uh you can because I didn't have sound blaster.

SPEAKER_02

Uh but you can uh play the music on the speaker.

SPEAKER_01

Uh no, no, there was only beeps. Uh huh. Only beeps. There is nothing else.

SPEAKER_02

No, no, like beeps. You can beep with different tones.

SPEAKER_01

Uh you could beep, I think, like with two tones, but you cannot really do a lot. Uh but yeah, um 286, hard drive, color display, CGA or maybe EGA, and the sound blaster was the dream machine back then that only the rich kids had.

SPEAKER_03

Yes.

SPEAKER_01

And uh, you know, they had stuff like mouse, which is pretty cool. And I'm another one. Maybe like for mouse, you need to have um graphic interface like Windows. Um I'm lefty, but I use mouse with my right hand because I learned how to use mouse at my friends' houses that had 226 with hard drive and Windows. So I went um to their places to actually play some more advanced games, and this is how I learned to use the mouse. So I still uh use mouse with my right hand, although I'm a lefty.

SPEAKER_02

Yeah, um I remember you were telling about the story where like you didn't go like directly to software. Yeah, like after the fixing kettles, you also spent some time in uh Israeli military uh doing what? Uh greasing tanks. Oh wow, okay. Yeah, so this is something like very similar to probably also DevOps, right? Absolutely, absolutely.

SPEAKER_01

Uh um uh I did the minor engineering degree in robotics, uh hoping to do something meaningful in the army, and um you really need to get really unlucky to not to having the degree in robotics and not getting into robotics. Into something really meaningful and interesting because there are tons of interesting stuff with robotics, right? Even uh you know what, even with tanks, you can actually uh design uh weapon advanced weapon systems with stuff like AutoCAD and like really meaningful, meaningful uh jobs, um and a lot of robotics, and now especially in modern warfare, yeah, all the drones and what's not this is like a lot of that. Yes, servo motors, this is like the basics of of uh autonomous warfare and what's not. And I just somehow got really unlucky and got stuck in the most mundane and boring job, yeah, greasing tanks. You can use like robots to grease tanks. Uh probably. They didn't ask me. I would probably build them one, but but they didn't.

SPEAKER_02

Hopefully, we'll have the the the new robots very soon, so they will be able to do this this way.

SPEAKER_01

Absolutely, absolutely, and then like it's an Israeli Mediterranean summer. Yeah, it's like 40. 40 degrees. It's yeah, so it's a desert, it's heat, it's humidity, it's 40 degrees in the shade, uh 110 uh Fahrenheit. Not fun. And this is when I decide, you know what? Fuck it.

SPEAKER_02

Yeah.

SPEAKER_01

I'm going my permanent job, my go to Disneyland. How my my permanent career will be in air-conditioned environments.

SPEAKER_02

Yes, yes.

SPEAKER_01

This is the only thing I was caring about.

SPEAKER_02

I was thinking about this yesterday when I checked in the hotel and couldn't find because it's Europe, and I couldn't find the uh air conditioning. I was like, okay, okay, how I can uh and I did this old school, I just opened the window. So here you can open the window.

SPEAKER_01

Yeah, yeah, no, but we're talking about Israel in the summer. Uh yeah, so I was like, okay, my career is going to be in air-conditioned environment, period. No matter what.

SPEAKER_03

Yeah.

SPEAKER_01

And and um uh programming and computers um made a lot of sense coming from robotics environment. It's the same idea of programming stuff, but in air conditioning.

SPEAKER_00

Now a quick word from our sponsor. Confluent developer the podcast is brought to you by Confluent Developer the website, which has everything you need as a developer of data streaming systems. And it's completely free. We've got curriculum, hands-on exercises, executable tutorials, the online data streaming engineer certification, also free, a way to find a meetup near you, those are free. Everything is there. I really want you to be successful in your journey as a data streaming engineer, and this is the site that has what you need. Check it out at developer.confluent.io. That's developer.confluent.io. Now back to the show.

SPEAKER_02

So I'll ask a question. So, what was your first programming language then? So um, you know, I assume that your first computer didn't have much of the capabilities for your program. And you didn't have a desire probably to program. Like you mentioned the games and stuff. Yeah, absolutely. And now we learn that you went to university for robotics. Probably there was some computer science or like a programming program, programming programs, uh, courses or whatever. Um, can you tell us what was your first?

SPEAKER_01

Yeah, that well luckily enough, the first significant language that uh uh did I learn was Java. Oh uh yeah, that was.

SPEAKER_02

Next question, please.

SPEAKER_01

Uh in the college that I went to, um uh it was a branch of an American college, Champlain College, uh located in a wonderful place in Vermont. Uh most beautiful. I was lucky to visit there as alumni after we moved to the United States. And uh they had a branch in uh in Israel. Um when it was like mixed, some of them was actually remote lectures from the Vermont campus. And for others, they hired Israeli um uh professors. Professors. Uh and this is where I started, and uh my first kind of almost my first day was an introduction to object-oriented uh object-oriented programming. Okay, so part of Java course.

SPEAKER_02

You knew everything about um you know horses, uh cats and dogs, probably.

SPEAKER_01

This is how so yeah, so the professor comes in and like, okay, we're going to learn about objects, and in this uh paradigm, uh everything is object. Yes.

SPEAKER_02

Uh and somehow and polymorphism.

SPEAKER_01

Yeah, yeah. So and and he and he uh gave an example of a horse that is like a polymorphism, it's also an animal, uh, and uh you know there is like um inheritance and and and what's not, and uh he goes into explaining that the objects have uh properties and methods, actions, yes, like for example, the number of legs is a property of a horse, and an action that it can like run and so is horse alive?

SPEAKER_02

Is it property or is it a state? What is that?

SPEAKER_01

Exactly. Uh that the first one of the first questions was like, okay, we understand that like a small horse is a horse, an adult horse is a horse, but what about dead horse? Right? And then the professor, like, well, uh, probably it's probably a state, it's probably a property, and it went downhill from there.

SPEAKER_03

Yeah.

SPEAKER_01

Next thing we discussed, what about if we burn the horse? Yeah. Will it be like the ashes?

SPEAKER_02

Yeah. Is it still an object of the other? Journalists, uh uh, what if journalists ate the horse, right?

SPEAKER_01

Right. So if we burn it, uh I are the ashes still object of a horse.

SPEAKER_02

No, the kids can go very far with this type of things if you don't have all the answers for them. Um it was it was exactly that.

SPEAKER_01

And it was a disaster, and this professor left and never came back again.

SPEAKER_02

So probably you can recall some of the you know, some of the times in your consultancy jobs where you were talking to the customers and they also go that deep, kind of like what if uh definitely I have some some some some uh some stories in the past of the when the people asking about things about Kafka. And like, what if it's gonna be like shutdown of all the notes and we lost the disc and all this kind of stuff? It's the same thing with like a dead horse. Like dead horse, is it like burnt horse is still horse, right? Yeah, yeah.

SPEAKER_01

And uh basically this was the end.

SPEAKER_02

It's a good question for people in the comments. Maybe people uh have a similar experience and they have an answer to uh to to to us. Like what do we think? Write down in comments.

SPEAKER_01

Yeah, no, the correct answer is obviously that object-oriented programming is not uh a complete model of the real world. Some of the concepts don't translate. This is one of them, forget about it and move forward.

SPEAKER_02

Yeah, it's it's called leaky abstractions or like abstractions that can like fall apart under Yeah, no, but this is fine.

SPEAKER_01

It doesn't suppose to uh uh to directly mirror a real world. This is this is an abstraction and it means that by definition it's a simplification. So that would be the right answer. Unfortunately, our professor uh couldn't uh give us this answer, so uh we never saw him again. Yeah, um, our next class, uh, in the same course of introduction to object-oriented, we got lucky to get one of the best teachers I ever had. Um, Chaim Michael. Um is a very well-known uh lecturer, instructor, and course creator um for computer science in in Israel. Yeah, he's still doing it. Uh, there are still tons of courses online that you can learn from him, and he's uh amazing. And the first thing that he did, um he took out of his bag the two uh tomes of uh core Java by Professor Craig Horsman, who is right here, and we just interviewed him for the Verbose mode. You can find it on um Taxcare uh YouTube. Uh and he was like, Okay, you're going to read this, and we're going to read it together. We're going to learn Java, and it's amazing. And that was where I fell in love with Java, with uh computers, with programming, and the rest of the system.

SPEAKER_02

Yeah, my first Java book was uh surprisingly Herbert Schild. I don't know if uh he's also well known in the industry here. Uh how he was very popular in uh back in Russia, wrote the C book, C book, um uh Java book, dot net book. So um have uh but also the Kai Horsman's book was like very popular.

SPEAKER_01

And then the third one, I think, like the big three is Think It in Java.

SPEAKER_02

Yeah, Java, but it's kind of like you know, if you know C.

SPEAKER_01

Exactly, exactly. So Think It in Java is an amazing book to get started in Java after seeing C. Yes, and and this is something that a lot of people don't know, and they try to learn it as the first book in general, yeah, and this is where it's not great.

SPEAKER_02

But you know, we're not talking about this guy anymore since he started doing Scala and stuff, so unfortunately, yeah, yeah. Yeah, we lost him. Um but like he he was doing, I think, uh also a little bit Kotlin, maybe? No, I don't know.

SPEAKER_01

Um Bruce, tell us if uh why you hate us and what are you doing now? We love you, we love you, buddy.

SPEAKER_02

Um so let's let's talk a little bit about the the next step. So in uh Confund Developer, we're also exploring origins, uh we're talking about where where everything started, but the the skills that That you learn along the way. Are there any interesting, not necessarily maybe challenging, but something interesting that you find like puzzling and something that you solve that you can share with the with the audience, something like a challenging problem that you were able to implement and solve?

SPEAKER_01

One of the projects that I really kind of am very proud of until this day, it's a Maven to Gradle converter. Maven to Gradle Converter. This is how we actually get it. Yeah, yeah. Maven to Gradle converter was a lot of fun because it was my first encounter with Groovy. And I completely fell in love with this language as the better Java, as the next Java, as the Java as Java should have been. And back in the day, I was a consultant in a Java consultancy shop. And one of the things that we did were researching new technologies that we can offer to our customers. Our really speciality of our consultancy was the CI CD. Back then it wasn't even a name.

SPEAKER_02

It was not a name, yes.

SPEAKER_01

Exactly. CI was just getting started, but nothing about uh but but still it was like the build CI CD, what we call CI.

SPEAKER_02

Someone will compile it somewhere.

SPEAKER_01

Yeah, so we we were we were about that. Ship it somewhere. Yeah, and the thing that we did a lot was uh we had our offering of uh pretty advanced AND scripts that has like uh uh modularity to them and the ability to do a lot of complicated stuff.

SPEAKER_02

Remember kids, pretty advanced AND scripts.

SPEAKER_01

Yes, and and we went uh from one customer to another setting it up and then helped them maintain and then revolution happened. Yeah the revolution was Apache Maven 2.

SPEAKER_02

Okay, okay.

SPEAKER_01

Apache Maven 2 was absolutely tectonic shift in how we build Java projects. Until today, there is nothing in the industry that comes close to what Maven did to Java. The entire idea and up until this day, if you go to uh Maven website, the description of the project, you know what it says?

SPEAKER_02

No, I never thought about it.

SPEAKER_01

Java project comprehension tool.

SPEAKER_02

Okay. Let's uh let's let's unpack it. Like there's not building, yeah, there's a lot of unpacking.

SPEAKER_01

Not building, not compiling, not packaging comprehension. Comprehension. Interesting. It was about you are going to look at the project and you are going to know exactly what are you looking for in the first five seconds.

SPEAKER_02

Well, I mean before before you know what's the effective poem, uh it would be not entirely true, but hey.

SPEAKER_01

Obviously, it's not as much.

SPEAKER_02

There's lots of conventions, there's some of the things.

SPEAKER_01

Obviously, the reality is not as simple as this simple as this statement. But but but still, that was a revolution.

SPEAKER_02

Yes.

SPEAKER_01

How do we standardize Java project with this complicated, convoluted scripts?

SPEAKER_02

Advanced hands scripts. Exactly. Hashtag advanced and script exactly.

SPEAKER_01

Right. So for us, that was wow, that really blew our mind.

SPEAKER_02

Yes.

SPEAKER_01

Uh we pretty quickly uh saw the uh the missing piece, yeah, which was the where everything is.

SPEAKER_02

Exactly. Like why and why this is somewhere on the internet.

SPEAKER_01

There is Maven Central, which obviously we cannot, we go to our enterprise customers and we say, okay, you have some internal modules. Uh probably sharing it on Maven Central is not a great idea.

SPEAKER_03

Exactly.

SPEAKER_01

Right, and this is where we kind of saw the opportunity to build out a factory that became JFrog of the factory, that became JFrog and the rest is history. Yeah. And this is kind of something that we uh really got into. Yeah, but in parallel, we kept learning about new technologies in the space.

SPEAKER_02

This is how you get uh into like Spring World, wrote the book about Spring, right?

SPEAKER_01

Right, right.

SPEAKER_02

And and and it's like just to explain for folks here, it's just like in the consultancy, there's the way how you can establish yourself in the community and in uh in the industry through you know conferences, speaking on the conferences, having kind of like a loud presence in the community, but also like write the books. Uh Björst truly wrote the books when when we were in the consultancy, uh the Baruch wrote the book when he was in the consultancy, and in the hashtag also deveralt. Yes, hashtag also develop, yes, exactly. Same idea. Uh yeah.

SPEAKER_01

Uh yeah, and uh so one of the things that we did to to be on top of the of technology was that every consultant had an area of research when they went ahead and researched the most advanced topics that are in the interesting trends and stuff. For example, I was presenting for the company and then in our conference a completely mind-blowing concept of elastic computing.

SPEAKER_03

Uh-huh.

SPEAKER_01

And it was like unbelievable.

SPEAKER_03

Yeah.

SPEAKER_01

I mean, you suddenly don't need to provision all those servers in advance. If you have Black Friday coming, you can actually get more computing power automatically. That was completely unbelievable.

SPEAKER_02

Yeah, I think it's still like a times of like a EC2 start, like Elastic Compute Engineering. Exactly.

SPEAKER_01

Exactly. And uh another consultant, uh Dor Brzeznitsky, who was uh CPO for a Jeffrock for the longest time, uh, he came up with another build tool that was looking to solve a lot of problems that Maven had.

SPEAKER_02

Even more advanced and end set of scripts. Exactly. Technically, that's how it's everything started.

SPEAKER_01

Exactly, that will rely on the same ideas of standardization and comprehension of Maven, but will solve the rigidity of the framework, of Maven framework.

SPEAKER_02

For example, XML, XML, uh, POM, POM XML.

SPEAKER_01

But for example, the the the rule of thumb, not the rule of thumb, the the hard-coded rule that only that uh one project can only emit one jar file.

SPEAKER_02

Yeah. The reality is sounds like uh yeah, very interesting thing to be in uh early days.

SPEAKER_01

Yeah, and that was honestly that was obviously Gradle, uh, and and uh it was uh again a revelation for a lot of us, and we started to play with it and and look, um maybe now we should start uh working with Gradle. And this is where I kind of I was very excited about it, decided to do what if we take a so since Gradle infoity is definitely a superset of Maven, yes, can we take what Maven does and convert it to Gradle script? And this is and since Gradle script was written in Groovy, uh, although it was Groovy DSL, it was nothing like Groovy itself.

SPEAKER_02

Um that the Groovy DSL, but DSL itself, API itself was written in Java.

SPEAKER_01

Uh yeah, but again, from the outside it didn't even look like Groovy, although it was uh compiling Groovy script. Uh I was like, okay, uh let's look at this language, and this is where it was like an absolutely um mind-blowing experience. That yes, this is how Java should have been from the beginning. How much boilerplate you can reduce, uh how much more expressive the language can be. Uh it was uh it was great, and this is where I wrote this converter from Maven to Gradle that gained some limited popularity in some circles eventually and highly popular across like a very limited circle of individuals. Exactly, ended up uh as what we now know the Gradle Init plugin that you can pass um dash dash Maven and it will take the poem and convert it to um uh to Gradle script. Yeah. So yeah, yeah, but it was a very nice project. I cannot say that it was somehow challenging.

SPEAKER_02

But I think it's uh it's also very um not influential, but at least like you have to migrate some of the conversations that you will eventually will happen with your customers because before that you spend a lot of time to, I assume, um to you know moving them from like ants in into into Maven. Maven was great, and it still still is. Um to world where you think that like feature going, like with the slightly um different approach to describing the jobs, providing the not only job output, but maybe there were zip files, maybe there would be some some other artifacts um available in multiple jar files that can also happen.

SPEAKER_01

Correct. Yeah, so that was uh a very, very nice project that um again got me some notoriety in very uh specialized circles.

SPEAKER_02

Exactly.

SPEAKER_01

The more interesting project that I did that unfortunately didn't go anywhere, but I I learned a lot uh was the spring data implementation for non-relational database for MongoDB.

SPEAKER_02

So before Spring Data was a thing with the with all these uh built-in features that available?

SPEAKER_01

It was a wrapper over JDPC driver.

SPEAKER_02

Okay. Oh yeah, because before that probably Mongo didn't even have uh like proper async driver.

SPEAKER_01

Um it was is all it was is a JDPC like a wrapper on JDPC driver that you can do um JPA on top of it with Hibernate and uh JPA wasn't the thing that you could do hibernate uh in Spring. Basically, that was it was and uh and uh I was consulting for a company that uh were very excited about MongoDB. It was super early days, no one knew about it. I mean there was like I don't know, like 10 10 people in the company.

SPEAKER_02

I think it was before 2000, what, 2010, 2009, I guess?

SPEAKER_01

It was yeah, more like yeah, yeah, 10 and 9, something like that.

SPEAKER_02

Around the same time, I moved to New York and a lot of founders of Mongo. They were like more started there, and they were doing the Horovitz. The Horovitz itself was doing DevRail of the of the Mongo. Yeah, yeah, yeah. I remember exactly.

SPEAKER_01

Exactly, right, right, right. And uh so I said, what if I write the implementation of Spring Data to work with MongoDB? Yeah, my job as someone who needs to come and implement applications on top of MongoDB in Java will be much easier. Yes. And uh that was a very interesting experience uh to see how we can map the uh relationship. Uh into uh exactly uh non-SQL concepts into a system that was designed to serve um SQL uh uh storage. And uh it actually it actually mapped very well. So I'm definitely not surprised that Spring Data later came with support for everything and the kitchen sink. Yes. Uh because it was very well uh architected to begin with to support that, and I experienced it firsthand by implementing all those interfaces for for MongoDB. Um unfortunately I it didn't uh get into Spring uh project um itself. Yeah uh the pull request um I think they're still somewhere out there um uh for um reasons that um that was exactly the time that the Spring team worked on something similar and they obviously used their implementation and not mine. Uh but that was a very nice introduction for me into how well Spring concepts, Spring basics, Spring fundamentals are designed that it accommodated so easily concepts which are pretty alien to each other, SQL and non-SQL storages.

SPEAKER_02

I think um this is um this is a very great conversation about uh API design probably of the framework. Exactly. Um I don't know when you're watching this show right now, but we do have episode another one with the Matthias X where we're talking about um also API design and what's important to you know follow similarities, how say Java streams uh doing the thing, so how we can do the same in Kafka streams. So check it out on the conflict developer uh YouTube channel, um it will be definitely there. So lessons learned over over the time. What you can um, based on some of your personal career, what you can the most important wish or like uh the share with the audience if the people listen us again the the core of this podcast, the origins of this luminaris, how you become from the guy who was cleaning this, uh the the kettles and greasing tanks to be like a very big voice in the community of uh software Java, Java champion by the way. The uh the the the Kubernetes uh ambassador, uh or how they call it these days, like uh CNCF ambassador.

SPEAKER_01

Alumni not active, but it's okay.

SPEAKER_02

You've done the thing, so you've been you've been in different places. So there's nothing nothing wrong to to to brag a little bit about this. So advices, like give some of the you know takeaways for our listeners.

SPEAKER_01

The most important advice I can give you if you are in extreme weather, like very cold or very hot, opt in for career with air conditioner. Or heat.

SPEAKER_02

Uh well air conditioning, like central heat.

SPEAKER_01

Yeah, the air conditioning as changing the temperature inside to more favorable for human beings.

SPEAKER_02

Yes.

SPEAKER_01

The most important advice. Uh advice number two, uh be curious. Uh get into stuff that looks interesting, even if you are not sure that you even belong there.

SPEAKER_03

Yes.

SPEAKER_01

Right? Just pick your nose and and and see. Maybe someone will stick, something will stick, maybe not, but be curious and get into things.

SPEAKER_02

Yeah.

SPEAKER_01

The current thing F A F O. F-A-F O. And uh FIFA, yeah, exactly.

SPEAKER_02

Be around and find out.

SPEAKER_01

Exactly. Be around and find out. Uh also YOLO, uh hashtag, another hashtag, yes. Uh, we're cool things. We're playing cool. Yes, yes, yes, yes. We're pretending to be cool key.

SPEAKER_02

Yeah, exactly. But they don't say hashtag, I think, anymore. Yeah.

SPEAKER_01

Okay, no. No. All right. So uh skateboard, floppy disk. Yes. Yes, yes, exactly. Um be curious, get uh into the thing that gets you excited and see what you can do in it.

SPEAKER_02

Yes.

SPEAKER_01

And this is something that worked over and over again in my career. Uh and uh you should do it too. Don't just go with the flow. Try to peek around and see if there is something even more interesting that you can do.

SPEAKER_02

Yeah, this is a great advice, this is a great episode. Uh, we talk a lot of other things. Uh, you can find more episodes like this on Confluent Developer YouTube channel and all places where we can consume podcasts if you prefer audio versions. Uh, this episode, again, thanks for Taxcare for lending us a little bit of the hardware. We can uh so we can uh record this like a very fancy, very fancy place. Thanks very much, Barok, for being my guest today. Thank you, Victor, for having me. Um, Bark Sodagorski, Victor Gamov, and as always, have a nice day. It was conflict developer. Stay tuned for the next episode. It's gonna be so next. Bye.