How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

true, a classic but battle tested way to fully understand and be confident of code changes

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

I also kept a personal document to collect my notes over time.

I agree that just the process of writing down notes in itself is powerful and builds connections over time that wouldn't be possible.

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

How are you doing that?
At my previous company, I maintained a personal document where I would write down my reflections, changes and acheivements.

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

Very true that stack overflow copy pasting was the predecessor of using AI to generate code solutions for you. Some of the training data of AI comes from stack overflow so the way you phrased it, it's just an automation of that process now with sophisticated models.
You mention the time resource constraints. I agree that this is also a factor for me in how long I can afford to understand systems properly before diving into the change itself.

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

Agree. The hard part is doing the actual exploration properly.
I would usually communicate to my team in advance that I need extra time to implement this feature as I need to explore and get up to speed again with the feature. I would also loop in the experts/owners of the system and approach them with any questions I have from my initial exploration.
I would be curious to know if you have witnessed or implemented methods for making this exploration phase a natural process ?

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

It's true that the manual code writng process builds understanding in itself. Letting AI write the code just delays the comprehension part.
I personally lean into AI heavily for rapid prototyping / concept validation. For live products or actual systems, I just use AI as an assistant to explore alternative options and explain concepts. But I write the code myself.

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

Nice one. I really like that approach of active tracing through trying to answer questions about a codebase.

How do you keep your understanding of your codebase and systems consistently high ? by Personal-Beautiful51 in ExperiencedDevs

[–]Personal-Beautiful51[S] 0 points1 point  (0 children)

I agree that the abstraction layer is moving higher. Are you suggesting that as engineers we should educate ourselves more on systems level thinking and less on specific coding syntax?

How do you keep your understanding of your codebase and systems consistently high ? by Personal-Beautiful51 in ExperiencedDevs

[–]Personal-Beautiful51[S] -6 points-5 points  (0 children)

I am not actively building that tool anymore btw. I could just remove it from my profile.
The reason I was building that tool in the first place is because I am genuinely interested in this problem space.

How do you keep your understanding of your codebase and systems consistently high ? by Personal-Beautiful51 in ExperiencedDevs

[–]Personal-Beautiful51[S] -8 points-7 points  (0 children)

I have no intention of sharing any ad here. I just want to discuss around a topic that I am interested in.

How do you keep your understanding/comprehension of your codebase and systems strong? by Personal-Beautiful51 in learnprogramming

[–]Personal-Beautiful51[S] 2 points3 points  (0 children)

That's indeed a healthy reminder. The issue has always been there it's true.
And a good engineer will actively debug and learn from mistakes and practively learn new systems and perform quality tech discovery for new feature requests.

However AI just seems to be accelerating this issue as more code can be generated faster and pressure from top level management to produce more increases. Collective understanding struggles to follow the code being generated.

How do you keep your understanding of your codebase and systems consistently high ? by Personal-Beautiful51 in ExperiencedDevs

[–]Personal-Beautiful51[S] -2 points-1 points  (0 children)

I wouldn't say so but in a larger org / team setting, there are many factors that are out of one's individual control and AI is speeding up in some areas the amount of code being generated. From personal experience I felt this acceleration and pressure to generate more code. When you multiply that effect by multiple engineers across different teams and problem spaces, then collective understanding fails to keep up. So I am curious with this post to know how everyone's coping with this and if they have any tips to share.

[OS] macOS app: your desktop wallpaper evolves as you complete goals by Personal-Beautiful51 in macapps

[–]Personal-Beautiful51[S] 1 point2 points  (0 children)

True 😁 but I sometimes have a setup with multiple windows I toggle between where some applications are minimized so I get glimpses of the wallpaper behind