WORKSHOPS

If you'd like to attend any of these workshops, please note that you will need to purchase a separate ticket. Craft Conference tickets by themselves do NOT include the workshops.

If you can not find a ticket for any of the listed workshops, check back on the website later, we are updating the website and adding the tickets every few days.



Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More

paradigms, functional programming, object orientation, procedural programming, concurrency
WHEN:
May 27, 28 (14:30-18:00 CEST)
WHERE:

It is very easy to get stuck in one way of doing things. This is as true of programming as it is of life. Although a programming paradigm represents a set of stylistic choices, it is much more than this: a programming also represents a way of thinking. Having only way to think about problems is too limiting. A programming paradigm represents a set of patterns of problem framing and solving and contains the ingredients of software architecture. As Émile Auguste Chartier noted, there is nothing more dangerous than an idea when you have only one idea.

Perhaps even more problematic than being stuck with a narrow view of paradigms, is being stuck with a dysfunctional view of each paradigm. For instance, many developers working in languages and frameworks that support object orientation have a strong idea of the principles of interaction, data abstraction and granularity that support an effective view of OO, and instead surround themselves with manager objects, singletons and DTOs.

This session explores the strengths and weaknesses of different programming styles, patterns and paradigms across different programming languages, past and present.



Surviving Legacy Code

evolutionary design, refactoring, design, tdd, xp, continuous improvement, legacy code, testing
WHEN:
May 27, 28 (14:30-18:00 CEST)
WHERE:

We all have legacy code, meaning profitable code that we’re afraid to change. It doesn’t matter who wrote it, in which language, nor when. It matters that we feel the fear now and need to deal with it. Rewrite or refactor? How do we write useful tests? There’s so much to change; how do we get started? When do we stop? Will it ever get any easier? In the typical programmer’s day job, there’s no time to learn how to do this. We’re already behind schedule and the cost of fixing the legacy code is crushing us. We need a way to learn how to do this safely, correctly, and eventually, even quickly. That’s what Surviving Legacy Code is about.



Getting API Design right - Hands on

API design Functional design Anti-patterns API experience
WHEN:
May 31, June 1 (14:30-18:00 CEST)
WHERE:

Everyone is talking about APIs, be it simple services or complete ecosystems that you want to expose via API. With all the tooling available, that is quite easy, is the first thought. But it is not.

The challenge of an API is not its implementation, but its design: What needs to go into the API, what do I leave out? How do I present it in a way that users find it good? What else do I need to take into account if I want my API to be a success?

In this workshop we will take a practical approach to the design of APIs using several case studies. We will intersperse short theory blocks that we try to put into practice, turning widespread bad practices into good ones.

This way, we will learn good functional API design step by step - aha-experiences included.



Shortcut to Tech Leadership Workshop (4 hours online)

techlead architect leader
WHEN:
May 28 (14:30-18:30 CEST)
WHERE:

This is an online guided workshop that accelerates your tech leadership journey. This workshop will boost your skills, accelerate your career development, offer you tools and tricks to lead technical teams and guide you through the journey from maker to multiplier.

At the end of this workshop, you will be able to:

- Understand what technical leadership is, and why it’s important for successful teams

- Explain what effective technical leadership looks like

- Describe your Technical Vision in depth

- Outline 8 foundation principles of effective technical leadership

- Identify the different behaviours of Makers and Multipliers

- Use 5 foundation skills that Multipliers draw upon a daily basis



Rapid Software Testing Focused: Strategy

software testing strategy
WHEN:
May 4, 6 (14:30-18:00 CEST)
WHERE:

Countless thousands of people create test cases and perform testing on product in the software industry. Yet few of us, when challenged, can concisely and compellingly explain why we chose to do these tests instead of those tests. This leads to testing that is wasteful, unagile, and disrespected. Good test strategy solves that problem. Test strategy is the set of ideas that guide our choices about what testing to do. Knowing how to construct, explain, and critique a test strategy is the gateway to credibility as a tester. This seminar focuses on strategy as it relates to testing and fits within the Rapid Software Testing methodology. So, we approach strategy as a heuristic, not just a document. We look at it from a social and general systems perspective. Although we won’t focus on risk analysis, we will look at how risk maps to test activities.



High-Performance Team Building™: Core Protocols for EI and Psychological Safety

core protocols team teams high-performance psychological safety safety ei tei emotional intelligence team emotional intelligence team building fun activities
WHEN:
May 31, June 1 (14:30-18:00 CEST)
WHERE:

Your team can be ten times better. What does that mean? That means your professional team can accomplish 10x more work, do it with 10x more quality, 10x faster, or with 10x fewer resources. Your family can be 10x happier. Your school can be 10x more effective at helping people learn. Your community group can be 10x better at making life better for the people it serves. Even you yourself can be 10x more effective at getting what you want. In other words, you can be great. Your team can be great. Greatness Can you say these things about your teams?

  1. My projects are completed effortlessly on schedule and within budget every time.
  2. Every team I’ve ever been on has shared a vision.
  3. In meetings, we only ever do what will get results.
  4. No one blames “management” or anyone else if they don’t get what they want. - Everybody shares their best ideas right away.
  5. Ideas are immediately unanimously approved, improved, or rejected by the team.
  6. Action on approved ideas begins immediately.
  7. Conflict is always resolved swiftly and productively.
The Core Protocols are one way to make teams that have these characteristics. Some of the things you’ll learn:
  • Results-oriented behaviors
  • How to enter a state of shared vision with a team and stay there
  • How to create trust on a team
  • How to stay rational and healthy
  • How to make team decisions effectively
  • How to move quickly and with high quality towards the team’s goals



Christian Posta's WS

WHEN:
WHERE:



Allen Holub's Workshop

WHEN:
WHERE:



Katja Mordaunt's and Felienne Hermans's Workshop

WHEN:
WHERE:



Woody Zuill's Workshop

WHEN:
WHERE:



Hands-on threat modeling for agile development

WHEN:
June 15, 17 (14:30-18:00 CEST)
WHERE:

We created a 1-day online threat modeling course specifically for agile development to improve reliability and security of delivered software. You will learn an iterative and incremental threat modeling method that is integrated in the development and deployment pipeline You will be challenged to perform practical threat modeling covering the different stages of threat modeling. Exercises are built upon a fictional Acme Hotel Booking (AHB) system, where we migrate a legacy client-server system towards a cloud based, micro service stack using AWS services:

  • Sprint 1: Modeling a hotel booking web and mobile application, sharing a REST backend
  • Sprint 2: Threat identification as part of migrating the booking system application to AWS
  • Sprint 3: AWS threat mitigations for the booking system build on microservices
  • Sprint 4: Building an attack library for CI/CD pipelines This course is for you if you are a product manager, software developer, architects, DevOps engineer or application security professional.