CategoryCraft

Software craftsmanship is the movement that saved me from becoming a developer angry at managers, customers and colleagues. It gave me a direction and it helped me learn much more than I ever expected.
Software craftsmanship is a complex phenomenon, mixing social learning (communities), technical practices, the idea of continuous learning and improvement as a professional (either alone or with the help of others) and the attitude towards managers, customers and colleagues. It’s under development, and will probably continue to be for many years.

I was part of the movement very early and I have some strong opinions about it that I try to document here.

Three Problems For The Next Era of Software Craftsmanship

T

In 1900 David Hilbert challenged the best mathematical minds to solve 23 problems. This set of problems has influenced the mathematics of the next century, leading to surprising discoveries. Probably the most shocking discovery was that axiomatic systems have inherent limitations. Today, a different set of very bright people face a new era. 7 years of Software Craftsmanship has led to changes in...

What Is Really TDD?

W

Every once in a while, I have conversations with people about what really is TDD. Since I built a certain knowledge on the topic in time not only by using it but also by explaining it to others, I decided to write this article that details my definite view on what TDD is. I hope you’ll find it useful. Short Version This is a long article. If you’re in a hurry,  this is the 5 minutes...

The Craftsman I Would Like to Be

T

A few weeks ago I visited an amazing city that has become one of my favourites, Barcelona. Whenever I visit a new city, I try to see it not only as a tourist but also from the point of view of people living there. As such, I prepare by reading about its history, daily life, local food, industry, status. I was expecting to have a great time in Barcelona, a city well-known for its good food, nice...

A Programmer Story

A

Last couple of weeks, a few things happened that made me think. First, I started building a prototype for a Java application in Grails using Eclipse. Second, I wrote some small tools for Mozaic Works in python using Eclipse or vim. Third, I am involved in a startup that uses PHP to develop a great game. Fourth, I had my first TDD in C++ workshop in Stockholm. And, not to forget, my laptop runs...

Refactoring Keeps Functionality Intact

R

The development team gathers to find a solution to cut technical debt. “We cannot finish this feature in time. We need to change too much code to do it”. Joe, the technical lead, was always direct and honest. “What would help?” Bill, the manager, was not happy, but he trusts Joe. If he told him that’s a big problem, he’s certainly right. “We need to...

alexbolboaca.ro Reflections on design, craft and software

A new home for merging ideas about design

It is my strong belief that software design can learn a lot from other design disciplines. I wrote blog posts, a book and did talks on this topic, and it was time to group them all together. These ideas have now a new home: https://codedesigner.eu. My plan is to add more blog posts there, and to involve other people doing work in this area.

Read My Book “Usable Software Design”

How UX techniques can be applied to software design to develop software better (given that the developer is the user of software design).

Read My Book “Coderetreat Hosting And Facilitating”

Learn how to facilitate and host a coderetreat from two of the most experienced coderetreat facilitators.