In this talk at The Future of Software conference, Johan Abildskov discusses the challenges in software development, emphasizing the need for teams to evolve beyond traditional DevOps practices. He highlights the importance of playfulness, psychological safety, and focusing on meaningful outcomes rather than merely chasing trends in the industry.
Speakers
Johan Abildskov
Johan has been a Continuous Delivery Consultant with Eficode Praqma since 2015. After achieving his BSc in Computing Science he spent his time teaching, coding, hacking and studying. He is an avid gamer and participates in tournaments whenever he has the time. He also plays the bass.
Transcript
Hello, I'm Johan. I'm a software engineer at Uber. I help build our internal container orchestration platform for stateful workloads. I work in Denmark where we have an office of up to around 150 engineers. And that's part of my story that I'm a software engineer. Before I did that, I did DevOps consultancy at Eficode. So, being around in a lot of different organisations and now being more in a single organisation and more focused on the success of myself and my ability to execute, rather than enabling others to succeed. And I will be talking a bit about evolving teams beyond DevOps. And let's see where that story takes us. Let's call it my opinion on modern software engineering. And to address the 'elephant' in the room, this talk is not about AI, because AI doesn't matter. It's just like the ball that we're currently chasing. Right? It used to be platform engineering or Agile or DevOps, SRE, cloud. The problem is that if we just keep chasing the ball, and the way we chase, for instance, Agile is by doing Scrum, we don't get better at chasing the ball. We don't become better at being agile by doing Scrum. We become better at Scrum. So, at some point, we just have kept chasing balls and never gotten any better at ball chasing or maybe figuring out that magical thing where when we get the ball, then what? So, this talk is not about AI. When I make the statement, let's evolve teams beyond DevOps, we've assumed that we've kind of had a few states, then we are at DevOps, and we want to evolve beyond DevOps. One of my problems with that is, we as an industry, whether we are DevOps or not, suck at making software. We make bad software. We are bad software engineers. As an industry. My older son, soon seven, started school. They get an app for reading practice. Excellent, like games for reading motivations. The login flow is such that, first, I have to figure out which of three different methods of logging in I need to use. When I select the right one, I get a drop down of around 200, where I have to pick the right one, to pick the right region of the country that I'm in. And then, I'll be prompted for the username and password. And if I put the check mark in after putting in username and password, maybe we would expect that it saves the login on the device. That would be like common sense. It changes my password. This is like an iPad app, the most user-friendly platform in the universe. It is targeted at kids. Why is it so bad? But it feels like folks there are like, if they just have had an iPad in their hand, they would have to make it deliberately bad for it to be so horrible as it is. That's how it feels to me. But I think we have to realise that's probably not the case, that there's a team of evil engineers whose primary focus is to make me angry trying to log into a kids' app. If so, I'm kind of flattered. But there are smart people that want to succeed, that make horrible stuff. Not in the sense that it's evil. It's not like it's trying to get me addicted to a cocaine-like trip of social media or influencing my politics or things like that, right? It's just bad. Objectively, it feels like. And one thing we could say is that we build complex sociotechnical systems. Right? So, it's commonly accepted that software engineering is building and operating complex sociotechnical systems, but that doesn't make any sense. No one understands what this means, right? It means hard to reason about sociotechnical systems. They're complex. When we do something, we as engineers like to think there's a reasonably causal link between cause and effect. But when we enter complex systems, that's not as true. We have emergent behaviour. We have vastly distributed systems. It's hard to reason about what does my change do. So, we have hard to reason about sociotechnical systems. The 'socio' part is that we have hard to reason about technical systems with humans involved. The worst thing you could do is to you and says, 'Is it okay that we spend time on refactoring or automated tests?', or I don't know whatever boring internal detail, you say, 'I don't know.' You decide. That's what being a professional means, right? But if we don't ensure that we get that control back, organisations, teams, then it doesn't even matter. Because then we are still just running after the next ball without getting any better at running after balls. But none of that matters if we don't care. Like, give a something, a bad word about it. Fix it. Do better. Stop wasting taxpayer money on random software systems that we built. Be efficient. Be professional engineers, managers, leaders. And that needs to be the motivation that we bring, right? We care about the work we do. We care about the impact we have. So, my failure here, my worry is not to be boring or wrong or irrelevant, or just you all feel like I'm stupid, and you look forward to telling me just after this. My failure mode is that I stand here, I bring these opinions, make these statements, and nothing changes again. We all feel good because now we heard him rant. We can go there and say, 'Ah, yes, he was right.' Then, you go back, and nothing changes. So, I want you to go back and do hard things. Raise the expectations. Organise not around services or code or programs, but around charters, capabilities and outcomes. The code is worthless. This talk is not about AI. It's the impact that matters. If you want to evolve beyond DevOps, grow your evolving muscle, not your Agile muscle, nor your DevOps muscle or your AI muscle. Because you know in three years it will be something else. Focus on the fundamentals. Hire good people. Get out of the way. And then, of course, I don't know what will come next. But I hope that you can grow to build it. Thank you for your time.
- DevOps
- Conference talks
Related videos