I remember back in 2003 when I got my first job as a trainee developer for a company where juniors would go through an intensive three-month training program before they could actually start working on real projects. Most of the training was self-taught with online courses and programming language books that the company would provide - yeap, real books. Of course, it took more than three months to prevent me from doing deletes without where, but it was great because I had the opportunity to get in contact with modern technology as opposed to what I'd learned during my recently finished technologist course.
You know, we are all researchers by nature. When we are kids, we go from not knowing anything, to trying things ourselves, then to asking the seniors, and finally we are led to believe that we know it all.
Socializing is a perfect barometer of one's knowledge. You can put your ideas to the test by discussing other people's doubts, and you can acquire knowledge by bringing your doubts to discussion as well. It's a win-win situation. But working remotely can severely impact not only our social skills but our learning skills as well.
Back then when I finished my three-month training, I was assigned a project and soon realized that training is not a three-month thing, it's a thing for life. Luckily for me, I had this colleague that was the perfect senior that any junior would want to come across one day. I would ask him all sorts of questions from the most varied aspects, and he was that type of person that wouldn't give you the fish, but teach you how to fish. And I learned a lot.
Every three months that process would be repeated with somebody that, just like me, would start from knowing nothing and evolve to being sure that they knew nothing. I went through it, until one day I found myself teaching the new guys. Isn't it funny that a person that, a few months ago, was asking about "index was out of range" exceptions could have something to teach?
Think about these situations:
- You are trying to setup your local environment. So, you go on a never-ending Stack Overflow endeavor by yourself. After a few hours you find out that you need to configure some local settings, and you still have to ask your manager about it. It was a simple task, it took you four hours and you didn't even start it.
- You are not so sure about the requirements of a task, but you made an assumption and after completing your task you find out that you made the wrong assumption. It took two hours and will take two more to fix it.
- You ask all the obvious questions upfront just to make sure you understood the requirements, then you ask some more questions about the solution you proposed and finally you go straight to the point and do the task at hand. It takes one hour to be done. You are the hero.
We all know which one is the right path, but in real life it's not so simple. Unfortunately, it is fairly easy to go from adventurous kid to stupid grown-up in the eyes of people. It's like if we had to balance showing strength and weakness just the right amount. Because if you are old and you are constantly questioning, people can get you wrong.
You shouldn't feel stupid for asking anything, but if I had to give you a tip, it would be this: I'd rather be the guy who took only one hour.
If you are reading this and thinking: "one hour to do the task plus 30 minutes of two people talking about the task, it should be two hours", get off my blog!
So, if you own a company, make sure you are creating an environment for questioning, especially if the work shifted from onsite to remote recently. Your employees may be missing the small talk in the office and the group lunches. And, if you are working for a company, make sure they have that environment for your own sake (or you can help create it). Basically, be sure you are asking all the stupid questions and answering all the stupid questions, too.
Anyway, is your work question-friendly?