/ Pratik Mallya
Great Environments Promote Great Ideas (or something)
There are good reasons to be skeptical of fads and trends. After getting beyond the point in life where I have a pressing need to prove myself (it was never clear, even to me, what I was trying to prove), there is a certain amount of wariness on seeing new trends and techniques that overpromise. Ultimately, most of these underdeliver. It seems like an easy thing to ask critical questions and ask them frequently. To re-examine commonly assumed assumptions. To look closely at available data and make informed decisions. The reason why Senior Engineers will be super duper critical when you propose using something shiny and new is because they are worried you are not worried enough and have not thought about the consequences of choosing a new technology, of doing things a certain way. The easiest solution is to ask these questions yourself, and thus the Senior Engineers critical eye spreads to the Junior Engineer.
It is somewhat uncomfortable to be asking critical questions. You will not be liked very much if you can’t make it abundantly clear that the critical questioning comes from a place of care and good faith rather than fear. But it is so damn important. I realized I learned a lot by first being curious and asking others a lot of questions. Naturally, when I would think of solutions, I would pose the very same questions to myself. Thus, the design and code that emerges tends to be well thought out, more resilient to scrutiny.
I want to re-emphasize how important the environment and culture is for this to happen. An environment where new ideas are immediately rejected as stupid, where there is not an open minded and fair consideration of different ideas is not an environment where I could flourish. It’s not very hard to shut down the curiosity of someone by being overly dismissive or passive aggressive; belittling others and their ideas.
On the contrary, an environment that is a safe space for discussing wild ideas, where developers feel free to ask questions, even dumb ones, repeatedly, may not be the most efficient place to disseminate information either. But that inefficiency is superseded by the wild ideas that are thought of, and executed on, some of which tend to be super successful. In that context, such an inefficiency seems a small price to pay for the possibility of breakout ideas. Not to mention: I personally love being in an environment where there is a constant and lively good faith back and forth about the merits (or lack of it) of certain technologies and methods.
I’m convinced that an openness to ideas is possible only if one believes that the space of good ideas is infinite. There are many, many problems that need solutions to. Engineering, especially computing, is great because the problems space is so large, there is so much to experiment with, and every breakthrough technology seems to make obsolete slews of old technologies while creating opportunities for newer ones.
Perhaps that is why Tech seems so different than medicine or law; technology moves much more rapidly and one needs to constantly be learning new ways of doing things. This also seems to be the reason why the world of software engineering has been more resilient to Monopolization, although the recent rise of Big Tech may be viewed as a failure of that hypothesis.
All of this to say: the best places to work in Tech seem to be organizations that foster and create such environments and take care to hire people who understand how important fostering this environment is to the growth and happiness of the company and its people. I am glad I found one.