Between 2 Servers
Spring Funk: When Your Framework Matches Your Mood feat. John Burns
Host: Welcome back to another episode of Between 2 Servers. I'm your host Hayden Balio and I'm here with John Burns.
Guest: Hi.
Host: Hi John, thanks for being on.
Guest: My pleasure.
Host: Okay.
Host: Let's get started John. You maintain a project called Spring Funk.
Guest: Yes!
Host: Which is honestly the most accurate description of the emotional state of spring developers I've ever heard.
Guest: Yeah, I think that's fair, but I'm trying to fix it!
Host: How are you gonna fix it?
Guest: I'm gonna fix it by making it easier to understand Spring. No more annotations, those are too confusing.
Host: That was a much more simple answer than I thought, but I it works I guess.
Guest: I can rant if you want.
Host: As a Platform Engineer at Grubhub, do you also deliver your code 45 minutes late and missing half the dependencies?
Guest: Uh, no never.
Host: We'll see about that. Your talk compares spring boots evolution to a paradigm shift is that like when Grubhub shifted the paradigm from affordable food delivery to why is there a 17 fee on my 12 dollar burrito.
Guest: Yeah, Yeah.
Guest: It is.
Host: Yeah.
Guest: Yeah, you know things change, markets change.
Host: I'm running out of money.
Guest: I'm sorry.
Host: John–
Guest: I'm sorry you know, I get a little bit of uh credit every week. I can, we can work something out. I can get you a burrito
Host: You heard that! You, you co-organized the Chicago Java and Colton User Cotland user groups.
Guest: Yes.
Host: Colton. Is that because you couldn't decide which one was more tedious or?
Guest: Uh well uh obviously Java's more tedious. Um however, uh you know. The communities have gotten a lot closer to each other over the years and so it just made sense to start bringing it more closer together. Yeah but um, I've been involved with Kotlin since like 2017 um and the merger between the two is a lot more recent. So um, you know I'm definitely uh, love Kotlin and I like writing Kotlin and I don't find that tedious at all but Java can be tedious.
Host: Java can be tedious. That's a quote for this one.
Guest: Yeah don't tell like petite I said that.
Host: Your talk mentions functional programming approximately 600 times, is this what passes for personality in platform engineering circles?
Guest: Oh god, uh, kind of. Yeah, yeah. I don't wanna be someone who's where functional programming is your whole personality really don't want that look but maybe it's happening.
Host: You claim Spring Boot has been quietly adding functional APIs. Is that because even spring is embarrassed about still being relevant in 2025?
Guest: I think, I think that they uh, don't want to alienate their customers. Yeah.
Host: It's a very politically correct answer.
Host: You say functional APIs have an easier learning curve, fascinating theory from someone who voluntarily works with Spring Boot.
Guest: Yeah that's, that's the whole point though. That's the whole point, um. People who have been doing Spring Boot for like 10 years, like don't realize how hard it is to learn if you've never used it right, and so that's, that's the thing is kids coming out of school today. Like, they are more familiar with functional programming concepts than they are with AOP.
Host: It's true, I have never Learned Spring Boot.
Host: As someone leading JVM service platform engineering. How many means does it take before you can actually write a single line of code?
Host: Just curious.
Guest: Oh well, actually zero haha.
Host: That's good.
Guest: I'm writing code all the time.
Host: That's good.
Guest: So but uh yeah, we we really um, are hands on we're not architectural architects. We're platform engineers.
Host: I would expect nothing less from Grubhub your talk promises to uncover hidden gems in Spring Boot which feels like saying there are hidden gems in a parking garage they're not hidden John they're just things nobody wanted.
Guest: Sorry you feel that way.
Host: On a scale from mildly disappointed to existential crisis how do you feel when developers choose go over your precious JVM?
Guest: Oh it's uh, what, what was the top end of that skill? Existential crisis.
Host: Yes.
Guest: That one yeah, yeah for sure.
Host: Yeah that makes sense.
Guest: It, it pains me.
Host: You maintain KTlint-Gradle right?
Guest: Yes.
Host: Am I saying that right?
Guest: Yes.
Host: KTlint-Gradle.
Guest: KTlint-Gradle.
Host: Is enforcing code style the only power you have left in your life or…
Guest: Um...... well you know maybe this is worse, but the gradle is not actually, the plug is not actually doing the linting. All we're doing is providing a way for you to call the linter.
Host: Wow okay. Maybe it is worse.
Host: You're suggesting we shift from annotations to functional programming what paradigm will you advocate for in 2035 when functional programming also fails to fix everything.
Guest: Oh, go to statements, yeah.
Host: Yeah.
Guest: That's what's coming next.
Host: Next is go to statements.
Guest: Yeah.
Host: You heard it from John.
Guest: With Quantum.
Host: Quantum go to statements.
Host: Well John, do you speak at many conferences?
Guest: Not many, yeah not many.
Host: Do you, do you have another conference you're gonna speak at soon?
Guest: I don't have anything lined up currently, but you can find me in Chicago area conferences usually.
Host: I didn't ask for that.
Guest: Ohhh...okay.
Host: Um, what do you order the most on Grubhub John?
Guest: What I order the most is hmm, that's a good question I, I actually have to go get with our data scientist to figure that out there's no way to really know, but it's it's probably sushi.
Host: writes Java can't do a simple query in the database.
Guest: That's, that's, no. That's a, you need a data engineer for that can't expect me to not write.
Host: That makes complete sense yeah yeah. Do you also have everybody else do your work for you.?
Guest: Uh yeah. That's, I'm a platform engineer.
Host: This is a theme now at this conference. Well John, thank you so much.
Guest: Yeah, thank you.