Hacker News new | ask | show | jobs
by nikkwong 3113 days ago
I'm surprised to not hear an engineer's memory as an important correlator to skill. I find that working memory especially (or the lack thereof) really can hinder my performance when dealing with a complex problem. Sometimes I think it is THE defining factor!
6 comments

Notetaking makes working memory much less of a issue. I recommend you find a way that works for you, if you're interested in career longevity as an engineer. Personally I alternate between todo lists for completion and coverage, and dialectics of theory and test for design and troubleshooting.
Yeah, I've never really understood the note taking thing. I'll be working on simple algorithm problems that require me to hold 3-4 elements in my mind and constantly have to mentally reference them over and over. "what was the value of x again?" — which distracts from solving the actual problem! Maybe the experience that others have is different.
One can use notetaking as extended working memory by visually cross-referencing facts back and forth from the same page. More like a logbook.
Although this could certainly be true, I would argue that one's critical thinking ability, in general, outweighs ones memory especially when it comes to solving new problems.
I find my long-term memory is limited when it comes to technical details. What has served me best is just storing a pointer in most cases and making sure I have access to the reference.

If it's been 6 weeks since I've worked on/with x and now I need to work with x again, what's important is that I have a process to reproduce x or build on x. I'd argue this is a better practice than trying to commit everything to memory because human memory is pretty corruptible. I also find this helps with complex problems because you don't have to deal with the devil upfront, you just have to be able to do some high-level fuzzing.

That being said, I think it's important to commit mistakes to memory because those are embarrassing to repeat.

I've been able to mitigate pretty much all the issues I've had with remembering details about complex problems by using effective note-taking and diagramming.
Good thing one of the first principles you learn is to break complex problems into smaller chunks, and then they become manageable pieces you are on your way to solving.

Beyond a basic ability to think logically and enjoying doing so, programming is 99% perspiration aka patience.

Memory? It depends, knowing technical knowledge by memory is useless since we could use google. However, if memory means EXPERIENCE then, its a different matter. A seasoned engineer costs a lot more for this reason.
Working memory is more about remembering what happened two minutes ago than retrieval of technical knowledge.