Speaker: Victor Rentea
18.00 - 18.30: Reception
18.30 - 19.30: Part 1 - Evolving a Clean, Pragmatic Architecture (programming language-agnostic)
19.30 - 20.00: Break with snacks and drinks
20.00 - 21.30: Part 2 - Extracts you select from 1-2 training topics in Victor's curricula, live-coding in Java.
Who's the speaker?
Victor Rentea is one of the top Independent Trainers in Romania, having trained by now 1200+ developers in 30+ companies. He is Lead Architect at IBM, where he practices Pair Programming, Clean Code and Refactoring every day. For the community, he organized the largest 3 Bucharest Java User Group meetups in history, and last year he founded the Bucharest Software Craftsmanship Community in which he runs free webinars about clean code, refactoring and TDD. As a speaker, Victor is now regularly invited at the top international conferences: his live-coding sessions are insane, lightning-fast but well crafted, full of enthusiasm, deep insights and take-away tips. To learn more about/from him, follow his daily thoughts on LinkedIN, Facebook or Twitter, or check out http://victorrentea.ro.
Part 1: Evolving a Clean, Pragmatic Architecture (programming language-agnostic)
In a mood for a closing brainstorm? Let’s have a critical review of the major decisions taken in a typical enterprise application architecture and learn to balance pragmatism with design goals. Find out how to do just-in-time design to keep as many use-cases as simple as possible (KISS).
We’ve all seen that without continuous refactoring simplistic design eventually degenerates into a Big Ball of Mud, under the assault of new features and bugfixes. At the other end, over-engineered code can burden the start-up of the development and then end up freezing the code in some rigid ‘a-priori’ design. It’s up to us to strike a balance that will preserve Developer Happiness™. To do that, we should regularly challenge the architecture of our system and seek ways to simplify it to fit our present needs, with a pragmatic mindset.
“Architecture is the art of postponing decisions”, said Uncle Bob. This session takes this idea further and explains how to Evolve a Pragmatic, Clean Architecture (aka Onion), guiding the design by what Genetic Programming would call a fitness function. It’s the philosophy Victor applied to design and develop 9 applications for IBM, and a key topic of the trainings he delivered at dozens of companies.
Along the way, you’ll also get a nice review of the fundamental data structure types, how to keep the logic simple by two types of extractions, enforcing boundaries using dependency directions, and crafting a testable design, all in a fun, dynamic and interactive session.
Part 2: Your selection.
During the break, the participants will vote what they want us to discuss during the second part of the meetup, as much as will fit in the remaining time. The options will be extracts of the most interesting snippets from Victor's training curricula (http://www.victorrentea.ro/#training), composed of slides and live-coding in Java. The options will include: jdk8, Mocking, TDD kata, Spring @Transactional.