What stays behind the Software Craftsmanship

Software
Craftsmanship is a well-known movement that reunites all software
developers around the world who strives towards quality. These
developers organize annual
conferences

around the world as well as local meetups to share experiences and
move software development to the next level.

Software
Craftsmanship

The
idea of software craftsmanship is to encourage software developers to
strive for excellence in their work and to add value steadily. Great
software is a product of enough computer science, creative design
decisions and pragmatic judgement calls. Some of the science is
taught in universities, but what of the art and judgement? How do
software developers learn their craft?

Software
craftsmanship is an approach to software development that emphasizes
the coding skills of the software developers themselves. It is a
response by software developers to the perceived “ills” of the
mainstream software industry, including the prioritization of
financial concerns over developer accountability.

So,
those software developers who take an active part in software
craftsmanship movement always improve their craft and put quality
software before anything else. These developers are not afraid of
proposing new ideas, sharing their experiences, coming up with new
software products, revolutionizing the industry. They pass on their
tricks, the reasoning behind their decisions.

The
idea behind the software craftsmanship is very well stated in their
Manifesto:

Not only working software, but
also well-crafted software

Not only responding to change, but
also steadily adding value

Not only individuals and interactions, but
also a community of professionals

Not only customer collaboration, but
also productive partnerships

If
you go their
page
,
you will be scrolling down reading the names of software developers
who signed to take part in this movement for 1 hour or more. I
understood why so many developers had signed it. The concept is
appealing. And they can be proud of what they are doing.
Unfortunately right now people sacrifice quality over speed and in
the long term it transforms into a headache for product owners,
developers and all the stakeholders.

Software
crafters prefer to do everything right from the beginning. To become
a craftsman, you have not only to code correctly, but also to think
about the way the application is built and to consider the team’s
responsibility over it. Design plays an integral part in this. The
use of methodologies like TDD,
high unit
test coverage

and the understanding of the business features certainly help.
Software craftsmanship is about continuous feedback.

Another
widespread craftsmanship concept is pair programming, in which
programmers work together in pairs at a single workstation. Also,
there is “refactoring,” the process of refining existing code.
The goal is to edit the code to better understand it and have less
bugs.

Software
Crafters event

Even
though there is a huge amount of material on this topic, the problem
of maintainable, sustainable and successful software development is
not yet solved, so it is important to have events dedicated to this
topic, where people can learn and collaborate on how to deal with
these problems and how to push to find better solutions. And the
importance of software craftsmanship is increasing constantly. People
start noticing that the software which is built right from the
beginning is actually easier to maintain and it is cheaper in the
long run. Also, they start seeing that software development made
right can unlock a lot of hidden potential in organizations, and
conferences like Software Crafters help companies to understand how
important it is to invest in the way they develop.

The
conference

is organized in different cities like London, Barcelona, etc and
normally has three pillars:

  • Language
    agnostic methods and best practices: TDD, BDD, DDD, CI, security,
    performance, software architecture.

  • Team/organisational
    level topics and  best practices like agile, DevOps, etc. that
    can help companies work more effectively.

  • It
    is becoming increasingly important to be familiar with new trends
    and emerging technologies

We
try to attend this event every year and recently published articles
with highlights from the event, you can find them here:

About
the Author

Ekaterina
Novoseltseva is a CMO at Apiumhub –
software development hub, which is specialized in software
architecture, web & mobile app development.

Leave a Reply

Your email address will not be published.