wlodzimierzkrakowskiWelcome to my page that is dedicated to the subject of refactoring. My name is Wlodek Krakowski and I’ve been interested in the subject of quality of code for a quite a long time. I live in Cracow, Poland.

Anyway before I write anything further, let me ask you a question : Is the quality of code the most important thing a programmer should lean towards / think about? Hmm… In my opinion it is not a fully correct question.

It is obvious in teams of business thinking that the goal of each programmer employed in any company is providing business value. This goal is achieved by providing software that works correctly and solves the customer’s issues. If our company is not able to sell its product or provide the required functionality to its clients – then all the software that has been written is useless – regardless of its quality!

And now at this point, once we know that first of all our product need to work correctly and bring the business value to our customers then we can ask the correct question : Is it possible (especially in long term) to provide business value based on code of poor quality like unreadable, untestable, badly-designed?

Believe me : coming into the above conclusions about refactoring too me really a lot of time.

I started as a programmer more than 15 years ago. I did take care of the quality of code and at that time I thought that the quality of the code I write is the goal itself. I was surprised why the business people were not that enthusiastic as I’d expect once I was explaining the improvements / design I’ve been instroducing into my code whereas it still worked… and it worked in the same way…. I was surprised why some people (not all) did not pay some much attention to the design, as long as it worked… (untill our customers were able to find cases when it didn’t and correcting the found defects was introducing next ones…).

A few years ago changed my role a little and became responsible (during 2 years) only for technical trainings. They were related to things like SOLID Design, Refactoring, Refactoring to Design Patterns, JUnit related libraries and so on. At that time I was teaching the others.

Next I became a team leader. I was responsible to building a team from scratch, and we were  writing a new product from scratch. This was (and still it is) a great experience of thinking about quality of code and refactoring, because I could see this issue from different perspectives. At one side we’ve got business people that see the user interface and talk to the clients. At the second side we’ve got deadlines. And finally we’ve got a team, where each member is leaning towards a different design of the code they write and each member might (and does) understand the quality differently… that is nothing surprising in fact.

I did a few talks and workshops at a few conferences

  1. 33rd Degree – Kraków, Poland (currently  devoxx.pl)
    1. Effective Refactoring (2014)
  2. Confitura – Warsaw, Poland (recordings available in Video section)
    1. Effective Refactoring (2014)
    2. Refactoring in Business World (2017)
  3. Java Developers Days – Krakow, Poland (recording available in Video section)
    1. Effective Refactoring (2014)
    2. Refactoring in Business World (2017)
  4. JBCNConf – Barcelona, Spain : refactoring workshops
    1. Inheritance or Delegation (2016)
    2. Test Refactoring (2017)
    3. Refactoring our of God Object Design Antipattern (2018)

In 2013 I took part in a project called Sabre Academy dedicated to students of computer science. I led lectures and workshops about refactoring for students of Jagiellonian University, University of Science and Technology (AGH) and University of Technology (Politechnika Krakowska).

I’ve also led 70+ workshops about refactoring among the departments of the companies I worked for like Sabre (Kracow, Poland & Dallas TX) and Ocado (Krakow, Wroclaw – Poland, Hatfield – Great Britain, Barcelona – Spain).