How we did it: The Story of a Website with Andreas Leidig

Andreas Leidig has broad experience in object oriented software development and agile practices. He started programming years ago with Smalltalk and worked as an agile coach for a few years. Nowadays he is working full-time in developing enterprise software products.
His talk is about how to set up a community project through a professional use of state-of-the-art technologies and collaboration methods: node.js, continuous integration, github, javascript, evolving design, noSql, testing, software craftsmanship, XP. A fly through the architecture, design and specific aspects of their product.
Enjoy his presentation @ I T.A.K.E. Unconference 2014 edition.
Check out more about I T.A.K.E. Unconference 2015 or see directly the Schedule.

Programming contest @I T.A.K.E Unconference
As for every I TAKE Unconference edition, we want to give a chance to the software crafters from the audience to showcase their skills and learn more in the process. And because we appreciate passion, we offer a prize to those who convince a jury of well-known international developers that they are the most skilled in the room.
This contest is not meant to be easy. It will require you to practice beforehand, so please read the instructions carefully.
It will also require you to register before the event.
Mechanics
- IMPORTANT: Register to the contest latest one day before I TAKE Unconference by sending an email to steliana.moraru@mozaicworks.com
- On the first day of the event, after lunch, you have max 15′ to do a performing kata in front of the jury.
- The winner will be announced at the end of the second day
Constraints
To simplify the jury’s decision, the performing kata has to conform to the following constraints:
- Only the following programming languages are accepted: Java, C, C++, C#, Python, Visual Basic .NET, PHP, Javascript, Swift or Ruby
- Only solo contestants are accepted. Sorry, no pair programming this time
- The kata has to showcase refactoring skills.
- The kata has to last max. 15′
How we will judge
The jury will judge your refactoring skills.
The ideal kata looks like this – you will get maximum point if you:
- clearly state the smells you see in the code
- pick one of the smells
- clearly state your plan to fix the smell
- fix it in small, safe steps
- run tests after each step to prove you didn’t break anything
- commit after each step with a clear message explaining why you made the change
- fix as many smells as possible within the time constraint
You will loose points if you:
- make big or unsafe changes to the code
- break the behaviour after changing the code
- don’t improve the code a lot
- don’t improve the design by the end of the kata (hint: we judge design using SOLID principles and the four elements of simple design)
Recommendations
To help you, we’ve thought out what we would do if we participated to such a contest. Here’s what we recommend.
1) Use one of the following codebases for the kata:
- https://github.com/emilybache/GildedRose-Refactoring-Kata
- https://github.com/emilybache/Tennis-Refactoring-Kata
- https://github.com/emilybache/Yatzy-Refactoring-Kata
- https://github.com/emilybache/Parrot-Refactoring-Kata
2) Practice beforehand on the structure we presented for the ideal kata. Ideally find someone to practice with.
3) Watch other people refactoring. YouTube has many videos on the topic, including using the recommended code bases.
Glossary
A programming kata is a repeatable exercise used to practice specific skills.
Performing kata means doing a kata in front of an audience.
Refactoring means changing the internal structure of the code without changing its behaviour.

Registration is now open
Registration for I T.A.K.E. Unconference 2015 is now open. Just the first 30 participants will benefit from the Supporter Ticket. Here are some highlights from the Schedule we have prepared for your high tech delightment: |
- Architecture – Microservices & Web components are the same with Tim Perry
- DevOps – How Docker tricked me in DEvOps with Sebastian Korfmann
- Developer’s Life – Power up: Learn how to recharge your energy bar with Andrew Hall
- Executable Specifications – Living Documentation Jumpstart with Cyrille Martraire
- Hardcore Programming – Clojure, Clojure Script why they’re awesome with Stefan Kanev
- Web – Object-Oriented Views with Aki Salmi
- Technical Leadership – How to boost development team’s speed with Patroklos Papapetrou
- Kata Lounge – Receive some requirements, respect the timebox, and then somebody will review the code with you and give you ideas for improvement
- Product Development – You will produce software live
Are you ready to write code, analyze architectures and technical strategy and immerse yourself into this awesome gathering of software passionates?
If Yes, Register to be part of the awesome 2015 I T.A.K.E. Unconference.

Meet the speakers – Part 2. Super early bird tickets available!
Software craftsmen from more than 15 countries will meet in the heart of Bucharest, 19-20 May, at I T.A.K.E Unconference! For 2 days, almost 30 speakers will share insights, latest trends, and deliver hands-on sessions.
We have previously shared the first round of practitioners who will make this year event a one not to be missed. Below, you can read more about the next 5:
Franziska Sauerwein, Software Craftswoman at Codurance LTD, UK
Introduction to Outside In Test Driven Development (London School) (Live coding)
Learn about different styles of TDD and how to choose the appropriate one
Raising The Bar (Talk)
My Journey Towards Software Craftsmanship
Philipp Krenn, Tamer of technology at ecosio, Austria
Automate all the things AWS with Ansible (Workshop)
You want to automate your AWS infrastructure, the provisioning of instances, and your deployments? Then Ansible is the right tool for you and this workshop gets you up and running in no time
Tugberk Ugurlu, Software Developer at Redgate Software, UK
How Docker Changes the Way You Work with and Release Your Microservices (Talk)
1000 feet overview of managing a solution architecture that consists of Microservices with Docker
Zero Downtime Deployment Golden Rules (Talk)
Getting Into the Zero Downtime Deployment World
Tim Perry, Tech lead and Open-Source Champion at Softwire, Spain
Microservice Pipeline Architecture (Talk)
Microservice architecture in practice, to build content pipelines
Andrey Adamovich, Software Architect at Aestas IT, Latvia
Patterns for infrastructure as-a-code (Talk)
Patterns are everywhere
Visualizing codebases (Talk)
Want to challenge the current programming practices as these software craftsmen are doing? Want to experience new techniques, debate on the existing ones or even pair program in the I T.A.K.E Unconference space?
Get your Super Early Bird ticket today!
Stay tuned. We will continue publishing more about the program, speakers and the dynamic learning practices awaiting you.
Thrilled to see you in May!