
Sebastian Thoss
better ventures group GmbH, Chapter Lead Backend Development
Hamburg, Germany
Actions
I’m in IT since mid-nineties and still love it. After several years of living and working in Ireland and Australia. I came back to Hamburg, Germany in order to learn even more about the architecture of software.
Since 2015 I’m at better ventures group responsible for backend projects, the team, and training of our young apprentices. I’m in for agile processes like scrum and lean. We’re looking usual not for the fast but for the best solution. This leads often to think outside of the box.
Since 2017 I’m working additionally on my own business called Smest.it. Our goal is to free the internet form error pages by providing website monitoring solutions.
Links
Area of Expertise
Topics
Docker-Dev-Env @ kartenmacherei
Do you have as well several repositories which use docker? Now they need to talk to each other on your local computer to be able to develop features which live in more than one repository. Today we want to show you how we solved the problem for us. At kartenmacherei, we orchestrate our docker-dev-env just with simple shell scripts, the support of traefik and some simple rules for each project. Let us show you how easy it is to build a docker-dev-env and how fast it will be to introduce additional repositories.
## What you will learn from this talk
- How a very little amount of rules make it possible to get several projects to work together in one Docker-Dev-Env.
- How easy it is to orchestrate several docker based project by using shell scripts.
- How several PHP projects can share one php-fpm container and work properly independent.
## Why should you accept this talk
This is a completely new talk we’d like to prepare for your conference. The target of this session is to show and explain how easy it is to orchestrate several different projects which on their own use Docker for development. Our approach is based on basic shell scripts and Traefik. We have our own simple and lean repository which holds sever services which are used across projects. This project knows only which repositories to clone and how to boot each repository. With some simple rules which got defined together with the whole team, it is today very simple and fast to introduce new projects. In this talk, we want to show the concept behind Docker-Dev-Env @ kartenmacherei by providing charts and code samples.
I usually give this kind of talks together with my colleague Aleksander Wons.
Can't you test this code? It's your fault!
Everyone agrees that unit tests are essential for building robust and maintainable software components. But how much code coverage should a project have? We claim that even 100% coverage is not enough.
I want to show the concept of unit, integration and acceptance tests by using PHPUnit. You will learn more about how to structure your source code (SOLID/DDD) to make it easier testable and more robust at the same time. On top, the audience will see that the goal of 100% coverage is reachable.
## What you will learn from this talk
- How to properly separate classes and dependencies.
- How to properly separate between unit, integration and acceptance tests.
- How to get to 100% code coverage.
## Why should you accept this talk
This is a completely new talk I'd like to prepare for your conference.
In this talk, I want to build up a better understanding of how to write more robust and better testable code at the same time with just a few simple rules.
In addition, I show that even 100% code coverage is not enough and why we do integration-, acceptance- and even SmokeTests by using PHPUnit. This helps to reduce the number of bugs extremely.
Feel free to have a look into some slides of a similar talk we held some years ago: http://www.sebastianthoss.de/en/talks/99-percent-is-not-enough.html
Better coding
For many years we created software applications which started off great. We had a great vision and sometimes even a plan. Well, after finishing them most of the time we didn’t like the outcome because it was hard to understand and usual badly tested.
Most of the developers out there heard of clean code, SOLID and DDD. Well, it’s not about spaces vs. tabs but about how to structure your code in the sense of logic. The separation between architecture and implementation.
Let’s talk about how source code should look like and how this will help you to get it better readable, easier understandable, perfectly testable.
## What you will learn from this talk
- A better understanding of SOLID and DDD.
- How good code could look like and that it is readable like a book.
- That 100% code coverage helps extremely.
- How to separate between own code and external libraries.
## Why should you accept this talk
This is a completely new talk I'd love to prepare for your conference. I want to show based on examples how clean coding should look like. I want to go into detail on SOLID, Domain Driven Design (DDD), How 100% code coverage will help, Why you should do Test Driven Development (TDD) at least while fixing bugs and why in 99.9% of the cases inline comments aren’t needed at all. I’ll try to prepare the code shown in the presentation as a repository on GitHub. So everyone can have a detailed look afterward on the examples again.
PHPUnit In 4 parts (talk)
In the past 9 years, I’m using PHPUnit on a regular base. In this session, I’ll start with the basics and guide you through 4 parts of writing tests using PHPUnit.
- Part 1: Unit Testing
- Part 2: Integration Testing
- Part 3: Acceptance Testing
- Part 4: Smoke Testing
After this session, you'll have a good understanding of all 4 types of tests, how they should be structured and in which cases they are used. On top, you'll get a lot of examples and exercises for each type so you can stay curious and keep learning after the conference.
## What you will learn from this talk
- How to conceptually separate between the 4 types.
- When to Mock which part of the code.
- What SmokeTests are and how to set them up using PHPUnit.
## Why should you accept this talk
This is a new talk I've prepared for 2019's ConFoo. Background for this talk is to provide an overview of how to structure and write these 4 kinds of tests and where and when to separate between them. The slides will show a lot of graphical and source code explanations for each of the part.
Why want to become a manager in IT
Managers for developers are not needed anymore due to new work, agile and autonomous teams. Isn’t it true? In such an environment every individual and every cross-functional team works magically together and solve their challenges independently and produce perfect software. They always have the right answers to any question and there is no duplicate work done, right?
At least that’s what the books tell us. So why on earth should someone talk about how to become a manager in IT. The answer is simple. In my opinion, it simply doesn’t work without managers in companies with more than a few developers. Mainly the role description of a manager changed. Today the managers are not working top-down anymore and dictate what to build and how. Instead, they are coaches, sparring partners and available for pair programming. They even have time to do some coding themselves.
Today I’d like to show you what the new IT manager role looks like and how this helps the teams to perform even better and align on regular bases. We at better ventures group don’t call them manager anymore but Chapter Leads not to confuse the roles.
## What you will learn from this talk
- that traditional team lead or manager position is not working anymore that good.
- how today's manager role looks like.
- what the tasks are and how much fun it actually is.
- how to create an environment where strangers become brothers and sisters.
## Why should you accept this talk
This is a brand new session I’d love to prepare for your conference. I’ll show the pros and cons of becoming a manager in an agile environment with cross-functional teams and that it is less managing and more coaching/supporting. Less a top-down than a bottom-up way of working. Plus I want to explain that being a good leader is more like being a father of a big group of brothers and sisters. They fight, they bicker but they all stand together when it is needed.
Fun about tech recruiting
We are developers and had many interviews with different companies around the world.
4 years ago we turned the tables. We want to show that we’re all just humans. Recruiting is a lot of work. Especially for us working in IT and not having many recruiting skills. But we’re sitting on the other side of the table now for many years. Let’s talk about the goods and bads AND the funny parts of recruiting. Let us show you what we learned and experienced and how we constantly improve our recruiting process to make sure the right people end up in the right team in the end.
## What you will learn from this talk
- How important it is to have the right people in the right teams.
- How a possible process might look like. (works for us) ;)
- Learn how weird and funny recruiting sometimes is.
## Why should you accept this talk
This talk was a great success we prepared for a meetup hosted at kartenmacherei. We had even 30 minutes Q&A session after the 45 minutes presentation. On top, we had one to one discussions for several hours afterward. Great topic. If you want to have some insights here are some slides from the original presentation. http://www.sebastianthoss.de/en/talks/fun-about-recruiting.html
I gave this talk together with my colleague Misha Skida.
For your conference, I’d love to update the slides to today's process and give this talk again to share and learn more about recruiting in tech.
Framework vs. Business Logic - how to separate properly
I’m now working with frameworks for more than a decade. Over the years I got involved in many projects where the business logic was locked into the framework and made it near to impossible to update/replace the framework.
Just in the last 4 years, I really learned how to properly separate between framework logic and business logic by applying SOLID and DDD.
Today I’d like to show you by examples (Symfony based) on how to separate your PHP code into framework logic and business logic. As well, I'll show bad examples and identify together with you how it should have been better. You’ll learn how easy it is to separate code if you set yourself strict boundaries and stick to them. SOLID and DDD will help you to get to the next level and together we’ll leave this session with a better understanding of the benefits.
## What you will learn from this talk
- Get a better understanding of what SOLID and DDD means.
- Learn that 100% code coverage of Business Logic helps extremely.
- Get a better feeling of How, Where and When to separate between business logic and framework.
## Why should you accept this talk
This is a brand new talk I’d like to prepare for your conference. In my current job, we discuss on a regular base either to use frameworks or not. My personal opinion is, that it is not a problem to use a framework as long as you clearly separate between the framework and business logic. Therefore I’d like to share my vision on this topic with your audience.
Team vs. Chapter Lead
Over years I’ve seen many colleagues becoming Team Lead and getting lost in all the new tasks. In 2015 it happened to me and I became Team Lead for a development team of today 14+ people. End of 2016 we changed our company structure to cross-functional Squads and my position changed from Team Lead to Chapter Lead. I want to talk with you about what Squads, Chapters, Guilds in a cross-functional setup means, how failure Friday's help us to improve our work and how my daily business changed becoming Chapter Lead Backend. There is even time left for writing source code myself.
## Why should you accept this talk
This is a brand new session I’d love to prepare for your conference.
I would prepare this talk together with my bosses and our agile coaches in order to prepare the best possible talk regarding cross-functional and how we changed a lot of people’s minds. For example, we removed most meanings from the word TEAM and introduced a new Glossary. This massively reduced confusions between the colleagues and helped to understand the new concept much better. As well we introduce a failure culture which makes it easier for anyone to do mistakes and let others learn from it. Fail fast, fail often gives us the opportunity to do a lot of experiments and get the best out of it.
SmokeTests - The what, why and how
Today it's crystal clear why we need unit tests. Even integration and acceptance tests are quite common. However, none of these tests is generally run in a production environment.
Well, are you sure that your web pages are working in production after your newest feature was deployed? Discover SmokeTests (as well called sanity or availability tests) and why every web development team should have them set up. You’ll learn how easy it is to set them up and how to run them. During the presentation, there will be code examples based on the open source library [DjThossi/smoke-testing-php](https://github.com/DjThossi/smoke-testing-php) available on GitHub. The library got build for making it easy to run SmokeTests and start testing old and new projects within a couple of minutes.
## What you will learn from this talk
- What SmokeTests are.
- How to run SmokeTests (With code examples which are provided via GitHub).
- How an example Server architecture looks like for good fast SmokeTests.
- What kind of options exist to set them up.
## Why should you accept this talk
This is a new talk I’ve prepared for 2019th ConFoo and PHP Srbija. It got very good and constructive feedback which I will use to make this session even better.
https://joind.in/event/php-serbia-conference-2019/smoketests---the-what-why-and-how
I want to show that smoke tests are a good way to approve that all your critical URLs are working. First part will be a general overview of testing website code. Then SmokeTesting explained in depths including code examples for easy reuse. Afterwards, I will show how the workflow of deployments to production environments could look like. How the correct server setup will help to get smoke tests running and how we make sure that smoke tests are not affecting the users.
For a previous talk regarding SmokeTest, I created a small library which should make it easier for other developers to start doing SmokeTests. Most code examples are based on this library so the audience will be able to start using SmokeTests within minutes after the talk.
https://www.slideshare.net/kartenmacherei/smoketests-what-why-how-confoo-2019
PHPUnit In 4 parts (workshop)
In the past 9 years, I’m using PHPUnit on a regular base. Now it's time to help others.
In this workshop, we'll start with the basics and go through 4 parts of writing tests using PHPUnit.
- Part 1: Unit Testing
- Part 2: Integration Testing
- Part 3: Acceptance Testing
- Part 4: Smoke Testing
After learning about the 4 different use cases there is enough time for getting your hands dirty. I'll bring some example code you can cover with tests during the do it yourself block.
After this workshop, you'll have a good understanding of all 4 types of tests, how they should be structured and in which cases they are used. On top, you'll get some examples and exercises for each type so you can stay curious and keep learning after the conference.
## What you will learn from this talk
- How to conceptually separate between the 4 types.
- When to Mock which part of the code.
- How to use PHPUnit extensions like vfs.
- What SmokeTests are and how to set them up using PHPUnit.
## Why should you accept this workshop
This is a completely new workshop based on my same-named talk. In this workshop, I’d like to give people space and a secure environment to learn about the testing of code. On top, I’d like to show them how to separate properly between the different kinds of tests. I would prepare even more code samples in a GitHub repository including docker files for each part. This workshop will include as well mocking and how to use other PHPUnit extensions like vfs.

Sebastian Thoss
better ventures group GmbH, Chapter Lead Backend Development
Hamburg, Germany
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top