Patience is a must-have soft skill for Developers. Here is why
Patience is the most underrated soft skill for developers. This article is from real-life experiences to explain why and how to improve it for good.
Today the world is fast, hectic, and demanding. Everyone is in a rush to meet deadlines, making decisions, accomplishing goals, receiving rewards. From getting things done in seconds using smartphones to e-shops delivering products using drones, speed is in high demand.
Let us move the frame a bit and zoom into our offices now(remote, virtual, in-person, anything). We, the developers, work hard and deliver many of these commitments daily. We need to be on our toes to,
- Stay relevant with tools & technologies.
- Fuel our passion by learning something new.
- Making on-time delivery to commitments with quality.
- Amicably work with peers, managers, stakeholders, and customers.
At the end of all of these, we have a personal life too.
Wait, are we not suppose to talk about
patience here? That's right. But before we do that, we need to realize, most of us are getting impatient at work and personal life. In fact, we somehow try to synonym
being patient with
moving slow. However, they are not the same.
This article is to explain why we need to have the patience to be better developers and professionals. We will also learn to practice it like yet another skill to develop and sustain. Keep reading!
Patience: What does it mean to us?
Patience is the capacity to
delay, problems, or suffering without becoming annoyed or
It is a quality to wait, analyze and assess a situation before making the next move. There are mainly three human characteristics that help to have patience.
Self-control: The characteristic of controlling our emotions, immediate reactions to a situation. Your peer gave nasty feedback. How do you want to react to it?
Acceptance: To consider a situation for that time being. Accepting the fact that we have to wait, it will be delayed. The reviewers are not accepting your code changes. What do you do about it?
Empathy: It is the ability to sense the emotions of other people. What are your end-users thinking about your product? Are you empathizing with them when they are stuck or giving feedback?
Patience is the combination of all these three.
But, Why do we need it? Doesn't it make us slow?
Being patient doesn't make you slow. If you accept the delay, considering the situation, and don't rush back, you will make more rational decisions. The end reward(or result) will be much bigger and satisfactory.
Let us learn why do we even need to care about having patience. Here are a few situations where you must have the patience for a better outcome.
Learning something new
Learning something new is not always easy. Moreover, when there is a lot to learn, it becomes more challenging. If you rush, you may finish a chapter or a book early, but your learning may remain incomplete. You may have to come back to the same book or chapter frequently to clarify doubts. This is like doing things repeatedly and could be taxing.
Patience is an implicit need while learning something new. You will get there based on your grasping power and learning ability. Give yourself that time for your learning experience to be enjoyable and rewarding.
Debugging a complex problem
Debugging a complex problem is usually time-consuming. It's hard for developers to come out of the problem-solving mood even when they are not working on it. We may think about it while jogging in the park, eating in a restaurant, and even in dreams! These may end up in an unnecessary rush, impulsive behavior, while you cannot enjoy other activities.
If something is complicated and time taking, it will be delayed. This situation demands appropriate communication to your management to keep updated about it. You doing rush to fix it, and being impatient about it can do more damage.
Working with peers
We all are unique human beings. We think differently, believe different things, have differences in opinion. You may find one or more of your peers not agreeing with your thought process. It could be related to a release schedule, code review, design, philosophies, or just something you can not make out the actual reason.
Be patient. Hold your emotions. Check your words before you throw them out of frustrations. Giving the situation some more time to assess may give you a better perspective to comprehend and concede.
Having a negotiation with your manager or the leadership
Negotiation is a skill by itself. Patience is the immediate need to do better in negotiations. It could be related to a salary hike, promotion, job transfer, getting a bill passed or your marriage leaves approved.
When the other party is not responding the way expected in a negotiation, you need more patience. A hasty reaction, unnecessary agitation may diminish all your chances to negotiate and be rewarded.
Getting feedback from end-users(aka customers)
Your work will get feedback, both positive and negative. You may not be able to ignore the feedback from the end-users or customers of your product. You need to put yourself in their shoes and understand the problems they are facing. At times, some of the feedbacks are just not worthy of taking forward, and you may feel frustrated discussing it.
Having the patience to deal with your end-users earns you and your organization respect. They start seeing you as a person with care and empathy. Your customers will open up more to discuss ideas and prospects.
Health is wealth
Being impatient frequently and many times has side-effects on your health. Impatience increases blood pressure and releases stress-related hormones. This may cause weight gain, heart diseases, many other complications.
Health is essential, and everything else comes after that. Having patience helps you to break out from a stressful situation and lead a happy and healthy life.
How to improve your patience?
As we know, patience is a mandatory skill to acquire as a developer. Let us spend some time discussing how to gain or improve it. It is not easy, but the good news is, you can surely do it.
Like any other skill, you can improve it by practice. Do it consciously. You may look into Twitter, the stock market, etc., notifications frequently, and become impatient about certain goals. You can practice doing it in longer intervals. If you want to reply to a message or a communication immediately, you may not want to rush.
The key is to identify your impatience point and practice not to get there. You will fail initially. Practice again, repeat, you will conquer.
Learn to let go
You can not control everything around you. At times, you need to let go of certain things rather than get impatient about them not happening the way you wanted. Letting go of something could be painful temporarily but may give you lots of peace of mind, in the long run, to focus elsewhere.
End of rush hour
You have a personal life. You can not think about the code all the time. Take a break out of it, mentally. Indulge in other activities like your hobbies, being with family or friends after your working hours. An impatient mind can only create chaos. Delaying it to have a time-out and getting back to it later would give a much productive result.
Listen, Think, and Act
People say the most powerful weapon is our tongue, as it can hurt many with your words. In a situation where it is easy to react, listen carefully, think, and finally act. Your emotions can be controlled if you have patience. The delay where you do the self-control may make the situation much better.
Focus on the health building
Focus on physical exercises, meditation, yoga, etc., boost the willingness to practice patience. It would be best to keep your body muscles energized to think better and focus on your coding.
We all need to learn to have patience with ourselves, and the remaining will happen automatically. It is very rightly said,
Patience is a virtue.
That's all for now. I hope you find the article useful. Please like/share so that it reaches others as well. Feel free to share your experiences about
patience/impatience story as a developer in the comment section below 👇.
If you enjoyed this article or found it helpful, let's connect. You can find me on Twitter(@tapasadhikary) sharing thoughts, tips, and code practices. You may also like,
- Why do you need to do Side Projects as A Developer?
- Where to begin? Some practical tips from a beginner
- 16 side project GitHub repositories you may find useful