Rebecca Wirfs-Brock: Maintaining Your Code Clint Eastwood Style 

Dec 01, 2016 by Madalina Botez in  Announcements

Rebecca Wirfs-Brock is the object design pioneer who invented the set of design practices known as Responsibility-Driven Design (RDD), the first behavioral approach to object design. She is the lead author of two software design books and design columnist for IEEE Software. By accident, she started the x-Driven Design meme (TDD, DDD, BDD…). Although best known for software design, she is has a passion simply expressing complex requirements and effectively communicating software architecture.

Rebecca shared with the audience how to maintain your code in the keynote address from the first edition of I T.A.K.E Unconference. Watch below her remarks!

 

Code. Craft. Learn. Share. Repeat. Call for Speakers for I T.A.K.E Unconference, 5th edition, is open! Apply here.

Mutation testing

Apr 28, 2016

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

Nicolas Fränkel, Software Architect with 15 years of experience in a wide range of contexts, University teacher, experienced trainer and book author will join as speaker I T.A.K.E Unconference 2016. In his talk, he will explain how Code Coverage is computed and what its inherent flaw is. Afterwards, he will describe how Mutation Testing works and how it helps pointing out code that is tested but leave out corner cases.

i-take-unconference-speaker.010

 

#1. SHARE TOP 3 THINGS YOU DID THAT HELPED YOU GROW & BECOME THE PROFESSIONAL YOU ARE TODAY

  • I chose to become a programmer, because during my architectural studies, there was a course on POV-Ray, a ray-tracing software where scenes are described with a language
  • I now avoid not well-understood bash commands after trying to execute a find with exec rm command on a production server and starting deleting the server’s filesystem
  • I value knowledge sharing since I started teaching a very long time ago

#2. WHAT CHALLENGES WILL THE PARTICIPANTS FIND SOLUTIONS TO DURING YOUR SESSIONS @ I T.A.K.E UNCONFERENCE 2016?

During my talk, Mutation testing to the rescue of your tests, ​I will not provide a solution but challenge attendees beliefs. Code coverage is the most talked about metric when we speak about quality, but it​s only quality is that it’s easy to compute. In my code, I will show it means nothing, and provide you something more reliable to work with.

#3. WHAT ELSE WOULD YOU LIKE TO SHARE WITH PARTICIPANTS?

​I’m a Java geek, through and through, but also ski in winter, run, play squash, sketch nudes, write books, and am currently learning Russian and Kotlin.​
logo ITAKE 2016

 

Want to join Nicolas and many more software crafters from around Europe?

Join I T.A.K.E Unconference 2016!

I T.A.K.E. Unconference Day 1 – 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 1 – Slides & Videos

 

Keynote

simonbrown-squareSimon Brown: Software Architecture as Code


Hardcore Programming

stefan-kanevStefan Kanev: Clojure, ClojureScript and Why They’re Awesome

igstanIonut G. Stan: Let’s write a type checker + Code

Quality Practices 

Igor-PopovIgor Popov: Mutation Testing

MukhinaSvetlana Mukhina: Metrics that bring value

Patroklos-PapapetrouPatroklos Papapetrou: Holding Down Your Technical Debt with SonarQube

Executable Specifications 

Cyrille MartraireCyrille Martraire: Living Documentation Jumpstart

Developer’s Life

Andrew-HallAndrew Hall: Power Up: Learn How to Recharge Your Energy Bar

Krasimir-TsonevKrasimir Tsonev: 7 Rules to Get the Things Done

Thomas SundbergThomas Sundberg: The responsible Developer

Architecture

tim-perryTim Perry: Microservices and Web Components Are The Same Thing

robertIMG_2123Robert Mircea & Virgil Chereches: Our Journey to Continuous Delivery


DevOps

cegekaAndrei Petcu: Rocket vs Docker: Battle for the Linux Container

AlexAlex Bolboacă: Why you should start using Docker?

See also: Day 2 Slides & Videos

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

The recorded videos are now being processed. Stay tuned.

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.

Leave a Reply