What is more important to become a better coder, logic or memory?

What is more important to become a better coder, logic or memory?

I would say both Logic and Memory are important, logic a little more than memory, probably.

During your journey as a software engineering, you will

  1. Face problems which are out of the box and no one you know has solved before.
  2. Have to list down pros and cons of different approaches and then come up with the one that has the most pros and least cons
  3. Need to make sure that your code is something which is understandable to others, as it is most likely that the entire codebase will be a collaborative effort of multiple people.

For all the above 3, you need to have really strong logical, analytical and problem solving skills.

So, where does memory come into the picture?

  1. There are certain fundamental concepts, terminologies and tools that are part of day-to-day life of a software engineer. As an example, let’s say while debugging a particular error using your analytical and debugging skills, you came to know that there is error 502 Bad Gateway coming in one of your services. Now, you should be well aware of the common reasons for this kind of error coming from Nginx. (Some config issue, header issue in JSON, etc.) This will make debugging a lot quicker.

  2. Past mistakes: It is very important as a software developer to try to not repeat the mistakes you have done in the past. So, making a mental note of the mistakes you did helps in a long run.

A point to note here: The memory part is mostly built in most of the developers with experience only. You should just try to fully understand the solutions you are implementing and not copy and paste codes before fully understanding why they work.

I've got these points from Bharat Khanna after discussing this problem with him. He is a co-founder of Programming Pathshala, IIT graduate and also worked at Tower research as a SDE.

He has trained many students to crack the coding interviews at top product companies. Here are some stories.

Programming Pathshala is a coding interview preparation platform. You can take a 7 days free trial here . No credit card required. :)