Compassion in Software Engineering
Software Engineering is hard. But it can also feel like it is easy once you have understood the concepts.
However, putting yourself through the process of understanding a new concept or learning something new is very difficult. During that period, it is easy to make mistakes, screw things up and be extremely unproductive when you get stuck.
The greatest asset to a junior software engineer is a senior which is compassionate patient and kind. To the senior software engineer who has mastered these concepts, it is easy to fall in the trap of becoming judgemental when the junior engineer struggles. To the senior software engineer, these concepts have become so intuitive that they are able to apply them with much ease. It therefore requires a great deal of empathy to try to understand the feelings of a junior engineer.
A junior engineer on the other hand should learn to also put oneself into the fire, to be unafraid to be burnt, to fail or to be judged. In my opinion, this should be the constant state of a junior engineer. If a junior engineer feels that work doesn’t feel like a struggle, it probably means that that person is confined into their comfort zone and not venturing out and pushing the limits of their expertise.
It is only with the combination of much compassion from the seniors and the unwavering courage and bravery of the juniors that makes a fast moving highly efficient software engineering team that grows and scales together with a hypergrowth start up.