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

May 05, 2017 by Madalina Botez in  Announcements

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.

[Video] Henk Boelman – Unleash some AI into the wild

Apr 18, 2018

Want to know more about Unleashing some AI into the Wild? Here we have a short teaser from Henk Boelman.

He started out as a software developer in the late ’90s and later moved on to the role of architect. He now guides organisations in their cloud adventure, with a strong focus on cloud native software development.

Watch the teaser of his keynote presentation!

 

 

Other videos:

Alexandre Bauduin – Automation, Aviation and Mission Critical Software

Brutal Building Constraints

Apr 06, 2017

Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

Peter Kofler is a software developer since 17 years and still enthusiastic about writing code. At I T.A.K.E Unconference, he will share more about Brutal Coding Constraints.

 

#1. Please share with us 5 things you did that helped you grow & become the professional you are today

1. The biggest thing I did that changed me was a Journeyman Tour. For three months I visited different companies in Vienna and paired with their developers. See here for more information. (Three Month Journeyman Tour)
2. This included a lot of pair programming with strangers. I like pair programming and make use of it to learn from others. (Pair Programming)
3. I did (and still do) a lot of Code Katas to practice and experiment with code, patterns, and design. (Code Katas)
4. Try to continuously improve.
5. Read technical books.

 

#2. What challenges will the participants find solutions to during your session at I T.A.K.E Unconference 2017?


Yes, my session, the Brutal Coding Constraints, is a real challenge. It challenges our perception of Object Orientation and aims to deepen our understanding.

 

#3. Recommend for the participants 3 sources you find inspiration from and would help them better understand you 


* Michael Feathers – The Deep Synergy Between Testability and Good Design
* Bryan Liles – TATFT – Test All the F…in Time
* J.B. Rainsberger – The Worlds Best Introduction to TDD

 

Want to join Peter and ~300 software crafters from around Europe?

Register now for I T.A.K.E Unconference 2017!

Hexagonal Architecture Ports&Adapters with J. Martinsson & R. Sanlaville

Feb 10, 2015

Until recently, layered architecture was the most common way of organizing large applications or modules. We’ve learned from practice that it has limitations:

  • business rules tend to escape or be duplicated in UI and/or data layer
  • switching from a database to another is very difficult
  • adding another UI to the application (eg. mobile or smart client) requires heavy changes
  • changing a library used by the application with another is often complex and risky

A new architecture style has appeared in the recent years that tackles this problem: Hexagonal Architecture, or Ports & Adapters. Its intent is to allow more flexibility by cleanly separating business rules from everything else.

Johann Martinsson and Rémy Sanlaville have described the basics of Hexagonal Architecture and then shown an example of such an architecture.

Enjoy their presentation @ I T.A.K.E. Unconference 2014 edition. Curious about 2015 edition?

Check out more about I T.A.K.E. Unconference 2015 or see directly the Schedule.

Leave a Reply