Meet Michael Feathers, Keynote @ I T.A.K.E. Unconference

May 06, 2020 by Madalina Botez in  Software Craft

 “For as long as I can remember, I’ve been interested in why things are the way that they are. Over time, that intense curiosity has driven me to learn as much as I can about object orientation and software development in general. I like to find out what works, and what doesn’t and tell people about the boundary conditions.

Michael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design.
Over the past 20 years, he has consulted with hundreds of organizations, supporting them with general software design issues, process change, and code revitalization.

Prior to that, he was the Chief Scientist of Obtiva and a Senior Consultant with Object Mentor International. Later on, he became a Member of the Technical Staff at Groupon.

Michael introduced a definition of legacy code as code without tests, which reflects the perspective of legacy code being difficult to work with in part due to a lack of automated regression tests. He also defined characterization tests to start putting legacy code under test. 

Over the years, Michael has spent a great deal of time helping teams after design over time in code bases.

A frequent presenter at national and international conferences, Michael is the author of the book Working Effectively with Legacy Code (Prentice Hall, 2004) and also has written a tool that creates FeatureDiagrams for Java classes.

Curious to hear one of Michael’s latest talks? Join us on the 12th of May at the 8th edition of I T.A.K.E. Unconference.

Software craftswomen: Claudia Rosu

Mar 29, 2016

In celebration of Women’s Day, this March we salute yesterday & today women’s contribution to the development of the technology and IT fields. Follow #famousITwomen to find interesting stories. They might motivate and encourage you to do something out of the ordinary in your career. 

The importance of women in Science, Technology, Engineering & Math has been gaining a momentum in the last years. At I T.A.K.E. Unconference, we value women’s contribution in IT and we believe their dedication to the software craft can be an inspiration for other practitioners.

In the latest posts we invited you to learn more about the contribution women have in IT as Fransizka Sauerwein, Alexandra Marin and Grace Hopper.

Now it’s time to introduce you Claudia Rosu, software craftswoman speaking @ I T.A.K.E Unconference 2016.

 

Screen Shot 2016-03-29 at 2.49.16 PM

#1. What’s your professional story?

Why did you choose to develop a career in this domain?

First, I will say that I am proud to be a software developer. Since primary school I loved to solve math problems. Later, during high school, I was encouraged to follow Computer Science, as I had good logical and analytical thinking skills. Looking back, I would follow the same path, and I would change just a few things. 

What I would do differently is to rely more on my skills and spend more time reading. One story that changed my professional growth for the better: early in my career, my senior developer colleague told me that it is great to have a girl in the team as we pay more attention to details and we don’t leave bugs in the code :). 

 

On the reading side, I would include technical and non-technical books, which help us develop skills to: write quality code, communicate and collaborate better, focus on continuous improvement. With confidence in my skills and discipline in reading, I can now deliver quality software that helps the users in their activity. Extra, I am organizing and facilitating community events, speak at various gatherings to share my experience & learn others.

 

#2. Share with us a lesson you’ve learned since you’ve been working in IT

It is said that to be a great programmer you need strong technical skills. This is what I have learned during university. And it is true. What I didn’t know is that this is not enough. Having other skills like creativity, courage, openness and initiative is even more important. Since realizing it, it is easier for me to improve as a professional, on both soft and technical skills. 

 

#3. Whom do you admire as a women IT practitioner? Why?

I admire most Rebecca Wirfs-Brock. I believe she can be a true inspiration for all women working or want to work in technology. I’ve met Rebecca 3 years ago at the first I.T.A.K.E. Unconference and since then I have learned a lot from her knowledge and experience. Improving the way I am doing software design is easier because of her insights on this topic.

 

Want to meet Claudia? Join her & other amazing speakers at I T.A.K.E Unconference 2016!

Hack your journey to software craftsmanship with martial arts practices

Apr 29, 2017

code-kata

“Whatever luck I had, I made. I was never a natural athlete, but I paid my dues in sweat and concentration and took the time necessary to learn Karate and become World Champion.” – Chuck Norris (American martial artist and actor. Also, the only man who has counted to infinity. Twice.)

 

 

Japanese concepts from martial arts become common practices in software craftsmanship. It is known that thousands of software developers aiming to become craftsmen are mastering their skills using them.

In fact, in the software industry developers are taught the theory and thrown straight into working on a project. The practice is done on the job, and mistakes occur. Applying the theory is not enough, greatness comes from practising. What makes a programmer to be great is the practice done beyond the software development current job. That’s why so many developers nowadays practice Code Kata.

Why would you do Code Kata?

In karate a kata is an exercise where you repeat a form many times, making small improvements each time. The intent behind code kata is similar. Each iteration is a short exercise (about 30′ to 1-hour duration). The point of the kata is not arriving at the right solution, but to learn some stuff along the way. The only goal is to practice.

Exercise your programming muscles in a way you enjoy and see the progress you make.

According to Code Kata, you need a good practice session and you have to make it fun: you need a bit of time without interruptions, and a single problem to solve in iterations; do as many iterations as it takes for you to improve, and be comfortable making mistakes.

What is Code Kata?

code kata is an exercise in programming which helps a programmer improve their skills through practice and repetition. The term is considered to be coined by Dave Thomas, co-author of the book The Pragmatic Programmer: From Journeyman to Master, in a bow to the Japanese concept of kata in the martial arts.

An example of Kata

Repeat solving the same problem (as the one below), until you know it by heart. You can be sure the next time it pops-up in production it will take you seconds to get it done.

Think of binary numbers: sequences of 0’s and 1’s. How many n-digit binary numbers are there that don’t have two adjacent 1 bits? For example, for three-digit numbers, five of the possible eight combinations meet the criteria: 000, 001, 010, 011, 100, 101, 110, 111. What is the number for sequences of length 4, 5, 10, n? Having worked out the pattern, there’s a second part to the question: can you prove why that relationship exists?

Practice Code Kata at I T.A.K.E. Unconference

On 11-12 May 2017 in Bucharest, there’s a Kata Lounge track waiting for you.
During the 2-day program, at any time, you can join this track to pick up a challenge and start the kata session. The challenge contains the problem (called kata), the time you have for your session, and the name of the person who will review your code. The reviewer will help you improve your coding skills.
Invest a bit of time in your coding-craft. Don’t miss the Kata Lounge as well as many other hands-on sessions at I T.A.K.E. Unconference.

I T.A.K.E. Unconference, 8th edition: Slides & Photos

May 14, 2020

Thank you to everyone who made the 8th edition of I T.A.K.E. Unconference amazing: Keynotes, Speakers, Partners, Participants, Team! Let’s keep on Raising the Bar by Challenging Ourselves.

Here’s a short recap of this edition, with the corresponding slides (to be updated)

Lemi Orhan Ergin – 10 Faulty Behaviours of Code Review
Alex Bolboaca – Deliberate Practice Formats and Patterns
Carlos Blé – Refactoring to Value Objects to get rid of the Primitive Obsession
Michael Feathers – Unit Testing and Modularity
Emily Bache – Approval testing
Xavier Detant – Not-so-serious games for serious work
Rebecca Wirfs-Brock – Grow Your Personal Design Heuristics

Get a feeling of the 8th edition from our photos on Facebook.

Interested in what’s next at #itakeunconf? Drop us a line and you’ll be the first to know when registrations for the 9th edition will be opened.

Leave a Reply