The Clean Code Fundamental Series

A distilled of Robert C Martin teachings

Introduction to this blog series

This blog series aims at sharing a distilled of Robert C Martin’s (a.k.a @unclebobmartin) Clean code Fundamental video series.

For each video in the series, I’ll write a summary of what I believe are the key points. This course is invaluable for everyone directly (developers) or indirectly (leaders, business owners, testers, etc) involved with the software programming profession. All credits for the content contained in this series of blog posts go to Robert C Martin, one of the topmost computer science minds and luminaries in the world, from whom I have received permission to write this series. You can follow Uncle Bob on Twitter, by looking up the account @unclebobmartin.

The Programmer’s oath

For this introductory page, I’ll skip to Episode 45 (the Programmer’s oath), as I believe this is a set of principles, promises and commitment that should drive the software developer’s profession, no matter what the underlying technology is. If all developers were to commit to this oath, the software development industry would become readier to withstand scrutiny when questioned and would head towards better professionalism and productivity. As @unclebobmartin says, software developers rule the world. Many members of the society might not be aware of this, but developers write software for any machine supporting our daily lives, from thermostats to military defence systems, to self-driving cars, to airplanes, to space equipment, etc.

With grater power comes greater responsibility. Computer programmes have created wealth and made our lives better but they might be (and have been) responsible for loosing businesses billions, for killing or harming people, for holding people to ransom through hacks, etc. Computer software can make our life better or destroy it and people responsible for writing software need to uphold professionalism as a duty to themselves and society.

The oath

In order to honour and preserve the honour of the profession of computer programmers, I Promise that, to the best of my ability and judgement: 

  1. I will not produce harmful code 
  2. The code that I produce will always be my best work. I will not knowingly allow code that is defective, either in behaviour or structure, to accumulate
  3. I will produce, with each release, a quick, sure and repeatable proof, that every element of the code works as it should
  4. I will make frequent, small releases, so that I do not impede the progress of others
  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them
  6. I will do all that I can to keep my own productivity and the productivity of others as high as possible. I will do nothing  that decreases that productivity. 
  7. I will continuously ensure that others can cover for me and that I can cover for them
  8. I will produce estimates that are honest, both in magnitude and precision. I will not make promises without certainty
  9. I will never stop learning and improving my craft

The Clean code Fundamentals course, is a series of incredibly high quality videos that enter into the specifics (and more) for each of the above points in the oath.