The Importance of DevOps Community with Johannes Koch from FICO | 🎙️#44

Podcast promotional graphic for "DevOps Accents Episode 44" discussing "The Importance of DevOps Community" with Johannes Koch, featuring an illustrated profile of a smiling man in a business casual attire on an orange background. Podcast promotional graphic for "DevOps Accents Episode 44" discussing "The Importance of DevOps Community" with Johannes Koch, featuring an illustrated profile of a smiling man in a business casual attire on an orange background.

Can the community influence the evolution of cloud technologies? What is its impact on personal and professional growth? Do we underestimate the value of networking and knowledge sharing? Johannes Koch, Senior Engineer at FICO and AWS DevTools Hero, joins Pablo, Leo and Kirill for this episode of DevOps Accents.

  • AWS Heroes Program;
  • Community work vs. Corporate work;
  • The role of the community for juniors and for seniors;
  • What is the relationship between big tech companies and influential seniors?
  • Custom blueprints in CodeCatalyst;
  • Avoiding GenAI hype.

You can listen to episode 44 of DevOps Accents on Spotify, or right now:


The AWS Heroes Program is a prestigious, invitation-only initiative that recognizes exceptional community leaders who are passionate about sharing their AWS knowledge with others. Johannes Koch, a senior engineer at FICO and an AWS DevTools Hero, shared his experience of becoming part of this program and the value it brings. Unlike other programs, AWS Heroes are not told why they are selected, but what unites them is a desire to help the community grow, share knowledge, and mentor others. The Heroes Program does not just focus on the technical side; it’s about giving back to the community, fostering collaboration, and helping others advance in their careers.


What is important is that community is what makes this thing grow, and working together in collaboration. And this can be in a hundred different kinds of formats. It can be by creating content, giving feedback, running user groups, organizing community days, or just talking to people and bringing them together, right? Or by mentoring others and helping them grow their own careers. For me, for the AWS Heroes Program, which is an invite-only program—you cannot apply for it. And essentially, no one tells you why you are now part of the program. You get information somewhere asking you, 'Hey, do you want to join the Heroes Program? This is what comes with it.' And you don't get to know why you're part of that. Let's say I'm very lucky and I'm honored that I'm part of the program, but I can't say that it's because I'm a cute person or because I like to talk a lot. I don't know. But I think what unites a lot of the heroes that I personally work with is the interest in helping the community, growing the community, and making others also grow in their own careers, which can be through knowledge sharing or, as I said, through mentoring. And I think the heroes that I work with closely, they also unite in that they don't want to get a benefit out of it. So it's not like I want to get a like or a mention because I share content. It's more that I really want to help people. And that's what I do on my YouTube channel at the end as well. I bring people together who share their knowledge with me and with the audience. And not for me to get 500 million visitors, right? But more to make sure that the small Kirill, the small Pablo who is interested in a specific topic gets a session that he or she can listen to, right? And get something out of it, which will save you maybe potentially two hours of work because someone has made that same mistake already. And that's, I think, what unites a lot of the heroes that share their content, share their experiences, and make sure that others don't make the same mistakes they have been making. — Johannes Koch


Balancing Community Work and Corporate Responsibilities

Johannes described his journey from corporate roles to community engagement. He emphasized the distinction between his professional work at FICO and his community contributions. For him, community work is about personal passion—sharing experiences, knowledge, and helping others without expecting anything in return. In contrast, corporate work is often about fulfilling job responsibilities and contributing to the business’s bottom line. He believes that both roles have influenced each other, with his community involvement enriching his corporate role by broadening his network and keeping him updated with industry trends.


There was a time when these two personalities existed beside each other, and they were not talking to each other at all. This means in the community work, I was doing stuff that I was not doing at work because of certain reasons. I was strictly dividing that. In the past few months, since I've changed my role in the organization, I can see more and more benefit coming from the community. Johannes to the corporate Johannes, because I can see that stuff I learned through my community work is helping me in my day job. And the connections or network that I created through the community work are helping me in my day job as well. Because I have experts to ask questions to, because I'm learning new things in my new role. So at the moment, I would say the organization Johannes benefits more from the community work than the community Johannes benefits from the organization work. And that might change again, right? Who knows? — Johannes Koch


The Role of the Community for Juniors and Seniors

For juniors, joining a community can be a game-changer. It provides exposure to real-world problems, access to mentors, and opportunities to learn about different career paths and technologies that aren't covered in formal education. Johannes and the hosts discussed how communities can help juniors navigate their careers, find jobs, and build connections that are invaluable for their professional development.

For seniors, the community is equally important but in a different way. As a senior, Johannes mentioned, it’s easy to think you know everything. However, being involved in a community can offer new perspectives, help solve complex problems, and allow seniors to give back by mentoring the next generation of engineers. It also keeps them updated with the latest trends and technologies, which is crucial in the rapidly evolving tech landscape.


Community can mean multiple things, right? If you start getting into the community, it can be just reading, reposting, or commenting on blog posts or activities on social media. We don't need to be doing much more. You could also just participate in open-source projects by creating stories or issues there, right? Not even actively contributing, but that also creates a sense of belonging to that part of the community that you're getting involved with. Not everyone is as vocal as I am. So, you don't need to be a speaker. You don't need to be a content creator to be part of the community. You can also just have one-on-one conversations. How can it help you? For me, it's very simple. I've built in my head, and I have some notes about who is an expert on which topics. AWS has over 250 services. You cannot be an expert in all services, but you get to know through the community people who are experts in certain topics. And those are the ones that you can then ask if you have something that you're really struggling with. — Johannes Koch


Big Tech Companies and Influential Seniors: A Symbiotic Relationship

The relationship between big tech companies like AWS and influential community members like Johannes is mutually beneficial. Companies gain valuable feedback and insights from these experts, which can influence the development of new features and services. Johannes shared how his involvement as an AWS Hero allowed him to provide direct feedback on AWS services, influencing their roadmap and feature set. This feedback loop is essential for companies to improve their offerings and ensure they meet the needs of their users.


No one tells you what to do, and you only get involved with the stuff that you're interested in. As an example, with Queue, I spent like half an hour telling them that it's not working, but it was still cool to know about what's coming. And I gave that feedback, but that's because I was interested myself in it. And I can also take some benefit out of it for myself. Another example is my involvement in CodeCatalyst, right? I really think that service is something that would help a lot if it would change in some things, right? So all of the stuff that I work on with CodeCatalyst is due to my own interest in it, my own dedication. It's not like I do this for AWS. I do this because I see a value for myself as an engineer to get things like this working together better. Right. And that's also true for all of the other involvements that I have. So, I don't let anyone from AWS tell me, 'Johannes, can you please do this? Johannes, can you please write about this? Or Johannes, can you do something?' No. The moment someone from AWS tries to influence me or tries to tell me what to write, I take an email, I send it to my program manager, and then tell them this person has tried to influence me and tell me what to do, can you please talk to him or her, right? Because that shouldn't happen. That's not what the hero program is for. And it happened to me twice this year already, right? And that person got reprimanded each time. — Johannes Koch


Custom Blueprints in CodeCatalyst

One of the technical topics discussed was the use of custom blueprints in AWS CodeCatalyst. Johannes highlighted the importance of custom blueprints for project scaffolding and lifecycle management. These blueprints allow teams to standardize project setups and maintain consistency across multiple projects. This is especially useful in large organizations or for consulting companies that manage numerous projects with similar configurations. By centralizing the management of dependencies and project standards, custom blueprints can significantly streamline development workflows and reduce overhead.


It’s a specific component of the Amazon CodeCatalyst service. Amazon CodeCatalyst is an integrated DevTools service meant to cover all parts of your product lifecycle. But last year, or the year before last, AWS announced the possibility to do custom blueprints within CodeCatalyst, and these days, I think you can also use the custom blueprints without being in CodeCatalyst. Why do I think custom blueprints are important and what can we understand from them? What I see regularly in my org, but also when talking to the community, is that it is hard to find a good project scaffolding tool that helps you set up projects with the same standards, and then to also maintain them and keep them up to date. And I think the main point here is, if you start a new project, what do you usually do? Either you have a scaffolder that creates a simple project for you. If you start a new TypeScript Lambda function, you might be using CDK; then you might be doing 'CDK init' and create a project with that. That gives you a good starting point. But you then lose the possibility to maintain the state later compared to that initial project. And custom blueprints help you to actually manage that. So it's a project scaffolder at the end that gives you the possibility to, on the one hand, scaffold projects, and then also, if you change the base template, it keeps the state of what you changed and gives you the possibility to track those changes across the lifecycle, both of the source code that you changed and also compared with the base template that you originally started with. And I think that is what makes custom blueprints for me a little bit unique compared to other systems like that. And it gives you really the possibility to have a standard set of projects. So if I look at MKDev Works as a consulting company, right? You do a lot of software projects for people. All of those software projects might have dependencies. Those dependencies regularly change. Now, what do you do today? You go into the package.jsons of all the different customer projects and you update the versions one by one. If you now use a blueprint for that, you would start with kicking off the projects with a blueprint where you have defined the versions that you're using of the dependencies. And maybe you also have some base requirements for integrating with some of your stuff. That blueprint then gives you all of those base layers. Now a version changes. What do you do? You don’t go to the hundred projects that you have. You go to that one blueprint where you change that version. You do 'blueprint apply' and you get a pull request for each other project that you just need to approve with those changes. And this is what, at least for me, is exciting about blueprints. You get that lifecycle management on top of that. And that simplifies a lot of things from a developer experience perspective. — Johannes Koch


Avoiding the Generative AI Hype

While Generative AI (GenAI) is a hot topic, Johannes expressed caution about the hype surrounding it. He emphasized that while there are many exciting developments, most GenAI tools today still require significant manual input and don't yet fully automate or simplify the DevOps lifecycle as much as one might hope. He argued that the industry needs to focus more on creating practical, helpful solutions rather than jumping on the latest buzzwords. His hope is that as the hype fades, more substantial, genuinely useful AI-driven tools will emerge.


I need to admit that I've been trying to not jump on the GenAI hype. I've experimented with a few tools, but not enough to give you a very good answer here. So for me, the point really is that I'm yet to see GenAI or AI applications that really take off work from developers. I see a lot of GenAI applications that force developers to think more. The best example is that, in order to get an answer from GPT, I need to know the question. But if I have a problem, I might not even know the question. And that's where I'm not seeing much assistance so far, right? Especially in the DevOps tooling landscape, they solve your problems but need you to understand what you want to get out of the tool instead. And that's where I really hope that the industry will change a bit more and become more like a partner that works with you. A good example of how it could look is in CodeCatalyst and also in Queue for Visual Studio, where there is a possibility to delegate the feature development to an AI bot. In CodeCatalyst, you can say, 'Here's my issue, this is my description,' and you can assign it to a GenAI bot and he or she will implement that source code for you. Now, we still have the problem that the source code is of completely bad quality. That's one of the problems. But at least that's the mindset that I would like to get to in the end from the GenAI tool perspective. And we don't see a lot of that, at least based on my knowledge, we do not see a lot of that yet in the tools. I don't know, Kirill, Pablo, have you heard of tools that really simplify the DevOps world? — Johannes Koch


Conclusion

Johannes Koch’s insights provide a balanced view of the intersection between community work and corporate responsibilities, the role of big tech, and the evolving landscape of cloud technologies. Whether you’re a junior just starting out or a senior looking to give back, being involved in a community offers immense value. And as technologies like AWS CodeCatalyst and AI continue to evolve, staying connected with these communities can help professionals at all levels keep pace with the rapid changes in the tech world.



Show Notes

Our guest, Johannes Koch

Things we’ve talked about:


Podcast editing: Mila Jones, milajonesproduction@gmail.com

Previous Episode • All Episodes