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. Hello everyone and welcome to this episode of Women of SpringOne Platform 2019. And we're speaking now with Olga Machacek-Charma, who is a member of the Spring team. And Olga, welcome to this interview and this conversation. If you would, please introduce yourself to our listeners. Hello. Yes. So I'm a senior software engineer at the Spring Cloud team. And I've worked as a software engineer in this team for nearly a year and in general for around four years now. And before, I also worked in the testing industry and as a quality assurance engineer. If you could kind of explain to our audience, how did you get into tech to begin with? How did the story of Olga start? If we could. Okay. So that was sort of a coincidence, a very lucky one at that. But I quite randomly, at some point, I ended up testing games, console games mostly. And yeah,
2:05that was sort of a coincidence because I never even really played games before being offered that job. So that was really unexpected. But then as I started the job, I really liked it. However, I liked more the industry than the games. So I later went on to test operating systems and also popular office suites and things like that. And I realized I really liked the industry. I wanted to know more. I wanted to know how the things were created, how it all worked underneath. So I started studying computer science. And of course, as I studied, I gained more skills when it comes to software design, software architecture. I started doing more technical things. I led a project of tests of data warehouse. Then I also worked as a quality assurance engineer in some other software projects. And then as I learned more at the university and I started coding and I got more interested also in computer engineering and more so in distributed systems, I started working as a software engineer. And as my interest grew in the topic of distributed software, distributed systems, microservices, and I also was very interested in working in open source and I contributed to open source projects wherever I could. It was sort of an interesting possibility for me when I saw the advertisement job offer for the Spring Cloud team. And I jumped on that because that was something that I really, really wanted to do. So that's more or less how it started and what led me to the current situation.
4:08Well, I think I speak for all of us in saying we're really glad, I'm really glad, especially that you did. I've gotten to know you over the last several months, last years, and really grateful for that opportunity. With that kind of in mind, some of the things that brought you into tech, what do you love about coding, about your current position, about the stuff you're working on or anything? I really like seeing how we can make creating very complex systems easier. How we can, basically what Spring does, so removing all these repetitive things from software engineers and giving them tools so that they can build software easily. And I sort of got into software where people started splitting their monoliths and creating microservices and thinking how to end up with a system that is resilient. How to test this kind of system, how to make sure we don't have problems related to network latency, to our collaborating systems going down and so on. So I became very interested in this topic and this sort of led me to this team. And also I really like working in open source because you end up working with your end users. And there are a lot of ideas, there's a lot of discussions, there's a lot of creativity. And also this kind of work allows you to both have to spend some time in various things. So I would definitely spend a big part of my time coding and also fixing issues or adding some new features. But then we would spend some time as a team discussing new approaches and reading up on what is happening in this industry and trying to catch up on new trends. And then we would spend time interacting with our users, educating them on our projects and also getting inspired
6:13by what they're doing and collaborating with them. So I think what I really like about software is the possibility of building things. of just taking nothing and making a complex system out of it. That's the interesting thing for me. I think it's very creative and challenging and interesting in this way. It really is a creative discipline, isn't it? I think that's something that a lot of people who are outside of our field really don't understand, is that it takes a lot of engineering, it takes a lot of precision, but it also takes a lot of creativity to kind of bring all of that into being from nothingness. It is, but at the same time, what I like is that it's very specific. So there is no magic. When I first started working with software as a tester, it sort of all seemed like magic. And then as I studied computer science, I had this realization that there is no magic. That we sometimes can take weeks to understand why something is failing, but there is a reason and that's a beauty. So there is this junction of something that is creative, but at the same time, it is an engineering discipline. So it's very technical and there is sort of a certainty about what we are doing. And there is always a way to address an issue or improve something. And we are getting specific outcomes from what we do. Kind of a best of both worlds, or maybe I suppose if your perspective is the other way, it may be a worst of all worlds, but certainly, certainly never dull, never boring. Oh, never boring. Yeah, that's also a great thing that it's a, it's a discipline where you end up learning all the time. So you don't reach at a certain level of knowledge. And I guess all professions somehow have this notion, like if you are a doctor or a lawyer,
8:19you also need to educate yourself on the new and upcoming things. But in software engineering, the pace at which these new things come up is much greater. So it's more challenging, but at the same time, it's really fascinating and thrilling. And it also gives you a lot of possibilities to develop in different directions and learn in various disciplines within the software industry. Yeah. Now, as you're talking, as, as we're having this really cool conversation, actually, I hear a consistent thread, just as an, an observer, I hear quality, and I hear you, everything you do seems to revolve around creating a quality application, a quality system, building a quality API and interactions among components in that overarching system, which last year at SpringOne Platform, you presented about Spring Cloud Contract, which ties into that quite strongly, actually. So it's a very consistent theme, even over the, over time. How has your thinking changed on that in a year? Has it changed any at all? I wouldn't say my thinking has changed, but the project itself has evolved. So I guess all that we talked about last year is still true, but we have added quite a lot of things to Spring Cloud Contract. So I have added WebTest Client Support to allow people who want to work with WebFlux also use this for their project and also be able to leverage contracts. And then I have also added XML Support, which is, that was actually, I think the, one of the longest requested features. And we did, we really didn't want to edit. We were sort of thinking, okay, everybody will move on, nobody will use XML anymore very shortly.
10:26But yeah, that was not the case. And even though we think everyone should move, we also want to, I want to support these users that cannot. And so, so that's why I've, I've edited it. And then Martin has, Martin Dreishtag, he has done a lot of work around support for binary files and also fixing the support for YAML. So that you can now do everything that you could, before you could use Groovy DSL to write contracts. And then you could use YAML and a parity was introduced. So you could do practically the same with YAML as you could with Groovy files. And now just very recently this week, another colleague of ours team has merged Kotlin support for the Kotlin DSL. So yeah, the project, the premises of this project, our project are still the same, but we keep adding new features. We keep fixing bugs and it's definitely developing. And also we feel that there is a lot more interest. So we we've spoken at some SpringOne tours about contract. We spoke, for example, in Amsterdam about this, and we've got a really big amount of questions after our presentation. So for a lot of people, it's still a new project. At the same time, we get more and more customers and among them also users and among them people from really big tech companies asking us about this project and wanting to work with it. So we are very happy that it's sort of gaining momentum and developing and getting more interest. Yeah, no, I'm personally really excited about the expanded Kotlin support. And I know there are some folks who wax eloquently about XML and its virtues, even today, and probably will be in the next several years.
12:27I'm surprised there are that many people asking for YAML support, though. In some weird way, but I think it was more people asking not to not to have to have Groovy. And Martin and I, we were both very involved with the Groovy community for a long time. And we were happy to write this in Groovy, but we realized that it was not popular enough. And we wanted to provide a response that another technology that would do two things. So it would allow people to just write it in something else, but would also address the possibility of using contracts by people who are not in the JVM world at all. So we could imagine front-end people collaborating on contracts with the back-end team and the front-end team writing using code using different technologies such as JavaScript. And we decided that YAML would be something that everybody could use. Yeah, when you put it like that, it makes perfect sense. So I can't argue with that. I can't say that I like formats where Y spaces are syntactic elements. I most certainly do not. But yeah, I think that because of its popularity, it was worth adding that. And Martin has a lot of work to make it all work together. Yeah, it's funny something else you mentioned just kind of is tickling the back of my brain, too. Because so many times we assume, I mean, this is not a component. This is not an offering that is brand new. And yet, in some areas, it seems like this is many people's first exposure to Spring Cloud contract. So I've long marveled at the fact that, and it's not necessarily that certain communities are behind the curve or ahead of the curve. It's just that, for whatever reason, their path hasn't taken them on to a collision course
14:29with a particular technology that can help solve a burning need that they have. And then when they find it, maybe it's early on in the product life cycle, if you want to call it that, when it may be when Spring Cloud contract is brand new, it's just being talked about for the first time. And maybe it's two or three years down the road. But whenever that introduction occurs, it's something new, it's something fresh. And for those of us who may have been aware of it for a while, it seems like, wow, where have you been? Where has this been? And it's just kind of a happy confluence of events at that point. So, yeah, it's kind of cool to see people getting excited about something that maybe you've gotten very accustomed to. I mean, how do you feel about that when you get that first light coming on behind somebody's eyes, when you talk about that? Well, we are very happy that people want to know more. And they want to know more about the contract testing in general and the issues related to that. And of course, obviously, there are various tools that allow you to do that. So we are opinionated and we do think our tool is a good implementation of that pattern. But a lot of people are still not familiar with the pattern itself and then with the available tools. And we are definitely happy that there is interest that after we give a talk, we get a lot of questions that people are actively participating in our Gitter channel, in the GitHub accounts, and we do get a lot of questions, but we also do get a lot of contributions, a lot of issue reports, a lot of pull requests. So there is a vibrant community behind this project and that makes us very happy because it means that it is being used and it is useful. Yeah, and community is key. I mean, that's why we do what we do. That's where we really see the best efforts and the best parts of all of our jobs kind of come together is that amazing Spring community, which kind of actually brings me to my next question.
16:39You're speaking this year on how to live in a post-Spring Cloud Netflix world, which is another kind of cool thing, quite frankly, because Spring Cloud Netflix has been such a key cornerstone to so many people's microservices architecture evolution, right? Especially when dealing, obviously when dealing with Spring in terms of making that transition. So what can we expect from that? How did you come to that topic and what are some things you want to share about that or will be sharing about that? Yeah. So what happened was Netflix, basically, with Spring Cloud, we had some other projects, but a lot of what we did was providing good integration for Spring Boot apps developers to integrate with tools that were provided by other open source actors. So a very popular contributor to open source is Netflix, and they created various extremely popular libraries such as Zool, Ribbon, Hystrix, and then the Spring Cloud team provided seamless integrations to use it easily with Spring Boot based applications and systems. However, at some point, Netflix decided to move some of these projects into maintenance and then to also switch from versions of these projects that had the Spring Cloud integration to new versions of some of these projects that were not backwards compatible. So some of these projects moved to new versions and other were put into maintenance mode. The Spring Cloud team had to react to this and, well, we cannot provide support beyond the maintenance mode if the core library is in maintenance mode.
18:41So we also had to return to the community and let them know that we will now only maintain these projects. So we will fix bugs, but we will probably not add any new features. We might go over some peers, small peers that we get from the community, but that's about that. And the Spring Cloud team had to provide their replacements for these projects so that the users can stop using those projects can stop using those projects and at the same time maintain the functionality or even have a better experience with the functionality. So the Spring Cloud team provided Spring Cloud Gateway. We are working a colleague of mine, Ryan Baxter, and also with Spencer Gibb. They're working on the circuit breaker implementation. That is an obstruction also allows to use various circuit breakers, not only hysterics. And then there has been some works regarding the load balancer. So a new reactive load balancer was provided. And then changes of this sort. So what I wanted to do in this presentation was to show people how you can take that old stack that was so popular and move it to the new one, maintaining the same applications, the same code and the same functionality. How to change these integration pieces. So I am really happy that we managed to prepare that presentation because as we did that, we also were able to see where this transition already was seamless and where some more work was required. And that, for example, made me start working on some improvements to our load balancer integration because we did have our own load balancer. But what we didn't have was a client and also we didn't have a non-reactive client.
20:41So that's something I have worked on this month and the previous month, and that was already merged. And now also as part of the Hoxton release train, I will be working on removing ribbon and removing this Netflix maintenance more projects from our libraries. So basically we wanted to make this presentation to show people how they can easily transition to new tools and maintain the same functionality or even have a better experience. And it also allowed us to find some loopholes and address them. And you bring up some good points. And one thing that always kind of fascinated me is that obviously Netflix did an amazing job with creating software and sharing it with the community, but they also had their own design goals, their own requirements that they had to meet. And there were many times that there were just customers and community members who felt that they had absolute hard and fast requirements, knew they had absolute hard and fast requirements in their particular domain that weren't being fully addressed with some of the Netflix offerings. First in mind is Zool and the direction that Netflix ended up taking with Zool and that kind of prompted us to maybe look at Gateway in terms of, hey, we can meet some of those requirements that are actually really valid requirements that maybe Netflix isn't under any pressing demand to meet with Zool. And, of course, Ribbon, same thing versus our load balancer that we're actually evolving things into. We're trying to, in many ways, meet requirements that were left unfulfilled with the Netflix offering before, even before things were kind of put into maintenance mode or took a different direction. So that's something that I'm personally really excited about, and I'm excited to see you expanding on that and solving some of those real customer and community problems that have surfaced.
22:43Absolutely. And also the input of Netflix and the impact they had on the industry was very big. And the tools, the Rotary, they were big changers, game changers in time when they were published. However, I think Netflix sort of wanted to switch more to concentrating on their own business concern. It's a huge company and we can see because they also publicly published different blog posts about that, that they decided to go with Spring for various and Spring Boot and Spring Cloud for various areas and that they covered on their own before. So they collaborate with us and we are very grateful for their inputs and suggestions. Yeah, we were really happy that such a huge company like Netflix decided to switch to a lot of Spring, Spring Boot, Spring Cloud tools and published a blog about this. Yeah, much respect and much admiration for Netflix and all they've done to help transform the industry and are still doing as we work with them and hopefully provide a very key part of that as well. So we're coming up on Spring, which is my favorite time of Spring, which is my favorite time of the year, as you might imagine. But what is your personal favorite thing about Spring Boot platform, Olga, if I could ask? Sure. So it's an awesome conference and there's a lot of knowledge and there's a lot of great talks, but for me personally, what I like most is the possibility to meet a lot of people face to face. So to meet and discuss with and see what our users are doing and to talk to our customers and this is something that's really invaluable. We do a lot of meetings during Spring Boot platform, so we don't only present, we also meet with a lot of customers and we meet with a lot of users and we talk to them and they give us a lot of insights about the projects and it's really extremely valuable.
24:56And the second part is that the Spring team is fully remote, so we do not meet that often and it's a great opportunity for us all to meet. And work together as well. Yeah, we don't often get a chance to see everyone in the same spot. In fact, this is the big event and obviously you still have certain folks who have things come up or that they can't be there for one reason or another, but this is kind of the gathering point every year for all of this Spring team to get together and interact among ourselves and among the greater community, which is, I think it's just a win all the way around. Everybody gets to exchange ideas and direction and kind of find out if there are things that no one person or one team can ever think of everything. So the more we all share knowledge, the smarter we all get and the better we can provide capabilities to the greater community that solve real pressing needs in better ways. Yes, that's true. Yes, that's true. And it's, it's really very valuable to be able to meet different team members and also talk to people from various teams within Spring and see what new ideas they have, what topics they are interested in currently to discuss different projects and the possibilities of collaboration. And also for us as a spring cloud team, it's a time where we can meet and work on some things together. So we have our face to face meetings, but they don't happen that often. And so that's another opportunity for us to do that. And actually last year when I joined the spring cloud teams, SpringOne platform was happening during my first week on the job. So I was extremely fortunate to be able to meet everyone in person before starting to work with them.
26:58Wow, that is excellent, excellent timing. When I joined Pivotal four years ago, almost four years ago, SpringOne at the time, SpringOne 2GX was just before I signed on. And my new boss at the time was kind enough to extend me the offer to attend SpringOne prior to because he said it would be a huge missed opportunity to join Pivotal right after SpringOne. And I couldn't be more grateful for that. So I completely understand how valuable that is when you're coming into a new role to have that, that introduction to people as well as kind of the topics of first priority so you can hit the ground running. That's awesome. So in addition to that, if someone is sitting on the fence out there, if they're wondering, should I come to SpringOne platform, should I not? What would you say to someone who's not yet gotten their ticket, not yet decided and committed to come to SpringOne platform? Any advice, any suggestions? It's absolutely a very great place to be if you are working with spring, if you're working both with spring open source and with Pivotal products, because that's where all the new features are being announced and that's also sort of a deadline. So all the teams are trying to publish their newest features and important changes and be able to present them there. So a lot of new stuff will be discussed there and shown and tools that were not previously available. So that's a great place to learn about it, but also that's a really unique opportunity to interact with our teams and I think it's also great for, it's great both for us and for the users because the users can voice their concerns or their ideas. Yes, and of course, if you discuss something face to face, it might be easier to delve into some topics than just by an online discussion and it's definitely great for us because we get a lot of input.
29:01So it's a place that is really, and even that is really vibrant, there's a lot of new things being demoed and discussed and shown. So it's sort of on the edge of what we are doing now and it's absolutely a great place to be. Well, and you kind of hit on one of my favorite reasons to attend, but let me just call it out. You get to meet with the spring team and particularly if you want to come meet Olga Machasek Sharma, this is your perfect opportunity. Olga, in the interim, I know people will want to come speak with you and see you and shake your hand and just pick your brain on things. But in the interim, how can they follow you on Twitter? How can they catch up with you now and maybe make some of those plans for SpringOne? Yeah, absolutely. So my Twitter handle is Olga underscore Machasek, M-A-C-I-A-S-E-K, but you can also find me on GitHub and on our GitHub channel and feel free to discuss projects and issues and features. I'm always happy to know what users are thinking and to be able to get their insights and their experience. Well, with that, thank you very much for your time and for taking the time out of your schedule to chat with us. And we look forward to seeing you at SpringOne. Thank you very much. See you there. 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 SpringOne platform. When you go to SpringOne platform.io to register, you can use the code S1P200 underscore M Heckler. 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 slash podcast as well.
31:04And that'll get you $200 off the registration fee, price, winning admission, however you want to think about it. Well, we've got several of these coming out. So if you enjoyed this one, you should check out the other ones. And otherwise, tune into the regular Pivotal Conversations each week or so. and we'll see you next time. Bye-bye.