041: Never say never
This is the 'last' episode. Don't be sad, it's still the best time to be a developer. In this double episode, we first discuss why we started the podcast, and then how we currently see software development in general.
040: The reality of functional programming
In this episode we discussed with
In his new book, Eric takes a different approach to teaching principles of functional programming. We discuss what it means to not use a functional programming language.
039: Taking a significant turn in your professional life
In this episode we discussed with
Paul switched job after 14 years in the same company working for the same client. He changed environments, programming language and even his developer machine OS including keyboard layout. How did it go?
038: Focus on Agile or Development practices?
In this episode we discussed with
We discuss with David whether it is important to train on Agile development or more on development practices.
037: Seeding communities for your product
In this episode we discussed with
If you can’t reach your audience with classic marketing, Philipp Krenn explains the different aspects of working with their community at Elastic.
036: Unleashing the power of BDD
In this episode we discussed with
BDD has been around for a while now, but in many cases it is only utilized as a technical aid. In this episode we try to unpack the power BDD could give us, together with Gáspár Nagy, the creator of SpecFlow.
035: Why Microservices still need Universal Architecture
In this episode we discussed with
We talked with J. B. Rainsberger about his idea of a Universal Architecture and how it helps people to get architectural decisions right. In addition, we talked about the continuing importance of clean code, even in times of distributed systems and microservice architectures.
034: Time travel to the past
In this episode we discussed with
Maaret Pyhäjärvi changed jobs recently and compares her experience as 'time travel 10 years to the past'. This leads to Continuous Delivery and crafting your job for impact.
033: Testing Tour and Testing Mindset
In this episode we discussed with
Lisi Hocke talks about her personal learning tour, focusing on testing. Driven by personal challenges, this way to learn brought her a lot of new experiences and expanded her network.
032: Design- and Style-Guides
In this episode we discussed with
We talk about guides and rules for programmers in the scope of their code style and object style. With the help of book author Matthias Noback we realize that there is more possible with static analysis than one might think. And there is definitely a use for a catalogue of stereotypes of classes.
031: GraphQL, the future of APIs?
In this episode we discussed with
In this episode, we discussed with Nik Graf about GraphQL and why he thinks it is a future-proof way to create APIs for client applications. We tried to distill the main advantages over classical REST, and figured out scenarios when it shines, but also took a look at possible drawbacks. TL/DR: Everything you need to know if you are interested to get started with GraphQL.
030: ReasonML and its viennese community
In this episode we discussed with
Patrick shared with us his contribution on creating the ReasonML association, as well as the idea of starting such a movement, and we also dived into the usage of ReasonML in safety critical software.
029: Microfrontends
In this episode we discussed with
This time our very own David gives us an introduction to one of his favourite topics. Microfrontends may not be new, yet they are a recurring theme in various teams and companies. What they are about and where this idea is moving to, David will give us an overview.
028: DevOps tools of the trade
In this episode we discussed with
We start by rejecting Kubernetes and go on a whirlwind tour through all the different tools which might be useful for automation of your development and operating needs.
027: DevOps culture and team structure
In this episode we discussed with
Sandra gives us a crash course in what DevOps originally meant and means, when you are a DevOp person and what you would need.
026: Sharing is learning - Learning is sharing
In this episode we discussed with
In this episode we discussed with
We talk about the joy and benefits of sharing what we learn. Be it in blog posts, talks, just Twitter messages, or other ways.
025: Accessibility 101
In this episode we discussed with
In this episode we discussed with
The venture into the often-overlooked topic of making user interfaces accessible to everyone. To quote Trenton Moss we want to make it clear that Web accessibility isn't brain-science. And it's also not just about disabled users being able to access your website - it's about everyone being able to access your website.
024: Dark Scrum and the Light at the End of the Tunnel
In this episode we discussed with
Together with Fabian Schmied we discuss how bad implementations of Scrum can look like, and what options people have to improve or avoid it. (This episode is just a decoy to get everyone into Extreme Programming)
023: Introduction to CQRS and Event Sourcing
In this episode we discussed with
Fabian Schmied helps us understand CQRS and Event Sourcing by giving us a crash course on its motivation and context. Listen to learn about the inner workings of implementing such a system with some examples from the product he is working on.
022: The state of open data - or where to find good beer
In this episode we discussed with
We follow Gerald Bauer for a roller coaster ride of data formats, usages in open data, and how and where to find good beer - all for an open society.
021: Programmable Money
In this episode we discussed with
To figure out why blockchain programming is just programming, we talk with Gerald Bauer about his views on No-Coiners and Bitcoin Maximalists, differences between Bitcoin and Ethereum, and finally how to solve the halting problem.
020: Evolutionary Architecture
In this episode we discussed with
The way how software architecture works has changed tremendously, especially with iterative approaches that foster fast changes and delivery like scrum or kanban. Evolutionary architecture is a set of concepts and patterns to design system in a way to expect change. Patrick gave us a deep, but very practical insight into the ideas and techniques behind this new architectural approach.
019: Growing and teaching tech leads
In this episode we discussed with
We talked with Patrick about his understanding of what makes a good lead. He gave us a deep inside into the skills you probably need to learn, to bring yourself into this position and a hand of very useful tips to start this journey. All this, mixed with couple of very interesting insights about the inner-workings of N26.
018: Who should do a journeyman tour?
We ask Peter about his experiences from his pair programming tour several years ago. Curious about the learning, we also discuss for whom such a tour might be worth doing and getting started in a corporate environment.
017: Unit vs integration tests - why should we care?
Paul asks at which point the question about differentiating between automated tests is irrelevant. As part of answering this, we discuss test automation pyramids and testing quadrants.
016: The future of the Blockchain after the Hype
In this episode we discussed with
Is there still a reasonable area of application for the blockchain after the first hype went by? And what is the blockchain exactly? Is it a pattern, a framework, a database? We will talk with someone who's daily job is to get stuff done, with a lot of blockchain technology involved.
015: Let's talk about Rust
In this episode we discussed with
During this episode had a great discussion with Thomas about the programming language Rust. Why his teams uses it for all their projects, where he sees the main benefits and how it is comparable to other programming languages. As a bonus, he gave us a few tips on how to start if you want to learn this promising stuff.
014: The DDD roller coaster
In this episode we discussed with
How we, the developers, ended up back at the original problem of building software to support the people. We ask our guest and local expert about different aspects of domain driven design.
013: Building a successful local community
In this episode we discussed with
Martin tells about his experience in creating two successful communities in Vienna. How to get going if you don't know anything about it. Thanks Martin for giving us an insight into this!
012: The role of a developer advocate and how to be productive as a developer
In this episode we discussed with
In the second episode with Sebastian Daschner we talked about his work as developer advocate - and what does this actually mean? After getting the head around this we focus on tools and techniques that make you more productive as a developer. As usual paired with jokes an viennese coffee shop flair, as usual.
011: Ahead-Of-Time kicking into Java Enterprise
In this episode we discussed with
We talked with Sebastian Daschner, a Java Champion about the future of Java Enterprise, the new Eclipse Microprofile and what's behind Quarkus. As not of all us are Java-Heads this episodes also contains a few “Explain it to me like I’m 6” segments which bring light into a few core concepts of the Java ecosystem and its history. Last but not least, why is there no Java Conference in Vienna?
010: Keeping up to date with our knowledge of software developers
In this episode we discussed with
In a smaller than usual group we discuss with Gottfried Szing how we keep on the pulse of our craft and industry. This discussion leads us from Twitter feeds over local communities to the dislike of conferences as advertisements in disguise.
009: Security by Design - Baking security into the heart of your codebase
In this episode we discussed with
Our guest Gottfried Szing introduces us into some ideas of security by design. A fruity cocktail of how to avoid primitives obsessions and where to put the validation in your architecture - mixed with a little bit of contract first development. Finalized with a discussion about rusting software.
008: Introducing Design Thinking and failing to agree on the need of Dogma
In this episode we discussed with
Our special guest Claudia Oster explains the ideas of design thinking and the similarities with human centred design. It is interesting how the original design methodologies expanded to the business world. Peter brings us out of our comfort zone with his need for dogma. Listen to find out if strict rules are reasonable!
007: Testing the tests and the universal-hexagonal-vertical-ports-and-adapters-layered architecture
2019 gets even stronger with a lot to discuss. First we ask how much testing do our tests need. Is it a smell if we feel we should test our tests? Then we do a run-down on common architectures. What are the benefits and drawbacks? How do they relate to each other? And can someone survive never having experienced any of them in their true form.
006: Improving Team Collaboration and making Technical Debt feasible
In this episode we discussed with
This episode is all about talking: Together with our very first official guest, we attempt figuring out how to get developers talk to each other, and then get managers talk to developers about technical debt.
005: Code Quality and introducing TDD in a (legacy) project
We started this episode discussing about readability of code. What actually is readability? It seems, that next to names, there are other important things to consider, like visual structure. In the second part we talked about how to get started with Test Driven Development (TDD) in a project were nobody else is doing it. We found a few suitable ways to get things started. Finally we concluded the episode with our personal history, how we each one of us got started with TDD.
004: Duplication, Duplication, and dependencies - mixed with schools of development
How bad is duplication on different levels? When should we prefer having some code in our codebase over taking the dependency to a library? Is all duplication equal? In the first topic of this episode we discuss several aspects of duplication in a code base and the impact on stability, maintainability and reliability. For the second topic we discuss some schools of software development, from eXtreme Programming to Programming M.F.. Do they support different personalities of team members? Or should we try to consolidate on a single school within a team? For the last topic we don't feel to have a proper conclusion. So - what are your experiences on schools of software development. Interesting discussions guaranteed!
003: Is BDD worth the overhead, and should I prefer being a specialist or a generalist?
In this episode, we were discussing the (i) additional cost of following BDD. We concluded that the core of BDD is the understanding of what needs to be done and as such, it can be compared to TDD or ATDD. Maybe there is no additional cost, rather a cost of not doing it. During the second part, we focused on the question of (ii) being a generalist or specials. What impact this decision has on career, teamwork and project success and whether there is a preference for us.
002: Learning as a Software Engineer and Fred Brook's accidental and essential complexity
In this episode, we tackled two topics: (i) How we meet the requirements of constantly learning new technologies and what approaches we use to drive this efficiently. In addition, we try to find a common understanding, at which point in time something can be considered as known or learned. After this, we take hold of (ii) the occurrence of accidental and essential complexity in software projects described by Fred Brooks. Why it's important to understand the difference, and what we can gain from this knowledge.
001: Let's get this started with discussing the SOLID principles.
The SOLID principles were proposed by Robert C. Martin to make software designs more understandable, flexible and maintainable. During our first podcast Paul, David and Christian will dig deeper into these five legendary design principles and discuss which experiences they made by using them during their daily work.