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.
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.
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.
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.
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
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.
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?
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: