- Monthly Meetup - September 2019
When you get out into the world and start modelling, you quickly realize that things can get...Well, hairy. When that happens, it might be time for a Cut & Shave. And that's what this month's speaker Herman Peeren is here to offer: a bunch of tools to slice, dice and remodel your DDD-inspired models into something looking sharper than a straight razor. This month's talk food, drinks and space are provided by the fine folks of Holland Startup, over in the Dotslash event space. So, don't let yourself get overgrown with modelling woes: sit back, relax and slap a hot towel on your face as you talk it out! Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: CUT & SHAVE: Domain Driven Design explained and simplified with the aid of some old philosophers. 20:25 - Raffle & News 20:30 - Social! Main Talk: Cut & Shave In mister Occam's barbershop we'll have Domain Modelling in our chair to have a fresh cut and shave. We'll cut, redefine, rename and rearrange concepts like bounded contexts, ubiquitous language, context maps, aggregates and their roots, entities, value objects and event sourcing. Our modelling tools have grown, but might need some maintenance service... Language is the vehicle of modelling, it is the tool by which we understand the world. Our words are the building blocks of our models. If our language is imprecise, inconsistent or contradictory, so our models will be imprecise, inconsistent or contradictory. Although some practicioners of Domain Driven Design proudly call themselves “domain linguists”, not all DDD-jargon is very well defined. Some concepts come from different paradigms or contain logical errors. Too broad or too narrow definitions introduce unnecessary accidental complexity. This presentation aims to show some mistakes and do proposals to improve the situation. The proof of the pudding is to show how models can be made more useful by that. On our road we'll be helped by some modellers from the past, like Aristotle, Hume, Kant, Wittgenstein or Ryle. And we'll see how a 14th century razor blade can still be sharp. Speaker: Herman Peeren (@HermanPeeren) Herman Peeren is a creative developer who likes exploring new ideas. Modelling is a way to better understand the world around us. Computer Science is Philosophy. Languages carry our thoughts, and that holds for both natural languages and computer languages.
- Monthly Meetup - August 2019
Pick up phone. Dial number. "Hello, Operator? Get my Kubernetes cluster on the line! That's right, the new one, the managed one, the one that makes it easy to manage, see? Yes, Kubernetes Operators, that's the one I want! Yes, I'll hold. What's that? Ádám Sándor is there to take my call and answer all my questions? He's a smart chap, yes he'll do nicely! And what's that? The whole thing is hosted by those wonderful folks at Frontmen? Well, of course, they'll throw in food and drinks, they're lovely like that. Yes, yes, I'll see you then. Thanks Operator, you've been a great help! Good bye!" *click* End call. Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: Kubernetes Operators - The Next Frontier in Application Automation 20:25 - Raffle & News 20:30 - Social! Talk: Kubernetes Operators - the next frontier in application automation Terraform, Cloud Formation and similar tools are great for provisioning new infrastructure. Kubernetes provides the next step by continuously monitoring the resources it creates and making sure they are working correctly. However standard Kubernetes resources like Deployment and StatefulSet only get you as far. Many application require special treatment during their lifecycle, which most of the time is still left to human operators. Kubernetes Operators offer a new way to fully automate management of any application. I will explain what are Operators, and show how to create one. Live demo included! Speaker: Ádám Sándor (@adamsand0r) After long years of building software and throwing it over the wall, I happily dived into Cloud Native to break that wall down for good. Now I'm spreading the word about Kubernetes, Continuous Delivery and Docker to all who are willing to listen. I mainly do this in my job as a Cloud Native Consultant at Container Solutions.
- Monthly Meetup - July 2019
- Monthly Meetup - June 2019
Do you often feel dirty whilst working on your monolithic application? And do you wish for a way to wash off the dirt this giant thing collected over the years? Look no further, cause Herberto Graça is here to help keep the mud out of your application by sharing a bunch of cleaning lessons he learned over the years! Food, drinks and space are provided by the lovely new folks of Highstreet Mobile (https://jobs.highstreetmobile.com/), so don't be afraid to get dirty and join us cause this is a night you don't want to miss out. Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: Making architecture explicit 20:25 - Raffle & News 20:30 - Social! Talk: Making architecture explicit The Big Ball of Mud is the most serious problem I see in the majority of the code bases I look at. But why do we keep falling into that trap? What are the root problems behind it? How can we avoid, escape, and stay out of it? In this talk, you will learn about the architecture mental map I use to answer these questions. We will briefly revisit a few established software development and architecture ideas and see how you can put them in your service, exemplifying with some bits of code and tooling, to help keep the mud out of your application. The main topics of the talk are: - The Big Ball of Mud problem - Overview of DDD, Hexagonal, Onion, Screaming, Clean, CQRS - How to organise the code base to reflect architecture boundaries - How to enforce the architecture boundaries Speaker: Herberto Graça Herberto Graça is a senior software developer at Werkspot, in Amsterdam. The first time he coded was in the late 1980s, on his cousin’s ZX Spectrum computer. He graduated from University with a Bachelor in IT, plus a Specialisation in Teaching and a Masters in School Leadership and Management. He had a half year experience as a JAVA developer, and worked as an IT teacher for eight years, while he also did some occasional freelance work before he decided to become a full-time software developer. When he is not coding for work or in a pet project, he spends his time reading a book, riding his motorbike or writing about software development and software architecture on his blog. You can follow Herbert on his blog (http://herbertograca.com/) or via Twitter (https://twitter.com/hgraca).
- Monthly Meetup - May 2019
IMPORTANT Note #1: There's a first for everything, this month we'll be the guests of the hard working folks of the NS (Nederlandse Spoorwegen) IT department however - very unfortunately - their operational colleagues have announced a STRIKE for this day. So if you're planning to come by train please check beforehand if you're affected: https://www.ns.nl/reisplanner#/. Both NS IT department and DomCode are really sorry about this but this is out of our control. IMPORTANT Note #2: The entrance of the location is at Utrecht Central Station behind the gates which means you need a valid OV chip card (which won't be charged). If you don't have one please let us know we arrange something for you. --- Mobile apps have been with us since the early 2000's and have come a long way since then. As a developer there is still one hurdle though: you have to maintain versions for each major platform... But what if you didn't have to?, At this months meetup Dylan Drost will introduce us to the wonderful cross platform flutter development framework! Our new friends at the IT department of NS (https://werkenbijns.nl/) will provide the space, food and drinks! Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: Creating a Flutter app 20:25 - Raffle & News 20:30 - Social! Talk: Let’s take a dive into the flutter framework and see why it might be a good solution for creating cross platform app on mobile while still running natively. Speaker: Dylan Drost (@aegis321) Freelance Android developer mostly working in Kotlin. Beside creating awesome apps I help my wife run a food blog by being the taste test subject and help my site is on fire fix it fix it. You can find him on Twitter: https://twitter.com/aegis321, GitHub: https://github.com/aegis123 and if you would like to see some Flutter code check out: https://gitlab.com/dylan.drost Location: The location is inside Utrecht Central Station (check the photo section for a photo of the entrance) Utrecht Katreinetoren Stationshal[masked]CE Utrecht
- Monthly Meetup - April 2019
- Monthly Meetup - March 2019
It's time to climb the career ladder. Unfortunately, the ladder doesn't seem up so much as...sideways? Maybe diagonal? A figure eight? Why would you even make that ladder? Fear not though, this month's we've got Volker Dusch congratulating you on your new position with his talk: "You Just Became a Team Lead? ...Now What?" It's all about everything new you never knew you never knew but you needed to know to do the new thing you're now doing. Good luck! The lovely folks of Jouw Omgeving (https://www.jouwomgeving.nl/vacatures/) will be providing space, food and drinks, so don't be afraid to take the lead and join us! Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: You Just Became a Team Lead. Now What? 20:25 - Raffle & News 20:30 - Social! Talk: You Just Became a Team Lead. Now What? Maybe you built the first version of your product many years back on your own, and your endeavor is growing. Maybe you've been with the company for a couple of years, and people trust you a lot. Maybe nontechnical coworkers always approached you first because you've been able to explain things clearly to them. Whatever happened: YOU ARE IN CHARGE OF A TEAM OF PEOPLE NOW. Moving away from primarily dealing with code to dealing with people can be scary. But don't panic! You are already working on effectively communicating with your coworkers a lot through your code, in planning, and on many other occasions. Like all the other skills you have picked up along the way Leadership is something you can learn and iteratively improve. This talk aims to walk you through most of the challenges I have faced or helped others work through when taking this journey in companies that work with web technologies. We'll discuss topics including process management, team motivation, recruiting, growing people and how to actually get something useful out of these dreaded 'performance reviews' you might be asked to do. Speaker: Volker Dusch (@__edorian) Volker Dusch is a Software Developer born in Germany and working for the CastorEDC a cloud-based Electronic Data Capture platform that enables every researcher worldwide to easily capture high quality, reusable data. He started programming with PHP in the early PHP 4 days and has over 15 years of experience with the language. Having worked on big home grown legacy applications and with new 'modern' projects he is interested in keeping code maintainable so that it can be adapted fast and easily to new requirements in growing organizations. You can find him on twitter http://twitter.com/__edorian, GitHub https://github.com/edorian and Stackoverflow http://stackoverflow.com/users/285578/edorian
- Monthly Meetup - February 2019
They say you can walk a mile in someone else's shoes...but nobody said it was on the same road. This month, Job van Achterberg returns to discuss The Imitation Game. How effective in understanding a disability is simulating a disability yourself? For that matter...how effective are simulations at all? We can talk about it but what does science say about it? Together, let's find out. Our fine friends at Infi will be hosting us once again, as well as providing some healthy food and drink (vegetarians and vegans, step right up!) as we Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: The Imitation Game 20:25 - Raffle & News 20:30 - Social! Talk: The Imitation Game Disability simulations are controversial. Some consider them a useful teaching tool, while others, especially those in the disability community, consider them flawed approaches, prone to stigmatisation. What evidence have psychological studies shown regarding the effects of disability simulations, and can disability simulations bring added value towards the design and development process? A research-backed look at simulation effectiveness. Speaker: Job van Achterberg (@detonite) Job works on web accessibility software at Tenon, and helps old ladies cross the street as a volunteer firefighter. He speaks on the intersection between assistive technology and ethics. He'll talk about writing quality Perl if you buy him some scotch.
- Monthly Meetup - January 2019
Coding is tough. Legacy code can be even tougher. And when the going gets tough, the tough get tougher. At least, that's according to this month's speaker, Matthias Noback, as he shares his new talk "Brutal refactoring, Lying code, the Churn, and Other Emotional Stories From Legacy Land." Food, drinks and space will be provided by the fine folks of Backbase, as we start off the new year in typical Dutch tradition: with one heck of a bang! Schedule 19:00 - Doors open with food & drinks 19:30 - Welcome 19:35 - Talk: Brutal refactoring, Lying code, the Churn, and Other Emotional Stories From Legacy Land. 20:25 - Raffle & News 20:30 - Social! Talk: Brutal refactoring, Lying code, the Churn, and Other Emotional Stories From Legacy Land Working effectively with legacy code isn’t all about creating test harnesses before refactoring algorithms. The “safety first” strategy doesn’t always apply. Not if the code you’re looking at is LYING IN YOUR FACE anyway. In this talk I’ll show you what brutal refactoring is. I’ll show you the red glowy eyes of the Churn. And I’ll hold up some big warning signs that should prevent you from producing legacy code today. Table flips allowed. Speaker: Matthias Noback Matthias Noback has 15 years of experience in web application development. He is the author of Principles of Package Design (https://leanpub.com/principles-of-package-design), Microservices for Everyone (https://leanpub.com/microservices-for-everyone) and Style guide for Object Design (https://leanpub.com/object-design). While always striving for better programming practices in general, he's taken a special interest in application architecture, Domain-Driven Design, testing, microservices and application integration patterns.
- Holiday Party - December 2018
It's the most wonderful time of the year! The busy holiday season is upon us, so we're celebrating a week earlier than our regular DomCode scheduling of last Tuesday of the month. Join us in raising a few glasses to round off the year of 2018! In lieu of our monthly tech talk, we'll meet up at Stairway in downtown Utrecht to hang out and have a good time. Please be aware that this is an unsponsored meetup, so any snacks and drinks are at your own expense! Note: We've reserved spots for 20 people but if more RSVP, we'll increase our booking so just signup if you want to come. :) Come, have a drink with us and unwind a bit. But whether you can make it or not, Happy Holidays from everyone at DomCode, thanks for another great year!