Karl Cardenas – Why Your Organization Should Embrace The Community Model!
The benefits of DevOps come with a steep learning curve. At State Farm, we believe that in order to successfully transform and create a DevOps culture, we have to embrace the community model—the promotion of (and reliance on) knowledge sharing for both failures and successes, so that teams may learn from the past in order to succeed at scale.
The community model prevents unnecessary waste, enables architecture and code reuse, and allows teams to share best practices. It also enables cultural change. In this presentation we will articulate the community model, share our lessons learned with three years experience operating within it, and explain why and how other organizations should embrace it.
Transcript
Transformation doesn't happen in one place or on one team, especially in large companies, but you don't want people making the same mistakes again and again. In our next session, Karl Cardenas will show us how State Farm built a program to encourage knowledge sharing across the company and ease the transition into best practices. Let's see how they did it.
Why should your organization embrace the community model? Well, for us at State Farm, it actually has a lot to do with common themes and challenges. We were we were seeing on a daily basis, if you take the first statement here on the screen, we all want a knowledgeable workforce that is able to consume new technologies.
All of us want to provide great customer service, whether it be internal customers or external customers. We all want a motivated workforce that is able to learn new technologies and share those lessons learned willingly. We always hear about people wanting more opportunities and the ability to develop.
And then my favorite is, do you work on backlog items or do you try to tackle new issues? And it doesn't end there. Most of us are in a small team dealing with a much larger consumer base.
Specifically, if you're like in the platform enablement team, you're always a strong demand for technical questions. There's a lot of upscaling and technical education needed for a lot of workforces such as DevOps and cloud native principles. So overall, there's just a big need for shared knowledge and lessons learned across the scale.
Well, like everyone else, State Farm is also encountering these challenges. But we're taking a different approach. We're leveraging the community model.
So today I want to talk about the community model and share with you how it's helping us tackling these issues and how it could help you. So my name is Karl Cardenas. I'm an architecture manager for State Farm.
I'm responsible for public cloud architecture, but also our developer evangelist's activities for our public cloud platforms. Look a little bit information about State Farm. We're one of the largest insurance companies in the US.
We've been the number auto insurance since 1942, and we have over 84 million policies in effect in the US. Now, I bring these numbers up not to boast or to showcase, but really to drive two points. One is that the competition is fierce and they would love for me to not be able to make the first statement.
The second one is scale. The scale is something that we're always dealing with here at State Farm. It's a very common challenge, not only in terms of technical infrastructure, but also when it comes to workforce and scaling knowledge across the board.
So traditionally, State Farm, we always maintain our own private data centers. Up until three years ago, we start exploring public cloud and that got us involved with DevOps and cloud native principles. So we have a platform enablement team, that's the team that I'm on.
So we laid down the core infrastructure for our platform consumers, which are developers, engineers. They are the ones that leverage a public cloud platform to create solutions for our customers. So today, when I use the term customers, I'm mainly talking about our internal customers, such as our developers, engineers.
That's really who I'm talking about. So the platform enablement team, we have a few functions. But one of them ones that I'm going to talk about today is our community experience team, which is where our developer evangelists are on.
So you heard me mention the community model, but what does that really mean? So I want to take a moment just to read our definition of it; the promotion of and reliance on knowledge sharing for both failures and successes so the teams may learn from the past in order to succeed at scale in technical endeavors. So what does that really mean?
Well, it's just a fancy way of saying that we believe that we're an organization of our size. In order to be successful in public cloud, we believe we have to work with one another, shared the good share the bad. And we want our developers and engineers and leaders to rely on the community, but also to contribute back.
So I find that easy when explaining the community model to really break it down into four high level domains customer service, education, growth and opportunity. And as I explained, each one of these, you're going to realize that they all kind of overlap and work together, which is great because they help reinforce one another. So let's talk about the first one customer service.
Most teams are often set up in what I called the one to many model, meaning that your team either enables a capability and people come to you for solutions or questions. We see that quite a bit. An infrastructure platform enablement teams such as the one that my team is responsible for their challenges with this oftentimes bottlenecks because this is not a scalable model.
So we have a lot of people are coming to you for questions. Chances are you can't get to all the questions at the right time. Maybe you don't even know the answer to them.
We see that a lot in public cloud because there's so many services provided by cloud providers. So very early on in our journey, we realized that we couldn't really sustain this model. So what we did is that we transitioned to a many to many model.
And that's one of the benefits you get with the community model. And the way we did that is that we're leveraging a synchronous communication channel such as Rocketship. It's an open source solution.
But by creating that channel, we now have the ability for people to come and ask us questions and we can answer them. But other people at the same time can see the answers and you can see how we're helping them. And what's amazing is that throughout time we have other people now answering questions, a lot of questions that we don't necessarily have the answers to, but it just improves the customer service experience overall because they get faster problem resolution and it helps scale up knowledge as well.
Something else that we're also doing is that we believe in feedback from our consumers. So we have something called cloud paints and it's nothing more than a GitLab issue. But our platform consumers can enable can open up a GitLab issue and address a pain point.
So what we'll do as a team is that we'll review that pain point and discuss it. How should we tackle it? We backlogging do we prioritize it?
This is something we can work on right now. And I will comment back and engage with discussion with our community. But it's just a good way for us to stay transparent and for our platform consumers to let us know what is painful, but also helps that direction for platform.
And that really helps them feel like they have a voice in the game or in the platform. And that always enhances customer service experience. Let's talk about education and growth, I grouped these two together because they really go hand in hand.
So on the screen I have three cogs, technical and non-technical. T. professionals.
And growing our technical, non technical skills helped grow our confidence. And when we're confident we're able to solve challenges, we're able to learn new technologies and discover all our chance of success just increases tremendously. So we hosted several community events to help develop these three.
Cogs, I'm going to start with my favorite one, the Public Cloud Study Group. This is a volunteer based group that started about three years ago where people met up to study for a cloud provider exam. And what they would do is that it would meet twice a month.
And between them, someone would pick a topic that related to the exam, maybe such as serverless or container's given from that cloud provider and who presented to the group. And that forced them to learn the topic, but also help share the knowledge across. And what's amazing about this study group, which started about what five handful of individuals has scaled out to over a thousand members today and has really allowed us to scale up cloud knowledge across our workforce without us mandating that anyone needs to get a certification.
So the Public Cloud Study Group helps people develop technical skills, non-technical skills such as presentations, and it just helps people be more confident in learning public cloud skills. Something else that we do have is the public cloud guild. So this is a technical forum where we actually focus on presenting technical solutions and materials, usually two hundred level and above, if you want to compare it to college courses in terms of difficulty.
But it's just a great avenue for our engineers and developers to present on how they solve problems and what they did to overcome them and share lessons learned or failures across the board so that people can learn from it. So that helps build their technical skills, presentation skills. We see a lot of relationship building come out of it, but also leadership by taking the courage to present to others.
Another thing that we do is called public cloud community challenges. This is a monthly challenge. I usually come to flavor of technical or non-technical, and we use these to get our people excited about learning new things, but also to highlight some of their achievements when they learn something and do something cool.
So that also helps develop their technical skills, depending on if it's a technical challenge, but also a non-technical when we make them search for scavenger hunt for, say, or public cloud quizzes and so forth. But we see technical writing, we see relationship building and we see other other good traits get developed with our monthly challenges. We also have something called community champions, and that's for people that we've seen time and time again go above and beyond for our community members helping one another out.
And it's not just for like a month or two. It's something that we've seen for an extended period of time. So when we see these individuals that are really going above and beyond for our community, we we give them a lot of community champion.
And that's just a good way for us to recognize the leadership skills, the confidence that they have in himself, but also the good traits of helping others. So those are just some of the few ways that we're focusing on education and growth. But that takes us into opportunities, it really all started with the local challenges you experienced when you get started on public cloud environments, it's so much different than what organizations have done in the past.
There really starts out with the local challenges. You first got to develop the technical skills and the non-technical skills to solve those challenges. And usually when you saw them, you tend to get confidence.
So what we do with the community events is that it's essentially a platform for people to showcase how they solve those challenges and also for them to get some attention and for others to see the great work that they do. Eventually, we see that as people solve more challenges and share with the community that they become community leaders, such as the community champions that I mentioned earlier and was actually really amazing is that the community champions that we have, we seen them go do bigger and better things. We've seen them go into formal leadership.
We've seen them go into technical leadership. And that's really not surprising because a lot of the positive traits that we want in our leaders, they were already splaying in the community when there was when it was all volunteer based. So it's no surprise for us to see our community champions grow and do bigger, better things.
But it's just a good way that the community model can help get people to positive attention, help them and further your career. So that's the community model at a high level. But I want to talk about how we got to where we are today.
We're just getting started on our third year using the community to kind of want to walk it through our journey. So in the first year, it really started with the synchronous communication channel using Rocketship. And again, at first it was really just our team who's less than four analysts, just answering question.
But throughout time, a lot of other people started helping. Out to the point now today that oftentimes it's not my team answering the question as other people in the community answering them. And that's great, because like I mentioned earlier, that helps improve the customer service.
But the reality is that when you are supporting a public cloud platform or several of them, there are just so many services to know about. And our small team don't necessarily have that expertise, but other the community do. So it's been really beneficial for us and to them to have each other help each other out.
Something else we created the first year was a cookbook. So this is like a technical cookbook wiki where we share our knowledge. And the first one created was a cookbook related to infrastructure as code.
It's leveraging a GitLab page with a static site framework and anyone can contribute to it. Originally, it was just us sharing tips on how to infrastructures code, how to get started. And today we see people contribute to it.
And it's nice to see the community contribute back to the content as they get more confidence and grow their skills. We also started. Aggregating a lot of the community resources that other have developed.
So here you have a picture of a GitLab group that we have aggregated a lot of our community resources. And you see stuff like Docker images, Lambda layer's, community tools, you name it. So it's just a good place for us to help give back to the community, but also for others to find content that others have created.
We also kicked off this program called Builder of the Month, and that's just a way of recognizing someone that just went above and beyond that month. So what we'll do is that we'll send a thank you note to that person's leadership. We'll put him on blast.
And all of our internal channels are going to know who the builder of the month is. And we'll give them a small, small monetary award. But the point is to reinforce the positive behavior and highlight those people that are doing the right things and helping the community out.
And then, of course, the study group, the study group has been an amazing story for us here at State Farm. Without it, we wouldn't we wouldn't have been able to scale up cloud knowledge as fast as we have. And that's very powerful because our leadership never made a mandate.
You have to get certifications. People been doing this on their own and they've been motivating one another. And that's the power of community you're able to motivate at scale.
So here you have some of the stickers that we created for the study group. People love stickers, so. Let's jump into our second year, our second year, where things really started to change.
That's when we stood up a community, experienced team. This team is reports to me and this is where we have dedicated developer evangelists. I have two of them on the team.
And their main focus is to strengthen the community, come up with events. Think of ways to help them create feet, gather feedback, create content to help them out. Would it be technical solutions or non-technical?
And because of them, we have a lot more community events, but our community has also gotten stronger. So on this slide, I am just going to talk about some of the few events that came out of the second year once we stood up that team. But there are far more.
So community champions, what I mentioned earlier, that's something that we kicked off because of the community experience team. We were able to identify those long term contributors and champions of everyone in the community. We also kicked up something called Public Cloud Summit.
So State Farm, we have four main geographical locations. We are located in Dallas, Atlanta, Phoenix and Bloomington, Illinois. So what we'll do at these summits is that we'll focus on one of the geographical locations and it's sort of like a mini internal conference.
So we'll spend two days there and we'll create various presentations of tracks and our platform. Consumers will also present share tips and tricks, but it serves two purposes. One, it lets us build a greater report with our platform consumers, but it also enables relationship building between the product teams, State Farm, where very large organizations, the chances are of everyone knowing one another is sometimes very slim.
But with these community events, not only are people learning, but they also get the opportunity to interact with other product teams and build relationships. So it's just a good way for us to strengthen the community community challenges. These are monthly challenges that I mentioned.
We use these to help our community. So what I have here on the screen is an open source project that one of our engineers created and it solved one of the common pain points. We heard from our community that keeping up with all of the announcements that our cloud providers are announcing on a regular basis can be overwhelming.
So what this solution does is that it aggregates the past announcements in the past 24 hours and injects it into our rocket chat channel. But it integrates with other popular synchronous channels and email and whatnot. So if you get anything out of this presentation, go check out That project is pretty neat, and I have no doubt it will help many of you out there with the same pain point.
Something else that came out of our community challenges was then was a Life-cycle decision calculator for storage buckets, and that's just a handy tool for help. People understand what is the cost related to a bucket based on object size, the number of objects and the implication of different lifecycle policies. Again, it's just another tool that a community has created for one another because of the community challenges.
I'll talk a little bit more about the community challenges, but it's just a really neat way for us to get the community excited and help itself back. Cloud paints. I mentioned that earlier.
That's our way of collecting feedback from a platform consumers. And it goes a long way in improving the customer service experience and a public cloud guilt. Again, we have a healthy backlog when it comes to the guild, and that's really exciting because we see some of the greatest content come out of there, such as how do you do local testing when you're interacting with cloud services?
How do you do mocking? What's the best way to set serverless? All these different things are coming out of the guild and here you can see the GitLab label for that we use for people to sign up or open up a cloud ping.
So I want to take a moment and talk about the public cloud CLI, and I think this example will help reinforce the power of the community. So we got a cloud pain. My team, the platform enablement team, we've got a cloud of pain from our community saying that, hey, getting all these tools installed for public cloud environments is a challenge.
I have to install the CLI. You have to install this. And it's a challenge whether I'm on Windows or a Mac, can you guys help make it easier?
So we took that challenge and we started discussing it at the team and we faced the typical question will do. We worked on this right now or do we backlog it? And then we ask ourselves, what if we why don't we have the community try to solve it?
So that's what we did. We opened up a community challenge and we asked the community, hey, can you guys come up with a solution? And the community responded and we had a few submissions.
And the winning submission was what we call the public cloud CLI. And this is a goal, CLI, that is able to pull down the most commonly used public cloud provider tools that we need here at State Farm. And just a single command and install sit on your workstation.
It pulls down the latest version. All you can do is you is issue one command. It's simplified and remove that pain point and the community loved it.
But that's not where the story ends. The community keeps investing in it, and time again, we see the community adding new bells and whistles to it. That open source project I mentioned earlier that our engineer created to pull down the latest public cloud news.
0. What I'm trying to get out of this story is that we didn't have the bandwidth or the time to address the pain point, but our community did. We simply gave the community an opportunity to solve their own pain point, and they did.
And that's the power of having community. They can truly help you out. So just remember, you don't always have to do it on your own.
If you take care of the community, the community will take care of you. So in our journey of creating a community, we learned a few things here and there, if I start with the first one having a community, it's probably the best decision you can made. Having someone dedicated to take care of your community and give the care and attention and create multiple events will help strengthen your community.
Something to keep in mind. As your community grows and you create more events, your developer, evangelists or advocates will have a need to have someone help them with creating events and coordinating, such as a community manager. And the reason is because that start taking up a lot of time and takes away from their time focusing on creating content or job or gathering feedback.
So just keep that in mind. The community challenges. We have amazing success.
And I think the case study with the public cloud really showcased the power of the community challenges. Something that we noticed, though, is that we see less participation when we host technical challenges versus non-technical. So right now we are revisiting community challenges because we want to try to increase participation across the board.
So we're getting ready to release version two of community challenges. Study Group has been an amazing success story, and we've been able to scale our public cloud knowledge across the board very rapidly because people have been motivated and wanting to do it on their own. But something to keep in mind, if you create something like a study group and it scales out to the point of past five hundred, you're going to need someone to help keep it up, sustain it, coordinate events and schedule presentations.
So same as the community experience team, you will see the need as you scale up the public cloud. This is a technical forum where people can present highly technical topics and show everyone how they solve pain points or design and architecture. This has been awesome.
My only wish and recommendation for you is to get something like this started way sooner. Leadership, this one is important. We won't be able to do everything that we're doing today if it really wasn't for our support of our leadership.
And we've been fortunate here, State Farm, that our highest level of organization leadership has supported us. And that takes leadership courage to try something different because what we're doing is not always that common. But I want to borrow another term from a term that my colleague usually says, and that's leadership stamina.
And that's actually being able to stick through a decision that you don't necessarily know if it's going to pan out like the community we're going through a third year. But when we started, we didn't know if this is going to work. So just to keep in mind, though, although you have leadership support, it's difficult to calculate the ROI of a community success stories like the public cloud CLI, they really help explain and articulate the power of a community.
But if you have leadership that's always looking for metrics, just understand that you're going to have some education on your hand to provide them because it's difficult to gather metrics for communities. So let's talk about some takeaways. My intention today is to not make it look like creating a community is easy, that is the last thing I want you to think.
It's actually a lot of hard work. It's taken us three years to even get to the point where we are today. And I still don't think we're done yet.
We're always investing in it. And I like to compare it, compare our community to a young tree growing. It's it's fragile, but it has the potential to blossom into a powerful tree.
So your community needs a lot of care and attention. And at the beginning, it's going to be tough. A lot of times you're going to be the only one doing it.
And you might even doubt yourself and ask, is this really worth it? But I promise you, stick it through, keep the long term perspective in mind because it is a long term game and you will see that some of the results are amazing. So explaining explain the community model I mentioned earlier that it's easy to highlight it into four major domains customer service, education, growth and opportunity.
And the three concepts. They all overlap and support one another. It's difficult to just emphasize on one.
So if we go back to our problem statements at the beginning, we're all looking for a knowledgeable workforce's skills, skills across and knowledge across across the board, how do you do that? Well, we're doing that with the study group and we're doing that with a public cloud guild and we're doing it with community challenges, just to mention a few. Customer service, how do you improve customer service for your internal customers, potentially externals?
Well, we went from a one to many model to a many to many model. We started using cloud panes to gather feedback and understand what are your pain points. And we also use community challenges to solve a lot of those pain points.
What about motivated workforce? We're all looking for a motivated workforce that wants to learn and share knowledge across the board. Well, we give people a platform, that's what the community events are for that are there to help people share their message and recognize and encourage that behavior.
But it also helps those individuals build a personal brand and helps them potentially get to the next layer or level in their career to give people a platform to share out their good stuff. And people will take advantage of it. Our employees are always looking for opportunities to grow and develop.
Well, that's what every community event is intended for, to give them that opportunity to develop, whether it's technical or not technical, but also help further their own self-confidence, because a lot of times getting started on these public cloud environments can be intimidating. So having a community help you and support you goes a long way. My favorite.
Do you work on backlog or do you work on new features? Why not both? That's what we try to do with the community challenges.
You saw what we did with the public cloud CLI and that's been super powerful. So the theme of today is You BelongHere. And that's what we're trying to do with the community model.
We're trying to get our community to feel that they have ownership and a platform and that we truly value that feedback because we do. We have essentially just internalized the open source model and just added some bells and whistles. What's awesome about the community model is that it doesn't conflict with DevOps practices or the product model.
If anything, it supports it and emphasizes it because the teams that are successful in public cloud environments are the ones that embraces DevOps and those cloud native principles. And it just helps set a good example across the across the workforce. We've seen great results with the community model and we believe that it can help a lot of organizations as much as it helped us.
So I'll leave you with this question, seeing how fast technology is evolving, all the new things you need to learn and how fierce the competition is, can you afford to not leverage the community model and all of its benefits? Thank you.