InterVenture Best Practices: Craftsman, Not a SmithPosted by InterVenture on June 16, 2015
Writing code is a beautiful experience. Every programmer will surely testify it is. Writing software is a different thing, though. It is a job, and it comes with things not so attractive. First of all, it comes with customer requirements. Then it comes with schedules and deadlines. It is also known of constant change, which greatly undermines team’s efforts to deliver what was planned. Passion of coding gradually fades away, letting it all become more of a code smith kind of work.
When that happens, and it happens in virtually every software project, we look for ways to contain the difficulties and keep the project in track. Otherwise, code would begin to rot and team’s ability to progress further would be jeopardized.
The answer is in turning the coding practice into craftsmanship. It is not simple and it is far from easy. It takes time and endurance, it requires guidance and talent. But it requires less today than it used to ask for in the past. As in any other profession, one can become a craftsman by walking the elephant paths made by the craftsmen of the past.
We have seen structured programming, object-oriented programming, functional programming, aspect-oriented programming, and so on, all of that in a life span of a single programmer. Talking about “past” in this context may sound silly. Time is so condensed when it comes to computes. It is not a wonder that some of the great programmers of the past are actually active programmers today. All of these paradigms were invented to help professionals put their black belt on sooner rather than later.
We at InterVenture Nearshoring pay close attention to grow the culture of craftsmanship in our development teams. We see value in applying established practices, especially in the domain of programming theory. That gives our teams ability to manage code in the long run.
Writing software is difficult enough – there is no reason to make it even more difficult by following bad practices.