2014

Apr 30, 2020 by Alexandru Bolboaca in

A four-track May conference, featuring names such as Michael Feathers, Tom Gilb and Felienne Hermans.

Programming contest @I T.A.K.E Unconference

May 05, 2017

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:

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.

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

Nov 26, 2014

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.

I T.A.K.E. Unconference Day 2 – Slides & Videos

Jun 10, 2015

An unconference is as special as its participants. Thank you everyone – Speakers, Facilitators, Bumblebees & Butterflies for working all together, writing code, pairing, solving problems while discussing, listening and sharing knowledge.

After such an awesome gathering of practitioners, we are happy to share the presented slides.

Structured by tracks, find them all below.

I T.A.K.E. Unconference Day 2 – Slides & Videos

 

Keynotes 

James LewisJames Lewis: Microservices – Systems That Are #neverdone

AndreaMocci-PictureAndrea Mocci: Beautiful Design, Beautiful Coding

Hardcore Programming

Cyrille MartraireCyrille Martraire: Monoids, Monoids Everywhere!

Stefan KanevStefan Kanev: Advanced Vim dotfiles

thumb_adi-bolboaca-300x400.jpgAdrian Bolboacă: Architecture for Disaster Resistant Systems

Incremental Development

Marcin DrobikKrzysztof SzabelskiMarcin Drobik & Krzysztof Szabelski: From Zero to Hero: Business Increment in 30 Minutes

thumb_flavius-stef-300x400.pngFlavius Ștef: Big Rewrites Without Big Risks

Technical Leadership

Patroklos-PapapetrouPatroklos Papapetrou: How to Boost Development Team’s Speed

Design

AlexAlex Bolboacă: Usable Software Design

Architecture

thomas-sundbergThomas Sundberg: Walking Skeleton

Johannes EdelstamJohannes Edelstam: The API of the API (with intelligence on top)

Web

Aki SalmiAki Salmi: Object Oriented Views

tim-perryTim Perry: Your Web Stack Would Betray You In An Instant

See also: Day 1 Slides & Videos

We hope to see you again at the next I T.A.K.E. Unconference.

The recorded videos are now being processed. Stay tuned.