If you follow me on Twitter you know most of my tweets it's just me joking, most of the times are actually jokes about myself. That said, I tweeted this:
Although this is mostly joking, it's also true. I know it because I've been there. I remember probably in the first 3 or 4 years while I was learning how to code, I would cringe if I saw someone using a light theme on their IDE, news flash, now I keep switching between light and dark themes. I'm using a light theme to write this article.
Another good example is when I saw someone using an application to handle git requests, geez, I remember thinking "Really? You don't use the terminal like a real developer?", news flash again, now I use an application to deal with code changes, commits, pull, rebases, you name it.
A junior developer is a person that's getting into the overwhelming world of coding, it's an exciting journey, trust me. Although nowadays there are so many choices out there, it's crazy, I see people tweeting "Hey, you should learn SEO. You should learn React. You should learn VueJS.", again, it's overwhelming. I've been coding for 14 years, I know what I'm talking about.
A thing that usually juniors have problems with, is asking questions. They're just starting so they think all questions are stupid. They're not, seriously.
A senior developer is the one that will help you understand those stupid questions. They're not stupid, just in junior's heads, understandable though, I've been there.
A senior will walk you through a piece of code that they know by heart and will explain it to you 100 times if needed. A senior is someone with patience to spend countless hours teaching and supporting other developers, which doesn't really mean it needs to be juniors.
In my humble opinion, to be a good senior developer you need to become a mentor for those that need it the most.
This same senior developer will need help from other senior developers as well. Guaranteed.