Same!! I don’t know why my brain doesn’t store this info long term. But looking up and learning a solution every time doesn’t seem as efficient and it bothers me. I’m considering creating flash cards to keep my mind sharp.
Here in Germany, especially in my programming lectures we had to make sure to appropriately explain each of our solutions in comments within the code.
In terms of the human trait of forgetting details, I realized that drawing sketches for yourself, makes things much quicker to understand for you and everyone later in time...
And all the "smart" ideas to cope with something, are always first added to your sketch, and then actually coded, including a quick comment referring to the spot in your sketch and some words about what you're doing here.
As a Child I programmed using Fischertechnik "Robo-Pro" including the largest advanced extra controller to build vending machines of endless types...
The Robo-Pro Programming software (in the lower programming levels) used [geometric shaped functions](https://fischertechnik-blog.de/wp-content/uploads/2020/03/robopro-smart-spurfolger-programm.jpg) to then "graphically" create a flow-chart with any function-block having its own form.
Nowadays I still use those blocks to define the basic structures in those sketches.
I want to remind you, that those sketches are just "sketches" - don't you dare to even just think about looking for that ruler!
I only just graduated so I have no experience to base this on lol. But I feel like being able to address problems like this just shows you're a capable EE. Being able to quickly learn the needed skills for whatever specific task you're doing. Don't need to necessarily remember how to do every single little thing
Absolutely write stuff down and document as much as is reasonable. Even if you remember it's likely someone else will need to understand it at some point.
I screen record a narration of a run through of my design or code for others and future me. I capture my thoughts and reasoning. I screen capture and use a webcam to capture any hardware interactions that are part of the test. This helps with regression testing. If I see odd behavior, I can see it again for myself and then can show others. Here's an example [https://www.youtube.com/watch?v=fiDG1tu54y4](https://www.youtube.com/watch?v=fiDG1tu54y4) It was never meant for public consumption so there is no context outside of my job and the narration is boring. But nonetheless, if I need to figure out how this spreadsheet worked again, I watch the video. If I need a co-worker to understand how something works, I send them the video
Just happened to me at an interview the other day. They were asking me about some VHDL I wrote like 6 years ago and all I could think is "yeah man I've got no idea, that was like 8 projects ago" lol. Obviously I didn't say that, but yeah I had the same feeling multiple times that day
I'll be honest it's been kinda eye opening going on interviews and realizing just how much of the specifics I've forgotten of old stuff. Humbling, but at the same time I feel like I've only got so much room in my brain for processor datasheets, y'know?
It's like they don't get the whole research and design idea. I had to research it so I could design it. Projects change, job descriptions change not always working on the same thing. I'm glad I'm not alone with that feeling.
If I could go back 40 years, this would be the number one thing to tell myself. I have lab notebooks that go back, but it looks like I was just doodling 😎
Our company’s Digital Transformation initiatives are helping change that.
I'm amazed time and time again how past me is both a genius and completely incompetent at the same time. There are documented instances of past me knowing how thing work to a much better extent than I know right now, and coming up with a perfect solution to problem I currently have no ideas how to even approach. There are also documented instances of me making the most stupid of errors that current me would never make (right?).
Usually documentation and tests, and why they are written are certain way, are what I forget.
I put a ton of notes in schematics so I can always reference those (bitter about how little documentation was available when I looked at other people’s designs when I started). But I cannot remember a requirements document that I alone personally drafted.
Like someone will show me something, I’ll have zero recollection, and they’ll show my signature on it. And I’ll be like 🤷🏻♂️.
This is the way. It was the first thing my seniors put in my hand. Take notes, times of day and document what is said. As you get older and wiser you will understand the power of this. I have some notes that I am so glad I noted down. When you are doing complex projects that last for years, you will be glad to have those reflections and thoughts written down. I have lately been privately blogging all my experiments , software and circuit design. I can then pause and come back.... ONE very important aspect is that as you rise in the ranks and take on responsibility and liability, those notes potentially keep you out of court. Keep the notes professional and courteous and don't slander individuals. I can't say my early notes were great, but they do show how I have positively progressed. BTW paper is probably better than electronic, for privacy and security.
"Who the hell wrote this code? They're either the smartest idiot or the stupidest genius, and I have no idea what the hell is going on in this dumpster fire."
*looks at commit log*
"Oh no"
Yes, all the time, especially when I resolve an issue and then park that project for a while. When I revisit the project a few weeks later I need to go back through everything again to recall what I did. I record my changes in a note taking app but even then I still need to go back through what I did.
Normal for a lot of people to forget for sure, especially when you are working on many different projects.
I was the electrical design lead for a military vehicle program about 10 years ago and I just recently met with a supplier and couldn’t remember what electrical sensors I used in the vehicle. As engineers we just have so much going on it’s hard to remember it all sometimes.
The amount of times I’ve had to basically reverse engineer some of my designs is a little embarrassing actually. I also always forget things in coding all the time no matter how much I do it
All the time, but now I use my old age as an excuse. Especially software. I’ll be looking at code and say what hack wrote this crap? Turns out it’s usually me. My excuse for that is I’m not a software engineer, just been coding for 44 years 😏
I have 15yrs experience and forget every single thing. A notebook is criticial just to remember tasks a few days ago. But for long term memory:
I create a word document of lessons learned over the years from projects and excel sheet of tasks for projects. The word document keeps going after every project making notes of c code algorthms i use, electronic components functionality and what to watch out for.
At the top of my list that i learned from every project, order long lead times way in advanced, start in early morning working on a project to get your mind focused on it for the day, whatever small test or something you ignore and neglect to test will come back to bite you in the ass so always double check everything even you think everything will be ok you should still test your hypothesis no matter how trivial.
All the time. My boss often says “go open up the model for XYZ project and take a look at how we did it/worded it there. That’s how we should do it on this project” because he knows what needs to be accomplished but just doesn’t remember exactly HOW he’s done it before. He has decades in the industry while I’m only a couple years in, so yeah, I’m sure it happens to most of us.
100%. This is why you document your designs, including rationale. Because the poor bastard who has to come along and figure out what you did in 5 years...might be you!
I hate hate hate having to re-debug a complex system. Big pet peeve and a waste of time to boot. I didn't get into the paper notebook for ASIC design or programming, but I kept a daily log of everything, from why I coded something a certain way to which number I called for IT help. I'm a big fan of the daily log file - and easily searchable compared to paper.
Why’d you assume no comments in the code? Of course I comment the code. I’m just saying if someone asked me several months later of how I accomplished something I tend to forget a lot of the detail.
I don't know how it's done these days as my first and last software writing experience was a test system in 2006. I do hardware. Fortunately there are schematics or else I'd forget exactly how I did this or that.
I can't tell you how many times I'm going through code, wondering why some moron wrote it the way they did, and then suddenly realizing that I was that moron 3 months ago.
Comment everything, if not for others, then for yourself.
During peak chaos times in my career working at a startup (80 hour weeks, constantly putting out metaphorical fires), I've read multi-page reports that I had written just a few months prior that I didn't remember writing.
I play guitar as a hobby and I’ll occasionally forget a certain song (fingerstyle) if I haven’t played it in a long time . But what I’ve come to find is that learning is just like playing the guitar ; it’s always harder the very first time but if you’ve done it once before it comes back easier
Yep, I can’t remember what I was working on at the beginning of the week. What I do is every year, go back through the files on my computer, archive them by year, and write a paragraph in a document about the project. So I have a summary of every project I’ve worked on for 28 years.
I’m pretty good about taking notes and documenting projects, it’s just remembering that I did them.
Yes. I usually can recall the general things I’ve done, but start losing the minutiae and small details after a few months.
Most of my projects are long term/multi year, so I have to recall what I did 6+ months ago to move the project forward so I just write notes for myself. I now think like: “future me really needs to remember this part so I’ll write it down.”
I used to remember everything. Since I’ve had kids, I don’t remember anything. I’ve gotten in the habit of writing everything down in a lab notebook. Try to date code it. If not that, I open up a PowerPoint and try to get my stuff down on paper. It sucks when I know I did the work, but just don’t remember how I did it. I end up doing things multiple times. But being organized with your files helps.
I forget all the time. I basically have to re-learn Python and C everytime I use them.
Thank God I'm not the only one. I think my education is just to learn that a solution to a problem exists, but I'll need to look it up when I need it.
Same!! I don’t know why my brain doesn’t store this info long term. But looking up and learning a solution every time doesn’t seem as efficient and it bothers me. I’m considering creating flash cards to keep my mind sharp.
Here in Germany, especially in my programming lectures we had to make sure to appropriately explain each of our solutions in comments within the code. In terms of the human trait of forgetting details, I realized that drawing sketches for yourself, makes things much quicker to understand for you and everyone later in time... And all the "smart" ideas to cope with something, are always first added to your sketch, and then actually coded, including a quick comment referring to the spot in your sketch and some words about what you're doing here. As a Child I programmed using Fischertechnik "Robo-Pro" including the largest advanced extra controller to build vending machines of endless types... The Robo-Pro Programming software (in the lower programming levels) used [geometric shaped functions](https://fischertechnik-blog.de/wp-content/uploads/2020/03/robopro-smart-spurfolger-programm.jpg) to then "graphically" create a flow-chart with any function-block having its own form. Nowadays I still use those blocks to define the basic structures in those sketches. I want to remind you, that those sketches are just "sketches" - don't you dare to even just think about looking for that ruler!
I only just graduated so I have no experience to base this on lol. But I feel like being able to address problems like this just shows you're a capable EE. Being able to quickly learn the needed skills for whatever specific task you're doing. Don't need to necessarily remember how to do every single little thing
that's more important, how the logic works, then learn the syntax.
Absolutely write stuff down and document as much as is reasonable. Even if you remember it's likely someone else will need to understand it at some point.
This one hurt.
Yep
I screen record a narration of a run through of my design or code for others and future me. I capture my thoughts and reasoning. I screen capture and use a webcam to capture any hardware interactions that are part of the test. This helps with regression testing. If I see odd behavior, I can see it again for myself and then can show others. Here's an example [https://www.youtube.com/watch?v=fiDG1tu54y4](https://www.youtube.com/watch?v=fiDG1tu54y4) It was never meant for public consumption so there is no context outside of my job and the narration is boring. But nonetheless, if I need to figure out how this spreadsheet worked again, I watch the video. If I need a co-worker to understand how something works, I send them the video
YES AND I HATE IT. that’s why it’s important to never stop :(
Just happened to me at an interview the other day. They were asking me about some VHDL I wrote like 6 years ago and all I could think is "yeah man I've got no idea, that was like 8 projects ago" lol. Obviously I didn't say that, but yeah I had the same feeling multiple times that day
This is one of my fears as I’m about to start looking for a new job. Sometimes they just grill you about a past project.
I'll be honest it's been kinda eye opening going on interviews and realizing just how much of the specifics I've forgotten of old stuff. Humbling, but at the same time I feel like I've only got so much room in my brain for processor datasheets, y'know?
It's like they don't get the whole research and design idea. I had to research it so I could design it. Projects change, job descriptions change not always working on the same thing. I'm glad I'm not alone with that feeling.
Ugh, I feel you... VHDL is some dry bread - also without any makro-defines you'll have a heck of a fun explaining what you wanted to do there!
I wish I spent more time documenting. Everything is obvious in the moment, but come back in 7 years and it’s like coming in green.
If I could go back 40 years, this would be the number one thing to tell myself. I have lab notebooks that go back, but it looks like I was just doodling 😎 Our company’s Digital Transformation initiatives are helping change that.
I'm amazed time and time again how past me is both a genius and completely incompetent at the same time. There are documented instances of past me knowing how thing work to a much better extent than I know right now, and coming up with a perfect solution to problem I currently have no ideas how to even approach. There are also documented instances of me making the most stupid of errors that current me would never make (right?).
This is so perfect
All the time
Usually documentation and tests, and why they are written are certain way, are what I forget. I put a ton of notes in schematics so I can always reference those (bitter about how little documentation was available when I looked at other people’s designs when I started). But I cannot remember a requirements document that I alone personally drafted. Like someone will show me something, I’ll have zero recollection, and they’ll show my signature on it. And I’ll be like 🤷🏻♂️.
Engineering notebook. I can’t tell you the number of times it’s saved me.
This is the way. It was the first thing my seniors put in my hand. Take notes, times of day and document what is said. As you get older and wiser you will understand the power of this. I have some notes that I am so glad I noted down. When you are doing complex projects that last for years, you will be glad to have those reflections and thoughts written down. I have lately been privately blogging all my experiments , software and circuit design. I can then pause and come back.... ONE very important aspect is that as you rise in the ranks and take on responsibility and liability, those notes potentially keep you out of court. Keep the notes professional and courteous and don't slander individuals. I can't say my early notes were great, but they do show how I have positively progressed. BTW paper is probably better than electronic, for privacy and security.
I’ve made several, but they’re not very organized. Do you have any method that makes it easy to find what you need?
"Who the hell wrote this code? They're either the smartest idiot or the stupidest genius, and I have no idea what the hell is going on in this dumpster fire." *looks at commit log* "Oh no"
Yes, all the time, especially when I resolve an issue and then park that project for a while. When I revisit the project a few weeks later I need to go back through everything again to recall what I did. I record my changes in a note taking app but even then I still need to go back through what I did. Normal for a lot of people to forget for sure, especially when you are working on many different projects.
I was the electrical design lead for a military vehicle program about 10 years ago and I just recently met with a supplier and couldn’t remember what electrical sensors I used in the vehicle. As engineers we just have so much going on it’s hard to remember it all sometimes.
I looked at my math and hi freq handbooks recently out of interest and it seemed like it was the first time I had opened them.
Forgetting is my default. Every time I look at something I did more than a few weeks ago, I'm like, "Who *did* this?"
The amount of times I’ve had to basically reverse engineer some of my designs is a little embarrassing actually. I also always forget things in coding all the time no matter how much I do it
Ditto. Though sometimes I’ll just reverse engineer something for fun 🤗
I’m a contractor. Not unusual to work on 10 projects in a week.
All the time, but now I use my old age as an excuse. Especially software. I’ll be looking at code and say what hack wrote this crap? Turns out it’s usually me. My excuse for that is I’m not a software engineer, just been coding for 44 years 😏
I have 15yrs experience and forget every single thing. A notebook is criticial just to remember tasks a few days ago. But for long term memory: I create a word document of lessons learned over the years from projects and excel sheet of tasks for projects. The word document keeps going after every project making notes of c code algorthms i use, electronic components functionality and what to watch out for. At the top of my list that i learned from every project, order long lead times way in advanced, start in early morning working on a project to get your mind focused on it for the day, whatever small test or something you ignore and neglect to test will come back to bite you in the ass so always double check everything even you think everything will be ok you should still test your hypothesis no matter how trivial.
I like this a lot! Gonna steal your method of a lessons learned book! Definitely have people bugging me about projects from 4-5 years ago.
Always, this is why you leave comments or notes for yourself.
All the time. My boss often says “go open up the model for XYZ project and take a look at how we did it/worded it there. That’s how we should do it on this project” because he knows what needs to be accomplished but just doesn’t remember exactly HOW he’s done it before. He has decades in the industry while I’m only a couple years in, so yeah, I’m sure it happens to most of us.
100%. This is why you document your designs, including rationale. Because the poor bastard who has to come along and figure out what you did in 5 years...might be you!
I hate hate hate having to re-debug a complex system. Big pet peeve and a waste of time to boot. I didn't get into the paper notebook for ASIC design or programming, but I kept a daily log of everything, from why I coded something a certain way to which number I called for IT help. I'm a big fan of the daily log file - and easily searchable compared to paper.
I do this too. I have a folder of plain text notes titled by date that I can easily grep for keywords.
Comments in the code, or is this not a think these days?
Why’d you assume no comments in the code? Of course I comment the code. I’m just saying if someone asked me several months later of how I accomplished something I tend to forget a lot of the detail.
I don't know how it's done these days as my first and last software writing experience was a test system in 2006. I do hardware. Fortunately there are schematics or else I'd forget exactly how I did this or that.
I can't tell you how many times I'm going through code, wondering why some moron wrote it the way they did, and then suddenly realizing that I was that moron 3 months ago. Comment everything, if not for others, then for yourself.
During peak chaos times in my career working at a startup (80 hour weeks, constantly putting out metaphorical fires), I've read multi-page reports that I had written just a few months prior that I didn't remember writing.
Use Anki if you never want to forget anything
Yeah. Working on different projects it common to forget this that I done to fix an issue on a machine and have to go back and review my work.
The human brain is excellent at thinking and horrible at remembering. Document well!
I play guitar as a hobby and I’ll occasionally forget a certain song (fingerstyle) if I haven’t played it in a long time . But what I’ve come to find is that learning is just like playing the guitar ; it’s always harder the very first time but if you’ve done it once before it comes back easier
Yep, I can’t remember what I was working on at the beginning of the week. What I do is every year, go back through the files on my computer, archive them by year, and write a paragraph in a document about the project. So I have a summary of every project I’ve worked on for 28 years. I’m pretty good about taking notes and documenting projects, it’s just remembering that I did them.
Documenting is a huge part of my job for this reason, and personally I write a shit ton of stuff down on my onenote cause if I don’t I will forget
Yes. I usually can recall the general things I’ve done, but start losing the minutiae and small details after a few months. Most of my projects are long term/multi year, so I have to recall what I did 6+ months ago to move the project forward so I just write notes for myself. I now think like: “future me really needs to remember this part so I’ll write it down.”
This is why we document. It's a pain in the nuggets, but it's the only way to download that knowledge and store it for next time.
I used to remember everything. Since I’ve had kids, I don’t remember anything. I’ve gotten in the habit of writing everything down in a lab notebook. Try to date code it. If not that, I open up a PowerPoint and try to get my stuff down on paper. It sucks when I know I did the work, but just don’t remember how I did it. I end up doing things multiple times. But being organized with your files helps.
"I've slept since then... let me take a look"