Timeo Juniors et ideas ferentes
At work, we have a slack channel named “morethings” where all team members are to throw links to any resources found in the internet, that might be interesting for others. Yesterday one of my colleagues threw a link to the blogpost cited below:
One of the areas I often see senior engineers struggle with, is raising junior engineers to the next level. Often this is because we don’t give them the space to explore, learn and understand how to approach problems for themselves. The Senior Engineer’s Guide to Helping Others Make Decisions
I read the article thoroughly. While it contains many good and valuable advises, I disagree with the main point. Senior engineers are seldom blocking ideas. Actual Senior engineer is always ready to discuss any crap that is spontaneously raised. Juniors, raising ideas are the dream of every single real Senior.
In my 19 years of experience being Senior dev, overruling Juniors’ ideas is not an issue. As soon as Junior raises ideas, we are all set.
The real problem is: Juniors rare if never come up with ideas. In C/C++/Java world they tend to ask Seniors on every subject (which is good,) or grab-n-paste answers from SO, which is bad, because Seniors usually explain whys and SO only provides hows (if we were lucky enough to find a correct answer.) In Rails world the situation is even worse, because Rails provides an ability to build some likely working stuff without even understanding how it all works under the hood. Juniors don’t need to ask Seniors anymore, nor even grep SO: for every problem there is a solution which is simple, clean and wrong. There is no room for ideas: why would I think about architecture, if I already have all that callback zoo, helpers and even validations out of the box?
When I started my career, there was no SO, no documentation, no open source to learn from. We all were forced to come up with ideas, because there was no source to steal any from. When we had a database, we started to code with handling the connection on socket level. Here you are either come up with ideas, or die.
And during this time there was no issue to ask anyone about anything and to come up with any weird proposal.
Nowadays we have tons of information, we are literally sinking in. Besides tutorials, video lessons, crash courses of any flavor, we have all these so called technical blogs, mostly written by not so experienced people. And the worst thing is: since they have no sufficient knowledge about the technology, they do write motivational posts. Like that one linked above. “Make love not war” and all that crap.
It does not work that way in software development. When I entered the field, I was thankful for any advise, even whether I was beaten by a baseball bat for getting it. We all raised ideas and 99% of them were ridiculed by Seniors, and each subsequent episode was another lesson, that, as we unconditionally believed, headed us towards gaining skills and harvesting expertise.
So, the summing up, the rumors about Seniors harassing Juniors for raising ideas are heavily exaggerated. Seniors love Juniors bringing ideas on table and most of them are ready to make their own job during the weekend to free a time to talk to Juniors to discuss their ideas. The thing is: Juniors are [in my experience] often pretty fine with just getting paid for what they can do right now. No ideas at all. And that’s the real issue.
If any Senior is indeed concerned to help Juniors to grow up, instead of being overpolite and timid—they should find ways to intrigue Juniors to be greedy to learn new stuff and raise new ideas.
Seniors are not babysitters for Juniors after all, but mentors.