Software development and programming is a difficult profession. It is very new and requires a lot of practice, learning and mental focus. It can get frustrating when you are working with others and mistakes are made. Programmers are also very demanding of those who provide our programming languages and frameworks, especially with bugs or problems that hinder our daily work. When we encounter these problems, it is very tempting to get angry and make a snide comment on social media or give a dirty look in the office.
An angry response is not what we need in development. Showing patience with new developers allows them room to grow without fear of retribution. Being kind to vendors allows them the mental energy to improve their product or framework. Forgiving mistakes improves the emotional health of your team and their ability to code incredible features. To encourage patience, here are my thoughts on how we can better show kindness in software development.
Be Patient with Junior Developers
Being a junior developer is very difficult. There is so much to learn when starting to develop software and it goes beyond just knowing how to use a programming language. A junior developer has to learn how to work on a team, understand software requirements, solve problems and communicate with non-technical stakeholders. It is very intimidating and takes several years for a junior developer to even begin to master these different areas, not to mention keeping up with programming trends. Therefore, it is key for more experienced developers and managers to show patience with junior developers as they learn. For a junior developer to find confidence in their work, they do not need to be afraid of failing. They need to be able to fail and be instructed, with kindness, about how to prevent the mistake again.
Do Not Mock Someone for their Chosen Language or Framework
We developers are very opinionated about what is the best programming language or framework to use. Having opinions and healthy debates is a good thing and allows the programming community to grow with even better features and tools. However, we need to stop mocking each other for building a product or tool in a given language or framework just because we do not like it. I see this a lot in the JavaScript and PHP communities. We criticize each other for using React or Vue or Angular or (heaven forbid) jQuery! PHP developers are mocked for their language’s inconsistencies. These criticisms are not constructive and just discourage developers from building. At the end of the day, it doesn’t matter if you like React or Ember when you are making successful software.
Be Considerate with Open Source Maintainers
Our profession is very unique in that it relies a lot on free frameworks and tools provided by volunteers. Since open source tools are built out in the open, we also have more access to the maintainers and creators behind them. It can get very tempting to send an angry comment to maintainers on Twitter or GitHub when their framework breaks. An open source developer is often unpaid in their contributions so they do not deserve our ire or disrespect. Even if they are being paid, showing anger does not help them fix a problem. Being kind and giving respectful feedback is key to the project being successful and the maintainers not getting burned out on their work.
Show Forgiveness when Something Breaks
When something goes wrong with your application, it can be really easy to start the blame game. Who pushed the code? What did they screw up? Why were they not more careful? These kinds of questions are unhelpful and hurtful to whoever receives the blame. Instead of blaming, we need to focus on what went wrong and how we can help each other not make that mistake again. Maybe we need a better unit testing setup? Maybe we need better documentation of this feature? Should we test more thoroughly after deploying code? Questions like these are constructive and help programmers recover more quickly from mistakes and stay confident in their work.
Celebrate Victories
When development is going well, it is easily taken for granted. As a result, we often do not display an emotional reaction until a bug happens or a customer complains. To increase programming morale, it is important to regularly celebrate accomplishments. Success is very satisfying and helps programmers stay motivated and avoid burnout. Next time you achieve a new feature, celebrate it! Even if the reward is just a box of cookies and some high fives.
Conclusion
Being kind and forgiving is a conscious choice that we need to encourage in our development teams. It allows for developers to learn more quickly, prevent mistakes and enjoy work. Kindness is a cure for burnout and exhaustion and encourages fresh ideas and unique features. Being patient with others is not easy, but essential for happy and successful teams. Next time you work with another programmer, I encourage you to think about how you can be more kind and patient with them. It will make your work more fulfilling in a way you may not have already experienced.
Top comments (17)
PREACH, brother! 🙌 Never have I agreed on an article this much.
Beautiful article.
I would add:
Be considerate with the developer that will maintain your code. Always try to write the simplest code you can to solve the particular problem you are working on. Follow conventions, write idiomatic code.
Will your code be difficult to understand for a junior who still does not know all the context of your app? Refactor and try again. Is is still a bit too dense and you don't know how to write it better? Add a comment explaining the decisions you took and why did you take them.
Great post, as someone going into their first full-time position next week, after years of part-time work and freelancing on my own I am hoping I see some openness and patience from my peers. I hope my I can keep these things in perspective, I'm sure its a two-way street as well, where I a JR have a part to play in keeping the good vibes and learning flowing.
Cheers!
This is a great article, very inspiring. Thank you Andrew.
P.S, I am looking for remote opportunity on PHP, Laravel or Vuejs. The pay shouldn't be a problem is the experience i'm more interested on. Please help.
What a great article, way to go!!!
I hope more and more people can understand this. :). In my company, my bosses are trying so hard to make the same thing, and It's not easy but it's worth it.
Hello,
We are currently in Thailand and I am looking at flying into Vietnam and hire some Developers in PHP/MySQL Python, Ruby, and other languages.
I would love to chat with you.
Hi. I'm sorry. My email is tdquang138k@gmail.com (not tdquang.138k@gmail.com)
Hello,
Thanks and appreciation for the opportunity.
You can reach me at tdquang.138k@gmail.com.
Thank you and sorry for late reply. :)
AMEN, brother! So true. Excellent article Andrew.
This. I want to see more this in our community. The recent transformation of Linus Torvalds was met with absolute glee by me. Here's hoping we can detoxify the tech industry for the better!
Great article, great job!
So many truths in one post hahaha
Congrats! It is always good to remember that people move you forward and help you grow not just the code itself!
Great advice and relevant to many work situations. Thanks for the reminder.