Maybe you are surprised by this, but I find that even the best engineers need to learn new things all the time and to do this it’s simply very important to have that knowledge be available somewhere.
It just gets really thin when it comes to general programming and algorithm questions.
)My bike alone in the dessert — that’s how I feel sometimes when talking to people with completely different interests.
What I have seen online, I have also seen in real life.
I know some really great “frontend developers” who know a lot about TypeScript, CSS, DOM, and React and probably a bunch of other frontend-tech that I can’t even name, but when I asked them one day how to write a small TypeScript console app… they were not even getting how that could be a thing.
For them, all the life happened in the browser.
Or maybe in a small NodeJs REST server which answers requests from the browser.
Now I am obviously biased because I am often more interested in the algorithmic part of a problem: so I don’t mind to run a program in the console or even just in the IDE as long as it gives me my answer.
And for a discipline like software engineering where we depend a lot on exchange with others, it’s critical to choose the subculture of folks who know the stuff that I need.
Said in a pair of tweets:So that’s why I recommend to do backend work and data processing in Java or its cousin Kotlin or one of the other “backend” languages depending on which crowd of people you can learn most from for your task.