“You are responsible for the quality of your code”.
Pretty good development maxim. Every developer needs to respect this and accept it as a way to navigate throughout his or her professional career.
Let me tell you a story about how disrespecting this maxim can harm you as a developer, but also imbalance the modern “Universe”. Every character in this story is fictional.
Emily is a great developer. She does her tasks very well, she is the “star”. She can do everything in her world. She is invincible. The “Superwoman” developer.
Dan is a business person. He can close any deal easily and almost effortlessly. He is pretty darn good in his own world.
From the observation of these two characters above we can clearly see that there are two worlds in this story. One is the “Development World” and the other on is the “Business World”. We do not need to be experts to realize that both worlds are not mutually exclusive. There is some “magic” connection that drives both worlds forward. In fact, today they are so connected that they cannot exist separately. The business world moves the development world and vice versa.
So the story goes…
Dan is living in the business world and he has clients and projects that are dependant on the development world. Emily is a perfect fit for collaboration. Both worlds collide in pretty fancy agreement and that is the “Big Bang” of the greatest saga in this miniature universe. Everything works perfectly until Mr. “Time” appears. He is the first and greatest villain in this pretty fairytale. He is invincible.
Dan is pushed by Mr. “Time” all the time, he needs to meet deadlines, he needs to satisfy client requirements and in simple words, he needs to make his clients happy. Dan has no option than to push the development world to the maximum.
Emily as many developers in our development world is pushed all the time to meet those deadlines. BUT, she is also a human being. She has her own life. She is not a robot and most certainly she does not have multiple brains in her head or a magic wand. As a developer, every day she does her best to move things forward.
So everything sounds great. We have both worlds in which they are perfect in their domain. But this story is not about how great We are. This story is to show the basic mistakes in the development world and how to improve them.
The biggest mistake is that Emily is trying to comply with Mr. “Time”, but this guy is dangerous, he will make her so dependant on him and that is what is going to destroy the whole universe.
Why did this happen?
To be more precise, Emily is writing code to satisfy the business needs from Dan and his clients. She is pushing to satisfy Dan’s world while totally and unintentionally disrespecting her own world. Emily does not write quality and clean code. She is not writing maintainable code. Emily is not writing something valuable. She is writing only something that will work on a short run, but won’t last long. She is writing a story that eventually at some point in time will destroy the both worlds.
The long story short is that we as developers, we are responsible for our world at every point in time. The development world, our world, the code we write every day.
Every deadline can be rescheduled, every new functionality can be postponed, but if the system cannot be extended or adapted to new trends, then that business world will fall apart and it will take the development world in the abyss together.
The main point here is that we as software developers need to continue to advance and improve in our world, to continue to create and produce quality products and solutions and most importantly to continue to provide the true value for the business world while maintaining balance in the universe.
Write code that is easily maintainable, extendable, clean and obvious. That is what makes a software developer a true “hero”.
I hope you will put this into practice.
I would love to hear your thoughts or experiences on the topic in the comments section below.