Do pro software developers memorize programming language syntax?
My answer is based on my experience i gained to become Senior Software Development Consultant.
The questions is: if a programmer memorizes language syntax?
What i can say from my experience is, that i memorized it when starting a professional career. At that time it felt like necessary to get the job i wanted to have, to become a software developer.
Later during my career i didn't pay special attention to memorizing syntax and function names. Mostly because i have very bad memory for such things.
But i have developed some techniques to be a successful developer in spite of this seemingly important flaw. It ocurred to become important when i started to code in multiple languages at once, and DuckDuckGo lookups started to slow me down.
Here is what i learned about memorizing syntax over these 20 years:
- It is overrated to memorize syntax. 99% of developer work is to find solutions, 1% is actually coding them
- DuckDuckGo is sometimes faster than a memory if you can provide a proper search phrase
- Using lots of memory for language syntax leaves less space for important stuff in your brain
- It is useful to have a card of paper with commonly used function names attached to your screen. It is faster than DuckDuckGo to read it, so you save 3-4 seconds at a time
- Syntax you use often is syntax you will memorize often without direct effort
- Syntax and languages today are changing so rapidly, what you know today wont be actual in 5 years
- No one asks you about the syntax or function names. Only on “tech” interviews or if you help a junior. In first case you can memorize syntax just for sake, for the latter one, it is about learning junior how to find right syntax, how to use techniques, not to teach him he should memorize everything
- You can acomplish a lots as a software developer even with a memory of a gold fish. Programming is about solutions not syntax.
- Even if you memorize 100% of language syntax you use only 10% of it. And it is hard to know what is the 10% without experience. So its pointless to put a lots of effort into no fun ways of memorization.
- If you can change memorizing into a fun activity than memorizing can add a little bit of a productivity to your work. Because good memory is faster than a piece of paper or DuckDuckGo.
But why no-fun way of memorization is bad?
Each table contained aprox 6 function names and one-two sentence descriptions. It seemed like a great way to memorize.
But it didn't help as much as i expected to. From my observation it is because it is not a fun way to memorize.
Each function looks the same. You need a phone to use it. Its hard to open images on a phone and read tiny fonts. You can't share the experience with your colleagues.
To sum it up tables may be fine, but are not fun, and are not best way to memorize.
What i came up with, is a slighly different way to memorize syntax.
It is a deck of cards. Each card is printed and has an illustration, the name of the function and a description. It is all connected in a fun way that uses art of memory to memorize it in one second.
Here is an early preview example of a card:
See? You will never forget it! :)
The feedback from software community is great. Not only from juniors, but also from seniors who write it is brilliant when they will need to learn a new language.
In case you are interested in this project please find it on Facebook. The project is called Summon The JSON.
And remember, you don't need to memorize syntax to become a successful programmer, but you can boost your performance a little bit in a fun way!