I like to give talks at numerous occasions. More specifically: conferences, user groups and workshops. In this list
you'll find talks I gave with the abstract and links to the slides - in general you find most of my slides at Speaker Deck and Slides (Slideshare)
.
Going Staff (Ruby User Group Berlin)
What’s up with becoming a Staff Engineer? What does it mean? Is it just for people who want to keep coding? How do you become a Staff Engineer and what does the work entail? What if I told you, that being a Staff engineer actually required a lot of communication and collaboration skills?
In this talk, let’s answer all those questions – as it’s still quite fuzzy what a Staff engineer actually is.
Stories in Open Source (Lambdadays 2023, Ruby User Group Berlin)
What’s it like to work on Open Source projects? They’re all the same aren’t they? No, they’re not – the longer I
worked on Open Source the more I realize how different the experience is for each one of them. Walk with me through
some stories that happened to me in Open Source and let’s see what we can take away.
Metaphors are everywhere: Ideas to Improve software development (Code BEAM Coruña 2022, RUG::B)
Let's embark on a journey together - a journey in which we'll weave together the realms of basketball, fiction writing, game development and trading card games to explore how these seemingly unrelated domains surprisingly intersect with the world of software development, offering fresh perspectives and insights.
Discover how concepts, strategies, and principles from these diverse domains can enhance your software development skills and creativity. Let’s celebrate the power of interdisciplinary thinking, revealing how diverse interests can invigorate your approach to software development.
Functioning Among Humans (Heart of Clojure, Code BEAM Lite Berlin)
In the development world most people are striving for technical excellence: better code, faster run times, more
convenient interfaces, better databases… But is that really what helps us create better software?
In the end software development is done by groups of people creating products together. To do that communication and
collaboration are essential. You can be the best programmer ever, but if you can’t efficiently work with others what
good does it do you?
This talk will introduce you to relevant, easy to grasp concepts of collaboration and communication as well as give
you food for thought
Do You Need That Validation? Let Me Call You Back About It (Ruby on Ice 2019)
Rails apps start nice and cute. Fast forward a year and business logic and view logic are entangled in our
validations and callbacks - getting in our way at every turn. Wasn’t this supposed to be easy?
Let’s explore different approaches to improve the situation and untangle the web.
(note: the beer slide is there because it was the first talk Sunday morning after a bavarian conference party)
Elixir, Your Monolith and You (Code Beam Lite Berlin 2018, Devday.io 2018)
Elixir is great, so clearly we’ll all rewrite our applications in Elixir. Mostly, you can’t and shouldn’t do that.
This presentation will show you another path. You’ll see how at Liefery, we started with small steps instead of
rewriting everything. This allowed us to reap the benefits earlier and get comfortable before getting deeper into
it. We’ll examine in detail the tactics we used to create two Elixir apps for new requirements, and how we
integrated them with our existing Rails code base.
Join us on our tale of adopting Elixir and Phoenix and see what we learned, what we loved, and what bumps we hit
along the road
Where do Rubyists go? (Ruby on Ice 2018, RubyC 2018)
Many Rubyists branch out and take a look at other languages. What are similarities between those languages and ruby?
What are differences? How does Ruby influence these languages?
It’s About the Humans, Stupid (Lighting) (Pivorak 2017)
In the development world most people are striving for technical excellence: better code, faster run times, more
convenient interfaces, better databases, faster deployments… But is that really what makes us better at developing
software?
In the end software development is done by groups of people creating products together. To do that communication and
collaboration between humans is essential – you can be the best programmer ever, if you can’t efficiently work with
others what good does it do you?
This talk will give you a primer and food for further thought.
Stop Guessing and Start Measuring - Benchmarking in Practice / (Ruby) (Elixirlive 2016,
Elixir Berlin 2016, hh.ex
2017, Erlang User Confernce 2017, WRUG 2017, Pivorak 2017)
(Alternative title: How fast is it really? Benchmarking in Practice)
“What’s the fastest way of doing this?” – you might ask yourself during development. Sure, you can guess what’s
fastest or how long something will take, but do you know? How long does it take to sort a list of 1 Million
elements? Are tail-recursive functions always the fastest?
Benchmarking is here to answer these questions. However, there are many pitfalls around setting up a good benchmark
and interpreting the results. This talk will guide you through, introduce best practices and show you some
surprising benchmarking results along the way.
What did AlphaGo do to beat the strongest human Go player?(Full Stack Fest 2016, Strange
Group 2016, Codemotion
Berlin 2016)
This year AlphaGo shocked the world by decisively beating the strongest human Go player, Lee Sedol. An
accomplishment that wasn’t expected for years to come. How did AlphaGo do this? What algorithms did it use? What
advances in AI made it possible? This talk will briefly introduce the game of Go, followed by the techniques and
algorithms used by AlphaGo to answer these questions.
Elixir and Phoenix are all the hype lately – what’s great about them? Is there more to them than “just” fast,
concurrent and reliable?
This talk will give a short intro into both Elixir and Phoenix, highlighting strengths, differences from Ruby/Rails
and weaknesse
Beating Go Thanks to the Power of Randomness (Rubyconf 2015)
Go is a board game that is more than 2,500 years old (yes, this is not about the programming language!) and it is
fascinating from multiple viewpoints. For instance, go bots still can’t beat professional players, unlike in chess.
This talk will show you what is so special about Go that computers still can’t beat humans. We will take a look at
the most popular underlying algorithm and show you how the Monte Carlo method, basically random simulation, plays a
vital role in conquering Go's complexity and creating the strong Go bots of today.
Optimizing for readability (Codemotion 2015, Vilnius.rb 2016)
What do software engineers do all day long? Write code? Of course! But what about reading code, about understanding
what’s happening? Aren’t we doing that even more? I believe we do. Because of that code should be as readable as
possible! But what does that even mean? How do we achieve readable code? This talk will introduce you to coding
principles and techniques that will help you write more readable code, be more productive and have more fun!
A remix with added knowledge of "Code is read many more times than written".
Building Crystal in Crystal (Ruby user Group 2015)
Crystal is a compiled ruby-like language and the compiler is written in Crystal itself. That means we can build
crystal in crystal! The dream of rubinius come true! Explore a live session trying to implement a new feature in
crystal!
This is an impromptu talk exploring what happens if you take a Ruby developer with slight crystal knowledge and let
him do a live coding session implementing features in the crystal language itself. Exciting!
Code is read many more times than written (Ruby User Group 2013)
This statement changed my view of Software Engineering. Forever. Code is just written once, but read many times.
This is why we should put extra effort into writing good code.
In this talk you will learn how to write readable code. Techniques and patterns will be presented to make your code
as understandable and easy to work with as possible. Also higher level concepts to keep a code base nice, tidy and
clean will be discussed.
The ultimate goal of this session is to make your life as a programmer more enjoyable. Working with good code is
just so much more productive and fun that it really makes a difference in your day-to-day job.
Writing readable code might be an investment, but it pays its interest rate every day.
Shoes - The Ruby way to GUI applications (JRubyConf 2013, Vilnius.rb 2015)
We build web applications and command line applications with Ruby - but
what about graphical desktop application? There used to be this Shoes
thing, but isn't that dead?
No it's not! Shoes4 is being developed
right now by a dedicated team. Let me tell you all about it and introduce
you to this beautiful DSL I fell in love with.
This presentation actually is a shoes application, with the slides described in a nice DSL and interactive samples.
As it has no PDF export (yet) the slides are just screenshots :-)
Web Workers - Heavy Lifting on the Client Side (Berlin.js 2013)
Web Workers are your possibility to do some of the heavy lifting
on the client side without blocking the main thread and
ever touching the backend!
They are ready to use as all major browsers, yes even IE,
support them. You can even write a
ray tracer
purely on the client side of the browser. So it's time to get
crazy and creative - this talk can get you started.
Introduction into web applications (Rails Girls Berlin 2012-...)
An introduction presentation I gave a lot of times at Rails Girls Berlin work shops and at my Rails course at the
Humboldt university Berlin. It covers the basics of what web applications are and how the different parts of a web
application play together.