For The Perfect Programmer

There’s nothing to read here for you. Really, nothing at all.

You are a perfect programmer. Your code is the best you’ve ever seen. We all bow to your wisdom and awesomeness.

There’s nothing more for you to learn. There’s nothing left to practice. There’s nothing left to read, no conference that can teach you things, no community that can advance your skills.

There’s nothing for you in this blog post.

Continue reading “For The Perfect Programmer”

An Attempt At Clarifying The “Software Design” Vocabulary

The teaser

“Design” is an overloaded term that causes confusion in software development. It has at least three meanings: design as result (as in “the design of the application is easy to change”), design as process (as in “I designed it using Test driven development”) and design as aesthetics (as in “I love this design”).

A clear vocabulary is the sign of a mature profession. Therefore, as an effort to advance our profession, I propose fixing the confusion using a more precise set of terms. You’ll find a glossary at the end of this blog post.

Continue reading “An Attempt At Clarifying The “Software Design” Vocabulary”

Three Problems For The Next Era of Software Craftsmanship

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 the world of software. I can travel almost anywhere in Europe and find a community connected to software craftsmanship. People from the community authored books and articles. We stay in touch all the time thanks to modern technology such as slack, twitter, facebook and meetup. Local communities and companies organize conferences. And a brave member of this community started a newsletter, trying to guide us through the news in the field. We share what we love and we love to share.

Continue reading “Three Problems For The Next Era of Software Craftsmanship”

What Is Really TDD?

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 version:

Continue reading “What Is Really TDD?”