One less excuse

It recently dawned on me how often I say or hear the words “our industry is young”.

There’s truth in these words. Architecture, medicine, craftsmanship, engineering – they all started thousands of years ago. They had time to make mistakes, to learn from those mistakes, to come together as a profession and define it, to build tools and practices and to improve upon them, to build curriculum for schools and use it to teach the next generations.

But these words are tricky. They are tricky because they express the perfect excuse. “The industry is young, man, what can I do if we have a lot of bugs? I’m not to blame if I was born so early”.

Continue reading “One less excuse”

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”