top of page
sevcandogramaci

Highlights from the Clean Coder Part 1: Professionalism

The work environment is different. We are there as a colleague of others and have responsibilities towards our work. Throughout this journey, all of us come across technical and social difficulties in that environment, and learning by experience is challenging. This is where Uncle Bob’s the Clean Coder book comes to benefit us in improving ourselves on how to deal with these challenges and become software professionals.

In this post, I will mention the parts that I highlight and apply in Professionalism chapter of the book.

Photo by Amy Hirschi on Unsplash

First, what is professionalism?

Imagine yourself while learning a new musical instrument. You start as an amateur. As you work hard, you become a professional. In the end, you have a profession in a field which is music in this example. At that time, we expect people to look at us with respect and hold up as an example.

No pain no gain. To acquire this deference, firstly we need to take responsibility. Without putting anything in, how do we expect to get? So, professionals take responsibility. In addition to taking responsibility, professionals are aware that when they cause a problem, they are the ones to fix it.

 

Well, can we also do something to avoid causing trouble? Yes, we can. While developing software, software professionals follow certain principles so as to reduce problems and bugs.

💎 Do not harm to function: Software professionals do not damage the already working functionality of the system they are developing.

💎 QA should find nothing: Software professionals make development in a way that when they deliver it to QAs and they expect no bugs will be found.

💎 You must know it works: Software professionals test the parts they are developing and ensure that it serves as desired.

💎 Do not harm to structure: Software professionals do not deteriorate the software structure. They make their development in a way that is maintainable and clean.

 

Career. Software professionals know that their career is their responsibility. They spend their time improving themselves in their field. So, they know their field. Uncle Bob gives a minimal list of the things that every software professional should be conversant with:

📌 Design patterns 📌 Design principles (SOLID) 📌 Methods (XP, Scrum, Lean…) 📌 Disciplines (TDD, OOP, CI, Pair Programming) 📌 Artifacts (UML, Decision Tables…)

 

Career is a journey in which places and surroundings change constantly. Therefore, it needs continuous learning. Software professionals learn new things by exceeding their comfort zones. Additionally, they strengthen lifelong learning with hands-on practice.


Being a software professional is not just related to the technical side. We are developing software for serving a business to our customers. Software professionals know the value they are creating for the customer. They know their domain. Thanks to this knowledge, they can understand the flow and identify problems within easier, contributing more to produce more value.

 

To sum up, professionalism comes with responsibility. Software professionals adhere to certain principles to discharge the responsibility as well as they can. They reinforce their career by lifelong learning, practicing, and understanding their business.

That was all for this post, see you in the next post 🧐 🚗

Comments


bottom of page