Hacker News new | ask | show | jobs
by Starwatcher2001 1256 days ago
I know the feeling. I'm 62 and I can't go as long or as deep as I once could, but I've changed my strategy over the years and although I'm not as fast as I once was I'm still pretty productive.

What I do is log virtually everything I'm doing in an editor window that I keep open all the time (one file per project/task). If I get disturbed by a call or a colleague, I can do a quick recap and get back to where I was. Likewise if I lose the plot several levels down my stack. It also helps if I need to switch projects for a while, or overnight.

It's like a running log of my thought processes:

- Need to add feature x to module y

- What docs have I got?

  - How to file in d:\projects\docs...

  - Log file from 13/03/2021
- What routines are involved?

- a,b,c...

- Looking at A

   - I'm thinking of adding a new parameter

     - Who else calls this?

       - Routine F

         - The mod would be straight forward there.

       - Routine H

         - This is called by S

           - This needs more thought, it might be chewy

     - What SPs are involved?

       - UpdateCustomerTable(CustName, Address1...)

   - I've backed up the database to ADB_20230110_1501.BAK so I can test.
What it does for me is offload the requirement to remember the previous levels and lets me concentrate on just the one or two things I'm looking at. As I come back up my stack I re-read what I was planning to do next. I use an editor (UltraEdit) which allows me to collapse things I've dealt with so I can see the wood from the trees.

I keep the log files, which go back over 20 years and can be invaluable next time I have to look at the same project months later. Reading the code AND my notes helps me re-build my mental stack much quicker. It also helps with any bugs that I introduce.

Good luck. It is possible to be productive at an advanced age, and still enjoy it too.

1 comments

I got severely dinged for saying in a standup that I had forgotten what I was doing the previous day.

So I bought an A4 hardback notebook, and started logging everything I did. I wish I had been doing that since I started in this business; it's a really good work habit.

I wish more programmers knew about this!

I keep a lot of journals. Bullet journals for my daily tasks/planning. Long form journals for deep subject matter: maths, graphics, algorithms, etc. Combined with my writing it's definitely been a useful way to see how I've evolved my thinking over time, etc.

Keep at it!

Isn't this what Jira, Azure Boards, sticky notes are for? You reference the sticky note when talking about what you did. If there's no note for it then your planning was probably bad.
I tried paper and log books for a long time (I've got half a filing cabinets worth), but no matter what system I used I couldn't always find what I wanted. (When did I last modify routine xyz, and why?).

Moving to flat ascii files meant it's searchable and has longevity as it doesn't need any specific tool or app. I can also carry the lot around with me - very useful on site.

Cheers.

Well, I never used my log books as an information retrieval system; the prime purpose was to help me remember what I did an hour ago, a day ago, a week ago.

Of course, I have a digital file of timestamped and commented code snippets and pieces of config. But that's just about the activity of coding; I now think a handwritten log is a good idea for anyone, whatever their trade.

The reason I recommend a hardback notebook, is because it offers the best CYA protection (I was caned as a child). It's sorta symbolic - hard evidence, if you like.

[Edit] You can also scribble in your notebook in meetings, while glancing furtively over your spectacle rims, to intimidate the speaker. Hard copy is power.

How do you organize the files? One per day? Task? Project?
I use a heirarchy of folders and within them I create a text file for each main task:

\work\customername\StockSystem

MyCust001 - Interface not updating PickStatus.txt

MyCust002 - Add Stock Check Flag to ScanPullStock.txt

MyCust003 - Look at enhancing Batch Split screen.txt

I use the numbers as a quick reference within all my documents.

\personal\Diving

Diving book recommendations.txt

Diving gas tables.txt

\personal\DIY

Standard screw sizes.txt

Choosing new security lights.txt

Getting new consumer unit fitted.txt

I add the date and time to a line whenever I start, or after a break. (Pressing F7 on UltraEdit does this automatically). I can use this retrospectively to see how long things took.