Being a good engineer is more important than grammar
The original connection
When you move to a new city, you don’t know where the nearest grocery store is.
But that doesn’t hurt: it’s normal, and you can just Google Maps to find the nearest grocery store.
After a while, you probably won’t need Google Maps to find the nearest grocery store.
The same goes for other places: the nearest restaurant, the nearest gym, etc., you might need Google Maps the first time you go, but you might not need Them when you can find directions.
You may not know where they are because you’re trying to memorize them, you may just know where they are in general.
Although you may have only been there once.
Similarly, finding specific methods you need to program can be the same as finding the nearest grocery store.
For some programming beginners, when they started learning programming again may feel terrible: they need to spend a lot of effort to vast amounts of memory programming grammar but still need to go through the document, they may feel, read the manual is a very bad thing: because this is not a good developer on your behalf.
Here are two questions that many newbies ask when they learn to program:
-
How long will it take me to learn all the grammar?
-
How long will it take me to fully memorize the syntax, without having to consult a manual while developing.
When they can write all the grammar key words fluently, they feel they have become a master programmer.
They get the idea that it’s important to remember as many languages and frameworks as possible.
For a more thorough look, let’s compare the syntax for getting a string length in different languages:
-
seq.length
, JavaScript lists,Java arrays -
Seq.size (),Java sequences,jQuery (deprecated)
-
len(seq)
,python -
seq.count()
,Django -
seqTye'Length
,Ada array -
length seq
,Haskell -
(count seq)
,Clojure -
sizeof(seq)/sizeof(seq[0])
C -
strlen(seq)
C
As you can see, different languages and technologies have their own string length functions, and it can be difficult to remember that the same function is implemented in 12 different technologies.
It’s unrealistic for people who use multiple programming languages to remember all the syntax they’ve ever used, some of which they may not even try to learn.
(This part of the original is a variety of FLAG leaders self-destruct collection, interested students can read the original)
The above self-disclosure may give you courage — you don’t have to be ashamed of your inability to remember grammar details.
While things like not being able to read grammar are a concern for many beginning developers, the truth is: you don’t need to remember everything.
It’s not just tech recruiters who don’t care. Here’s how one Google engineer reacted:
(Here’s a twitter link, and a Google bigwig says he often tells interviewees he’s not interested in what the IDE prompts.)
Here is a response in the comment section of HackNews:
“Not only do I Google really well, I also Google things I’ve written in the past, I can’t tell you how many times I’ve googled things I’ve written on stackOverflow. A lot of times it’s old answers THAT I’ve forgotten, and sometimes I look at them and think: ‘This person is a genius just like me’ and sometimes’ this idiot doesn’t know what he’s talking about! ‘”
A few months ago, I saw a senior engineer in a FaceBook group mention that when an interviewer asked him if he had any experience with a technology stack that he didn’t have, he replied, “It’s just another tool.”
This means he hasn’t worked with the technology before, but he has the confidence to learn it.
This means that instead of spending months learning the techniques, he just needs a few hours to read the documentation and start using it without having to remember everything.
When you start traveling, you can’t expect your journey to be plain sailing. You always pass a green light and wait a while in front of a red one until it turns green.
In modern society, new technologies and frameworks emerge all the time, and old frameworks and technologies are updated all the time, so it is difficult and very unimportant to remember all the syntax. As one comment put it:
“Good engineers know how to ask the right questions, while the average interviewer just wants a walking dictionary.”