CodeCrafts 2025
Table of Contents
Conference Report #
Date: May 22, 2025
Location: Expedithalle Wien, Brotfabrik Wien (Vienna)
Format: Single track (plus two small “conversation side-tracks”)
I went to CodeCrafts 2025 in Vienna to learn, to meet people, and to get new energy for building software. The event really felt community-driven: many talks were very practical, and the mood was friendly and open. The venue (Expedithalle Wien) also helped a lot: it is a historic industrial building, but inside everything worked smoothly for a modern conference.
A big plus for me was the single-track setup. It made it easy to follow the whole day together with everyone else, so later it was simple to start conversations like “What did you think about that point?” without missing sessions.
Main ideas I took home #
1) Software is about choices, not only tools #
Kent Beck opened with “The Forest & The Desert Are Parallel Universes”. For me, the message was that different contexts need different approaches. Some teams work in a “forest” with many paths and experiments; others are in a “desert” where survival and simple rules matter most. I liked this because it reduces pointless debates. Instead of saying “this method is always best”, we can ask: what kind of environment are we in right now?
2) AI and architecture: helpful, but not magic #
Avraham Poupko’s talk about using AI to create software architecture was interesting because it did not sound like hype. My main takeaway: AI can speed up exploration and documentation, but you still need strong thinking about trade-offs, constraints, and long-term ownership. If you don’t understand your system, AI output can also make confusion faster.
3) Security basics are still not “basic” #
The web app security talk by jackie (Andrea Ida Malkah Klaura) was a good reminder that many problems are not new, but they still happen. I left with the feeling that security is less about “secret tricks” and more about everyday habits: validating inputs, managing auth correctly, and treating security as part of normal development—not a late checklist item.
4) Legacy systems can evolve with the right flow #
Susanne Kaiser talked about evolving legacy systems with “architecture for flow”. I liked the focus on changing the system in a way that supports how teams work, not only how code is structured. The idea is: reduce friction, shorten feedback loops, and make safe changes easier. This is a very realistic view of legacy work—because most companies cannot “rewrite everything”.
5) Quality vs. speed is a false fight #
Adam Tornhill’s talk on code quality and empirical insights hit a nerve. The “we need to go fast, so we can’t clean up” argument is still common. The talk made a strong case that poor quality often slows you down later, and that you can measure parts of this instead of guessing. I also liked that it connected engineering decisions to real outcomes, not just style preferences.
6) Event sourcing: practical steps matter #
Shahab Ganji gave a practical view on event sourcing. I appreciated that it was not presented as the answer for everything. The talk helped clarify where event sourcing fits well (auditability, complex domain history) and what you must be ready for (new complexity, event design, and operational concerns). I left thinking: if we do it, we should do it deliberately and with training, not as a quick experiment in production.
7) Sustainability can be a refactoring topic #
Bjorna Kalaja presented refactoring techniques to reduce the environmental impact of software. This was one of the most refreshing talks for me. It made sustainability feel like an engineering topic: optimize heavy operations, reduce waste, and design systems to use fewer resources. I liked that it was concrete: you can start small and still make a difference.
8) Architecture as Code: make decisions executable #
The “Architecture as Code” session with Neal Ford and Mark Richards connected architecture work to automation and developer workflows. My main point from this: architecture decisions should not live only in slide decks. If we can encode rules, checks, and standards into pipelines and tooling, we reduce “architecture drift” and avoid relying only on human memory.
Conversation side-tracks (small deep dives) #
CodeCrafts also offered two “conversation tracks” with limited seats. I like this format: short intro, then round-table discussions on real problems. It felt closer to a workshop than a talk. The topics were:
- From North-Star to Done: closing the strategy gap
- Agile Unboxed: leadership, scaling & the road ahead
Even if you don’t speak in every round, listening to how other teams struggle with similar issues is valuable. It also creates easier networking because you talk with a small group for 80 minutes instead of meeting someone for 2 minutes at coffee.
Networking and atmosphere #
With 500+ attendees, the conference was big, but the single track and shared breaks made it feel smaller. Food and drinks were included and helped people stay around instead of disappearing. The after-party was a good ending: more relaxed conversations, fewer “conference questions”, and more honest stories about what works and what doesn’t.
Final thoughts #
CodeCrafts 2025 delivered what I wanted: practical ideas, mindset shifts, and a feeling that many people still care about building software well. The best part was the balance between classic engineering topics (architecture, quality, event sourcing) and newer concerns (AI support, sustainability). I left Vienna with notes, new contacts, and a clearer plan for what I want to improve in my own work.