| I want to point out two additional observations. 1. There are a decent amount of software engineers or programmers whom literally aged at the perfect time to organically learn these tools that later became fundamental. If you even touched a computer from the 60s to the late nineties in a engineering aspect at all, you were bound to have worked in a terminal, worked on computers with a single core, worked on computers with very little memory, had to either get comfortable with some lower level tooling or build your own, at some point had to mess with networking or at least understand how packets were being sent and received, seen and gone through iterations of version control and saving your work, automated task using shell scripts. 2. While there is a plethora of knowledge, videos, tutorials and flavors of ways to learn these things; the sheer volume and breadth that presents to newcomers is daunting. Yes you can learn Git, but there are so many ways to do it that it can cause analysis to paralysis. Building on point (1) if you learned it early there were only a few ways it was being done or even shared in smaller communities. Too many choices or paths can lead to just using the way someone showed you without digging 1 layer deeper just because you might not know better. All of those things you ‘caught’ by being at the right place at the right time are a privilege. Please don’t look down on people trying to aspire to learn or want to enter into this field that haven’t got there yet. Coming from a family of immigrants and being the first person in my family to graduate college + enter SWE. I cannot count how many times other engineers were rude, made condescending remarks or discouraged me by shoving these expectations in my face as failures instead of taking the opportunity to teach (I was always open to learning). |
I can agree that people tend to quickly get condescending ("just google it") instead of giving keywords ("I think you are looking for X, Y, Z, try to read about them and come back when you have specific questions"). IMO the latter is constructive, the former is discouraging. The point here is: don't be condescending, try to give advice/keywords.
This said, many beginners think that their first project can be a complex application even though they don't know how to write code. The constructive comment for them is "start small, learn the language first", but of course many beginners don't take that as an answer. Beginners need to accept that learning software engineering takes time and dedication.
Finally, some devs tend to think that they are so smart that if they don't grasp something in 2 seconds, then that something is bad. I disagree with that. An experienced developer should know how to learn a new tool. If they don't like it, they can try another one, write their own (and see if a community follows them), or just accept that they don't have a choice. That's how it works.