What's your experience?
-
No, not education / skills. We have this large code base of Javascript (with ExtJS X|) on the front-end and a lot of C# stuff on the back-end. Daily, there are bugs to fix and new features to add. I find myself having to take notes constantly, as from one day to the next, I can hardly remember from the previous day what I did -- the constant task switching (granted, finishing a task before starting the next one) and that every task is different, is mind numbing. So my notes include: * The JIRA ticket # and description (JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell.) * What the issue is: ** The steps taken to recreate it (including data setup prerequisites) ** The steps taken to verify the fix * Code is commented with the JIRA ticket # and description. * Other useful stuff: ** Endpoints and test parameters to directly test the problem rather than go through the website ** Useful SQL to help test/verify the problem I've only been here for 5 months, but this has been a life saver for when I've had to go back and tweak something I might have worked on last week or last month. Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem? Granted, I do retain the C# stuff much much more so than the Javascript, which the brain just refuses to retain any knowledge of. I find this true even with my own Javascript code. I suppose my brain is trying to protect me, :laugh:
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
It's stress. Many studies have concluded that under stress, your recollection (and creativity and problem solving) suffers. Here's some: Anxiety and Memory Loss[^] . . . start an action and finish it. Memory Loss for Stress: Symptoms, Causes and Treatment[^] Documenting like you do is an excellent strategy - but it requires discipline to do it - when you are too busy to do it!
-
No, not education / skills. We have this large code base of Javascript (with ExtJS X|) on the front-end and a lot of C# stuff on the back-end. Daily, there are bugs to fix and new features to add. I find myself having to take notes constantly, as from one day to the next, I can hardly remember from the previous day what I did -- the constant task switching (granted, finishing a task before starting the next one) and that every task is different, is mind numbing. So my notes include: * The JIRA ticket # and description (JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell.) * What the issue is: ** The steps taken to recreate it (including data setup prerequisites) ** The steps taken to verify the fix * Code is commented with the JIRA ticket # and description. * Other useful stuff: ** Endpoints and test parameters to directly test the problem rather than go through the website ** Useful SQL to help test/verify the problem I've only been here for 5 months, but this has been a life saver for when I've had to go back and tweak something I might have worked on last week or last month. Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem? Granted, I do retain the C# stuff much much more so than the Javascript, which the brain just refuses to retain any knowledge of. I find this true even with my own Javascript code. I suppose my brain is trying to protect me, :laugh:
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Maybe a good bad code type of analogy may work here. The good code behaves nicely - so when asked about it, it is like an unknown. But the bad code - is known intimately, as its nasty habits are familiar and it is revisited often. Or maybe, more mature = more notes :laugh: I find I'm affected with both :sigh:
-
We use TFS for version control, so I've started using the agile planning features that are built in to track planned work and bugs. It's been working well for me, as long as I remember to tie my source updates to work items. Which I don't always...
"Never attribute to malice that which can be explained by stupidity." - Hanlon's Razor
-
Yep I used to use TFS for version control too - when we figured out it could be linked to tasks :thumbsup: What I didn't like though - when checking in via visual studio and assigning to task(s) it would always default to resolved.
I can live with remembering the extra dropdown. Just that capability has reduced the number of post-its on my desk by more than half.
"Never attribute to malice that which can be explained by stupidity." - Hanlon's Razor
-
No, not education / skills. We have this large code base of Javascript (with ExtJS X|) on the front-end and a lot of C# stuff on the back-end. Daily, there are bugs to fix and new features to add. I find myself having to take notes constantly, as from one day to the next, I can hardly remember from the previous day what I did -- the constant task switching (granted, finishing a task before starting the next one) and that every task is different, is mind numbing. So my notes include: * The JIRA ticket # and description (JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell.) * What the issue is: ** The steps taken to recreate it (including data setup prerequisites) ** The steps taken to verify the fix * Code is commented with the JIRA ticket # and description. * Other useful stuff: ** Endpoints and test parameters to directly test the problem rather than go through the website ** Useful SQL to help test/verify the problem I've only been here for 5 months, but this has been a life saver for when I've had to go back and tweak something I might have worked on last week or last month. Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem? Granted, I do retain the C# stuff much much more so than the Javascript, which the brain just refuses to retain any knowledge of. I find this true even with my own Javascript code. I suppose my brain is trying to protect me, :laugh:
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Marc Clifton wrote:
Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem?
Great Ghu, yes! Over the last five years my company has whittled my group from 17 people down to 5, one of whom does not write code. My group has also acquired responsibility for several products that used to be outside our purview. The final result is that each of us has numerous areas of concern, all active and wanting attention. I spend less than 25% of my time maintaining code that I wrote. Most of my time is on other products and code bases. A lot of that time is spent organizing, learning, and trying not to feel contempt for those code bases. Keeping notes for context is critical for me. Partially this is because of the rant in the previous paragraph, and part of it is due to my *cough* advancing *cough* middle age.
Software Zen:
delete this;
-
:laugh: unfortunately that would probably get me sacked as it probably contains proprietary business information.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
Whitout pasting the code directly, maybe just share some neat trick you found allong the way.
-
Whitout pasting the code directly, maybe just share some neat trick you found allong the way.
Unfortunately there are no neat tricks. It's just that when I am dealing with a massive code base, saving my previous queries makes life a lot easier.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
-
JIRA the bane of my life! at the moment. Upside better than a Excel doc on a shared drive, downside management who see a ticket has been raised the minute after are hounding as to why it's not been fixed!
-
No, not education / skills. We have this large code base of Javascript (with ExtJS X|) on the front-end and a lot of C# stuff on the back-end. Daily, there are bugs to fix and new features to add. I find myself having to take notes constantly, as from one day to the next, I can hardly remember from the previous day what I did -- the constant task switching (granted, finishing a task before starting the next one) and that every task is different, is mind numbing. So my notes include: * The JIRA ticket # and description (JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell.) * What the issue is: ** The steps taken to recreate it (including data setup prerequisites) ** The steps taken to verify the fix * Code is commented with the JIRA ticket # and description. * Other useful stuff: ** Endpoints and test parameters to directly test the problem rather than go through the website ** Useful SQL to help test/verify the problem I've only been here for 5 months, but this has been a life saver for when I've had to go back and tweak something I might have worked on last week or last month. Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem? Granted, I do retain the C# stuff much much more so than the Javascript, which the brain just refuses to retain any knowledge of. I find this true even with my own Javascript code. I suppose my brain is trying to protect me, :laugh:
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Well, yes and no. As a freelancer, normally the lead (or only) tech person on a project and working remotely, I not only frequently had multiple clients in parallel, but multiple issues for each client. (I say "had" as I'm semi-retired now and can pretty much complete one task before starting the next one). In that environment I had no "management tool" imposed upon me, but it was necessary to accurately account for time spent and the tasks worked on, so I could bill clients and justify those bills. After lots of different online tools, I eventually settled on a very basic Excel solution, with a sheet per client and a row per discrete "task" or "issue". Initially I heaped loads of detail into this, and added SQL Queries, notes, replication instructions etc into separate notepad documents with names related to the client / issue. This made me feel comfortable, as everything was meticulously documented, but took ages. For some clients the overhead was such that I had to add items to the invoice relating to keeping these records. After a few years it dawned on me, however, that my reference rate back to these copious notes was very low. Things changed so that eventually I kept just a very simple approximation of time spent, was more "generous" with in-code documentation, and particularly in notes when committing changes to source control. On those few occasions when I do now need to refer back to previous tasks, I can quickly check the issue description in Excel to get the date, then use source control searches to find code changed on that date, and do code Diffs and review comments to refresh my memory of what was going on. For some projects, I can still relate the module, method names and bits of code for certain projects. For others, I can barely remember (or in some cases not at all) who the client was, or even the task. I've found that with experience, I've learnt to identify the things I need to remember in "working memory" and the things I need invest no long-term memory to. In summary I find the trick is not so much finding the ideal tool, but learning the difference between those things that need remembering and those that don't, and being a bit ruthless about not over-documenting stuff that in all likelihood I will never need to recall - but keeping some clues - a cookie trail of sorts - that would allow me to piece together steps taken should I ever really need to.
-
No, not education / skills. We have this large code base of Javascript (with ExtJS X|) on the front-end and a lot of C# stuff on the back-end. Daily, there are bugs to fix and new features to add. I find myself having to take notes constantly, as from one day to the next, I can hardly remember from the previous day what I did -- the constant task switching (granted, finishing a task before starting the next one) and that every task is different, is mind numbing. So my notes include: * The JIRA ticket # and description (JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell.) * What the issue is: ** The steps taken to recreate it (including data setup prerequisites) ** The steps taken to verify the fix * Code is commented with the JIRA ticket # and description. * Other useful stuff: ** Endpoints and test parameters to directly test the problem rather than go through the website ** Useful SQL to help test/verify the problem I've only been here for 5 months, but this has been a life saver for when I've had to go back and tweak something I might have worked on last week or last month. Do you experience this "I can't retain this stuff because there's so much / different things to work on every day" problem? Granted, I do retain the C# stuff much much more so than the Javascript, which the brain just refuses to retain any knowledge of. I find this true even with my own Javascript code. I suppose my brain is trying to protect me, :laugh:
Latest Article - A 4-Stack rPI Cluster with WiFi-Ethernet Bridging Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Marc Clifton wrote:
JIRA sucks for preserving notes, as completed tasks disappear from any ability to search for them, as far as I can tell
You (or your Jira admin) are definitely using Jira wrong. Long-term storage and searchable-archive is one of Jira's most important and useful features, in my experience. Completed tasks are definitely searchable, unless your admin has set up your Jira-server in a very strange way. I strongly advise watching a refresher tutorial on Jira queries & JQL. I consider Jira-fu to be an essential skill for a productive developer.