Hey everyone, this week we have one of our interviews with a SpringOne Platform speaker where you get to not only hear a little bit of what they'll be talking about, or preview if you will, but some about themselves as well. Now we have SpringOne Platform coming up in my hometown, Austin, Texas, October 7th to 10th. Now if you're listening in the future, this is in 2019. Sorry if you missed it. You have to write a letter to me, tell me how 2025 is doing. Always curious. Anyhow, you should take a look and register for it. If you register before August 20th, you'll get a nice discount from it. Otherwise, if you just go to springoneplatform.io, you can sign up for it and come see us in Austin. So with that, enjoy the interview. Today I'm joined by Madhura Bhave, one of our Spring team members who will be presenting at SpringOne Platform. And we're just going to talk a little bit about Madhura, her background, and what she's going to be talking about. So Madhura, if you would start us off by sharing a little bit about yourself. I know that our audience would love to know more. Yeah, sure. Thanks, Mark. Thank you for having me. And I guess I'll just introduce myself for starters. So as Mark said, my name is Madhura Bhave, and I am a member of the Spring Boot team. And now I'm also working on Spring Initializer, which is the library that powers start.spring.io, which is probably the second favorite place on the internet for a lot of you. I think I started working on the Spring team about three years ago at Pivotal. But I've been at Pivotal for six years now. So I joined in 2013. I know it's been a long time. I just finished six years this July. And before Spring, I used to work on Cloud Foundry. So I used to work on UAA, which is the user authentication and
2:00authorization component of Cloud Foundry. And which is one of the few Spring projects on Cloud Foundry, actually. So after working on Cloud Foundry, I really enjoyed working on Spring. And I was like, hey, I would love to work on the Spring team, which is why I am now here. Wow. Well, I had no idea personally that you had such a background in security. That's really cool, actually. So I mean, that's a great introduction and kind of a background. And by the way, congratulations on your sixth year anniversary. That's also quite a milestone. Thank you. Yeah, I've really enjoyed working with you my almost four years. So I'm trying to catch up, but obviously that will never happen. But if you would kind of maybe expand a bit on how you got into tech in the first place, kind of maybe how you got into development, or if you had other roles before you moved into a development role, I know a lot of us have worn a lot of hats over the years. So if you wouldn't mind giving a bit more of your pre-pivotal, pre-spring background. Yeah, sure. So I've always been a developer. I think I actually got into tech a long time ago. So as a 17-year-old kid back in India, when I finished high school, I kind of had to make the decision of where I want to go next and what career path I want to pursue. So a lot of my family actually, they're doctors. And I was that kid who wanted to do something different. So I was like, hey, I don't I know I don't want to be a doctor for sure, because my family is all doctors. That's not really a valid reason. But I guess that was me at that time. That works for most of us, right? Yeah, I suppose so. But being a kid, and then I was obviously interested in science. Otherwise, I guess I wouldn't be here. The second option, which is pretty popular in India, if you get decent enough
4:05grades, and you're interested in science is engineering or computer science. So I know I wanted to do something different. But I guess I ended up not going too far, not diverging too far away from what a lot of people might consider a common path for someone who pursues a career in something related to science. So which is why I chose computer science. And now here I am. I'm actually very glad I chose it because I love being here. Just the idea of getting a job straight out of college and being independent and up on my feet was very appealing to me at the time. And that's actually exactly what happened. And I think I've been very lucky in my career to find what I really love to do. And I'm really happy to be on the spring team now. I'm pretty confident I can speak for everyone in saying that we're really happy you're a part of the family. So I'm happy to be here. Well, I mean, something you said actually kind of leads very naturally into the next thing I was going to ask, which is what do you love about this career field about your position about I mean, whatever you want to talk about, but what what are the things that you like best? So yeah, like I said, just a few minutes before I think I've been very lucky in the teams that have been on and in the projects that I've worked on. The thing that I like most about tech in general, though, is that it's constantly evolving, you know, so there's always something new that's happening. And I like being pushed out of my comfort zone. I like learning new things all the time. And whenever I feel like, Oh, hey, I think I'm getting good at this. There's always something new out there, which I need to now learn. And then I think I think that's what I enjoy quite a bit, being in tech, kind of keeps you on your toes, keeps you on your toes. And
6:10yeah, I find it, I guess, good to be challenged. But I know there are a lot of folks who don't necessarily appreciate that on a day to day basis. But our industry is such that with with frequent changes, and the never ending stream of changes, you really have to, you have to enjoy that kind of thing. So if I could maybe ask, how do you stay on top of it all? I mean, that's a lot of volume of change kind of coming nonstop, always. What are what are your suggestions, advice? Yeah, I think, especially now, in the past few years, or maybe it's always been like that. But I think, since I've been around in the industry, there's been a lot of change in the way applications are being built. So you started with monolithic applications, which I guess ran in server container somewhere, which you deployed as a war file. And then with the move to cloud and self contained applications, is that move to you create thing, I'm talking all about Java. So you're creating runable jar files, and then pushing those directly to the cloud. And then it moves from that to something more where you package your application as an image as a Docker image, and then push that. And then there's functions and serverless. So there's all sorts of things as you're aware, Mark. So for me, I think it's, there's always the aspect of trying to figure out what is just a hype versus what's really going to stick around and what really makes sense for the particular use case that you were trying to solve. There can be a lot of this hype created around new trends where people just jump on the bandwagon and, you know, the thing that say that this is the next big thing, whereas that might not not necessarily be true. So I think for me, it's trying to filter out the noise and trying to figure out, okay, hey, this is what makes sense. So this is what we should focus on. And I think it's in the open
8:12source world, it's more about like, reading what there's so much content available out there on the internet that it's more just about reading and researching, I guess. Yeah, which I guess if you don't mind me taking a completely self indulgent question out here and asking you is, how do you, how do you cut the noise? Because there, there really are so many things, even that are really interesting, and that may turn into evolving trends. How do you filter out the things that you feel like, I mean, maybe it's just a matter of, you know, you, you kind of feel like you see kind of where the industry's going, or maybe it's more directly relevant. But I find it sometimes kind of difficult with the cacophony of voices that you hear coming out and people espousing the latest thing. And sometimes things that look like they're going to be pretty big trends kind of fizzle very quickly. How, is there anything that you use kind of as a rule of thumb, or is it just a matter of kind of following things far enough to, to kind of see how they, you know, whether they start to go up or down and then? I think for me, one of the first things that the one rule of thumb that I follow is that if I see something on Twitter, I don't always immediately believe it. Right. You know, I'm, I'm not like, oh, okay, the so, so, and so, no matter like how, how many followers they have or whatever, I, I don't always believe it. If it's just the one person or a few people saying that I need to go and read about it a little bit more myself, or, you know, watch YouTube, I think YouTube videos, there's so many out there now, they play a pretty big role in how I learn new things because I just find consuming video content easier for me. Maybe I have like a low attention span or something, but I find it, I find YouTube videos a faster way for me to learn about something than maybe reading articles or something like that. So I try to, I try to see what everybody's talking
10:13about out there. And then I go and look up YouTube videos. And I guess at some point I just have to decide for myself. Well, that's actually a kind of validating for me as well, because I kind of fall into the same category you're talking about. Whereas I think the YouTube videos, and obviously they're not all conference videos, but I think there is something to be said for this constraint that we have like with conference videos or with just generally accepted formats, maybe where we have a 30 to 60 minute tops exposition to a topic. Of course, you can't exhaustively cover anything that way, but it certainly forces you to kind of focus to where you can learn an awful lot by, you know, maybe sitting down for 20, 30 minutes with a video, 50 or 60 minutes with a video, and maybe kind of capturing a, you know, at least a pretty good coverage of a particular topic. So I find myself learning the same way. I just, I'm always looking for hacks and obviously you do excellent work and I, any chance I get to pick your brain on that, I'm going to take. So yeah. Well, I mean, kind of along that same vein, you know, with in terms of conference videos and whatnot. Last year at SpringOne Platform, you presented about mastering Spring Boots Actuator, which is a very important topic. You know, we're talking in terms of monitoring metrics and what have you. So how, if I could ask you a little bit of a different take on that, how is your thinking on that particular topic or related topics changed over the past year? Well, I think it's a topic that it doesn't really change that often. So the reason why we did that talk last year was because Spring Boot 2.0 released in, I think, March of 2018. So SpringOne Platform was one of the big Spring conferences after Spring Boot 2.0 was released. And a lot of the actuator infrastructure and the way you would write your own actuator endpoints was overhauled as part of the
12:20Spring Boot 2.0 release that went out. So everything that people knew about Spring Boot Actuator, well, I wouldn't say everything, but a lot of things that were hard to do in Spring Boot 1.5 with actuators and actuator endpoints, which we thought could be improved. We did that. We took that opportunity in 2.0 and we redid a lot of the actuator infrastructure, which is why a dedicated talk for just the Spring Boot actuators made sense because there was actually so much to talk about. It took up a whole hour. The other thing that I really am and even was excited about at that time was the actuator integration with Pivotal Cloud Foundry. So this has been around since Spring Boot 1.5, but with Spring Boot 2.0 it also supports WebFlux applications and Jersey applications along with Spring MVC applications. And I think I spent quite a bit of time integrating Pivotal Cloud Foundry's UAA authentication to work with Spring Boot's actuator endpoints. So once you were logged into Apps Manager, which is the UI for your apps on Pivotal Cloud Foundry, you wouldn't need to have any separate authentication or authorization for accessing your actuator endpoints. So that's something that was and still is very special to me, that integration, which is why I think we decided to include that in our talk last year. So I wouldn't say anything's changed. We have seen what's interesting is once we rewrote the actuator infrastructure, writing custom endpoints became much easier than it was in Spring Boot 1.5. So a lot of the new actuator endpoints that you see out of the box with Spring Boot, they're actually contributions from the community, which has been, which is kind of
14:21great because a lot of folks out there who use Spring Boot applications in production, they actually know what information they need in production from their applications probably more than we do. So they have some really good suggestions about what endpoints we can add out of the box. Yeah, that is, that's great, actually, because I love the whole community involvement story. I'm, I'm, I'm constantly seeing and saying how much the Spring ecosystem is driven by the community. So that's, that's really amazing to, to hear how much more is being contributed into Spring by the consumers of Spring, if you will, by developers who are using various Spring components on a daily basis. I find personally actuator is such a broad topic that I, I feel like the more I learn, the less ground I cover, which, which is a good thing, right? I mean, the, the capabilities are continually expanding and unfolding. So yeah, that makes a lot of sense. Along the same lines, you know, that was last year, but this year I see that you're down to speak about how to get productive with Spring Boot, which is also another topic that I don't think anyone could get enough of, quite frankly. Uh, but I guess just if I could peek inside your head, just, uh, again, one more time, how did you arrive at that topic? How did you, um, how did you decide that that that was something that you wanted to talk about? And obviously we all need it, but how, uh, how did you, how did you get from idea to, uh, to submission? I think, uh, just talking, uh, with a lot of folks from the community and seeing how they use Spring Boot probably over the years led to this idea. Uh, maybe some, it had something to do with the fact that I did the actuator talk last year with Andy. The actuators have some useful endpoints for debugging your application and getting useful diagnostic information about your application, which can lead to productivity in one way, right? Because it gives you like ease of access to the information that you
16:23would otherwise need to maybe hunt for and spend more time and I guess be less productive. So I thought of expanding that idea into, okay, so Spring Boot already gives you a lot of things out of the box and it makes you productive right from the get-go, I guess, because it takes an opinionated view and it cuts off most of the boilerplate that you would need with a Spring application. But how do you use Spring Boot in sort of an idiomatic way so that it makes you even more productive? How do you, once you've written your application, how do you debug it and how do you grow it and maintain it? Uh, there's things such as IDE support for configuration properties, there's slice tests for writing faster tests and helpful debugging tools. I think that all of these together, um, there's like little bits here and there that Spring Boot provides out of the box and all of them together contribute towards this increased and enhanced productivity experience for developers, which I think like being a developer, I think that's something that most developers like to be productive. So yeah, I think that's, I think it would be interesting. Oh, I'm sure of that. Actually, one of the things that I always feel like we don't really talk enough about, and this is me personally, so, you know, 100% on target, 100% out of line, but I, I've always felt that, that productivity is the biggest thing. Developer productivity, developer velocity is the biggest thing that Spring Boot brings to the table, uh, among several other benefits. I really think that, uh, you know, out of all the different things you could employ to get the job done, that Spring Boot really kind of gives developers superpowers. And then to take that a step further or several steps further with a talk like this on how to get productive with Spring Boot, how to really be productive by the folks who are creating and extending Spring Boot's capabilities
18:26on a daily basis is something that I personally am super, super pumped about. So, and, and darn it, I had another question in my mind and you, you kind of already covered it. Uh, so yeah, darn it. Uh, you know, I, I, I should have hidden that better, I guess, but, uh, but yeah, I, I guess, you know, that, that covers the, the essential parts, uh, of who you are, what you're going to be talking about, what you have talked about, where you're excited about the topics in general, which I think, uh, is, is something that again, I, I speak for the community and this, I think we're all really excited to come hear your talk, but if I could kind of go out a little bit at this point and just ask, what's your favorite thing about SpringOne Platform in general? Um, no pressure. No, I know. I, I really like going to SpringOne Platform. I think I've been going there since I've been on the Spring Team. I think I even went the year before I actually joined the Spring Team because, uh, I was working on Cloud Foundry and since it's SpringOne Platform now with a lot of the Cloud Foundry talks and things like that, it made sense. So I think what I really like is the fact that it's the one time in the year that the entire Spring Team is in one place at the same time. And it's really nice meeting everybody from the team and everybody from the community who's out there to learn about Spring. Um, I think it's a really great place where everybody can meet and just talk about all things Spring, learn about Spring. And it's not just a one way street, right? Where, uh, people from the community can ask us questions. It's also that we get to hear so much from folks from the community that there's actually a lot of issues that we worked on that stemmed from some, somebody's suggestion or idea that we heard at SpringOne Platform. So just those interactions and meetings make it quite special.
20:26Along those lines, wasn't Spring Boot something that actually came out of discussions at a particular SpringOne 2GX back in the day? Or am I remembering that wrong? No, I think you're right. I think the issue, um, I don't know the issue number, but it has the reference from SpringOne Platform and how it led to Spring Boot. And so it's actually an issue in Spring Framework, I guess, but it did lead to Spring Boot, yeah. Nice. It, I mean, it's, it's a very dynamic, um, cooperative, right? Absolutely. Well, and, and again, I think you, you kind of covered my last question or the one of the questions I wanted to kind of wrap up with, uh, but I'll, I'll just to see if you have anything more to add. Uh, why would someone consider coming to SpringOne Platform? Why should they attend? And you've already talked about the chance to, uh, get access with, uh, to the Spring Team and maybe, uh, run into some folks that might be kind of difficult to cross paths with on a daily basis if you're located in, uh, Miami or Boston or, or Detroit or wherever. But, uh, anything more you want to add before we kind of wrap up here? No, you said it, it's spot on. I mean, just getting to meet people that work on the Spring Team. Um, if you have anything you'd like to share with the Spring Team, it's a great, um, medium to do that. And the, the talks are pretty relevant to what, what's the latest and greatest going on in Spring and in the Cloud Foundry world. So I think overall, it's a, it's a great conference to attend. Wonderful. Well, I'm in closing then, if I could just ask, what would be the best way to reach out to you? You have a Twitter account, right? I know you do because I follow you, but, uh, uh, where can people follow you and keep up with, uh, what your latest, uh, thoughts are and announcements are? Um, so yeah, I think Twitter is the best place. I am, um, on Twitter. It's my, it's Madhura Bhave 23 is my GitHub is my Twitter handle and I am on GitHub as well. So if anybody has any bug reports
22:31or enhancements requests for Spring Boot, GitHub is the place to, I guess, raise an issue. The one thing I did want to mention, since we are talking about SpringOne platform is I would really like to meet the women who use Spring and who are attending SpringOne platform. And so if someone's out there who wants to meet me, I would really love to. So feel free to reach out to me on Twitter and we can definitely catch up at the conference. Absolutely. That sounds great. Well, thank you very much for your time. Uh, don't want to keep you away from the code too long, but, uh, really appreciate you pausing and just chatting with us today and see you and everyone else at SpringOne platform in Austin, Texas. Thanks Mark. Thank you very much, Madhura. Well, I hope you enjoyed that interview. I sure did. Hey, and as a bonus for listening this far, if you want to register for SpringOne platform, the wonderful conference we have coming up October 7th to 10th in my hometown, Austin, Texas, when you go to springoneplatform.io to register, you can use the code S1P200_mheckler. That's M-H-E-C-K-L-E-R. That's Mark's last name. You can find the discount code if you go to pivotal.io/podcast as well, and that'll get you $200 off the registration fee, price, winning admission, however you want to think about it. Well, uh, we've got several of these coming out. So if you enjoyed this one, you should check out the other ones and, uh, otherwise tune into the regular Pivotal Conversations each week or so, and we'll see you next time. Bye-bye.