IMHO, helping people struggling is something you should do. Period. Especially they struggle with something that is hard (i.e.: programming) and you can solve, in seconds, something that would take them hours, if not days, to solve.
But…did you know that by others, you also improve your skills as a programmer? Let’s learn how!
Table of contents |
An example: My case |
The team player vs the individualistic |
The benefits of helping other people |
Conclusion |
An example: My case
Let me start with an example: Something that happened at my job.
I work with a lot of people, but I have 2 people I interact a lot with Programmer A and Programmer B.
Our Programmer A has lots of years of experience, has been around a lot and can find the solution to almost everything in seconds.
Meanwhile Programmer B…not so much. He has been around about 6 months. He doesn’t know too much and the bosses keep him spread doing Front-End, Back-End, DevOps and doing other non-programmer stuff.
It is pretty clear who you should be asking for help if you need it, right?
Well, the answer is not so easy.
Programmer A, the experienced one, answers my questions with an “It is simple, just do X and then Y”. How can I do X? What’s the best way to do X? I’m going to do X, but it is safe? Yeah, I can Google it, read a bunch of articles, a few StackOverflow answered questions, and then, find the solution.
It is going to take me time, but I can do it.
On the other hand, when I ask Programmer B how I could solve it, he answers me as Programmer A did, with a small detail: He shows me how to do it.
My question was something about how to deploy something to the server and authorization problems, Linux permissions, etc. All the good stuff.
I only deployed apps 2 or 3 times before, never on that server, so I didn’t know how to do it.
Asked Programmer A, and got a “Authenticate yourself then deploy it to X folder”. I asked how. He just told me that “It is easy”. That’s it.
Tried it for a while and I didn’t solve the first problem I found. One half-hour lost.
Knowing better, this time instead, I asked B. The new guy. The guy with less experience. With less knowledge. The guy that knows how you feel when you know nothing and no one helps you.
As I said: B said me the same as A did, but with the small detail of showing me how.
He told me that I had to authenticate, but before I had to move X file to the Y folder, then proceed to deploy my app but sending the Z commando after to fix another problem I had. 2 minutes.
2 minutes of his time helped me to solve a problem I couldn’t crack on 30 min.
He told me how to do it, the best way to do it and why we do it that way. Again, 2 minutes of his time.
He saved the company, hours of (my) time.
Less experienced? Yes. But he was a team player.
The team player vs the individualistic
But sometimes things happen the other way, and they asked me for help. I have the same reaction for both of them?
Well, yes. At first at least.
I tried to help both when they requested my help. I treat people as I would like they treat me.
But also, I treat people how they treat me too.
After a while of suffering the same behaviour over and over, when Programmer B asked for my help, I keep helping him.
But when Programmer A asked for my help, I just answered the same way he answers mine. Mind you that I don’t (normally) do this on purpose.
But, after a few times of “Haha why you ask me that? You can google it!” as an answer, when he asks me something, I cannot help but answer too “Google it”.
And after he pouts a bit, I help him, because I don’t want to be like him.
But it is easy to see how the relationship, productivity and mood of a team can go down the drain.
Being a team player: The benefits of helping people
Helping people not only benefits your workmates but also benefits you. Even more than them. It is a concept called ‘Learning by Teaching‘.
Yes, I know that it sounds counter-intuitive, but let’s see what you get by helping others:
- Reinforcing what you already know
When you explain how to do things, even more, why, when and the best way to do things, you reinforce what you already know.
Sometimes, you get questions that you don’t know how to answer them, just because you never did that specific thing or you forgot about it. Then it is time to do a bit of research and…
- Fill holes in your knowledge
Let’s say a person you work with asks you to set up a BackEnd with some async methods in Django using Celery and Redis. And you never did that before.
Then you have to do all the stuff: Reading the docs, posts, studying Github code…
As everything is new for you, you will have a hard time learning concepts you never used before. But that’s what pushes you forward in your career: Doing the hard, scary, new stuff.
- Helps you to understand people better
By helping other people, you understand them better. You know not only what they know, but also how they think, how they learn, how they feel.
There is a lack of empathy in most of the developers I meet. I can’t put my finger on the reason, but most developers I know have an “It’s every man for himself” mentality.
By helping other people, you reconnect a bit more with people, after spending hours and hours with the computer alone every day :).
Conclusion
Helping each other has only advantages (Solving your problems faster, you reinforce what you know, they will be more prone to help you in the future, etc) and no drawbacks.
Refusing to help and looking down on people asking you for help doesn’t help you on the slightest. Now one is going to think “Wow, that person is so knowledgeable that, in order to help you, has to descend into the humankind”. Probably they will think that you are a pretentious prick.
That’s what I did when it happened to me.
So, help others, help yourself and help your company, and help people struggling: It could be you. And one day you’ll be.
Even if you think you won’t.
Now I have a question for you: Being a team player has helped you in the past? How?
Share your experiences with us in the comments.
Contact me: DavidMM1707@gmail.com