Team Building Culture

Learn the essential aspects of building a constructive culture within your organization.

Professionalism in software development

I once wrote an article about everything that I thought had gone wrong in the software development industry. At the time, I didn’t quite understand what I was trying to achieve with it. A couple of months later, a colleague of mine sent me a link to a recording of a fascinating talk by Robert Martin about “Professional Software Development.” When I watched the video, I finally realized that I had been complaining about a shortage of professionalism in software development.

It is hard to define professionalism in software development because programming, unlike other fields such as healthcare, does not qualify as a profession that would have its rigorous set of procedures and rules. Professionalism, if you think about it, is a procedure. If you do not follow procedures in development, the impact is not apparent until later in the game, and thus, best practices and recommendations are often prematurely dismissed. On the other hand, if you make a mistake in healthcare, results may be life-threatening, so procedures are strictly followed. Engineering is not there yet. It will take a while before programming turns into a real profession from a mere hobby. This course is an attempt to do precisely that.

Let us start by defining professionalism in our industry by using simple words so that it is accessible to everybody, and we all can follow it:

Professionalism is about fulfilling the promises you make to other teams.

If we claim to be producing software that works, then the resulting program should work. If we insist that our system is horizontally scalable, then it should support more users by merely multiplying application instances.

Get hands-on with 1200+ tech skills courses.