For every step you take towards mastery, your destination moves two steps further away. Embrace mastery as a lifelong endeavour. Learn to love the journey.–George Leonard, MasteryIt is with a mixture of sadness and excitement that I wo…
Yesterday I went to my first code retreat, in Winchester UK. In the past I had been sceptical about code retreats since I had doubts if I would really learn something. However, after speaking to a few developers that had been to one before, I was total…
Very recently, I was working on a test class like this:public class AnalyticsExpirationDateManagerTest extends TestCase { private static final long ONE_HOUR_TIMEOUT = 1000 * 60 * 60; private static final long TWO_HOUR_TIMEOUT = ONE_HOUR_TIMEOUT * 2; p…
Recently I was looking for different ways to develop applications in Java and thought that it would be interesting trying to use ActiveRecord in my persistence layer instead of implementing the traditional approach with a DAO. My idea is not to create …
One of the first things said by the non-believers of the software craftsmanship movement was that good and clean code is not enough to guarantee the success of a project. And yes, they are absolutely right. There are innumerable reasons which would mak…
Being an aspiring software craftsman goes way beyond than just saying it. I’ll quote my own definition of software craftsmanship from my previous post. Software craftsmanship is a long journey to mastery. It’s a lifestyle where developers choose to be…
So what is software craftsmanship? A better metaphor: In a very simplistic way, we can say that software craftsmanship is a better metaphor for software development than software engineering, as I wrote in a previous post. Software craftsmanship s…
Is software engineering the best approach for developing software? Does it apply for the majority of the software projects or just a very few of them?Software Engineering was an answer for the perceived “software crisis”, back in 1968, in the First NAT…
A colleague from New Zealand once was telling me about a type of coffee that was originated there. It’s called Flat White Coffee. We were discussing about the difference between this coffee and all the other types of coffee with milk. Eventually we sta…
On a previous post I was discussing, among other things, how code often doesn’t represent the business properly. The code “satisfies” the business requirements but doesn’t express them very well. The main reason for that is because we, developers, like…