I’ve learned for myself that I need to write code just to keep my brain in shape - same as going to the gym to be healthy.
Even though agents are building all of my code now, I’m starting every morning with a LeetCode problem. There is no practical use, but it make me feel good and sharp for the rest of the day.
For anyone coping with AI I suggest to give it a try, and stick to it for some time, just like with a gym.
Agreed, there's a couple of bad behavioral shifts I noted for me when doing agentic coding:
- Doing too much at the same time, it is super exhausting, and I get nervous and stressed
- Sycophancy makes me overestimate myself
- When my stress meets external pressure, quality goes down. The little voice of 'surely the AI got it right' can lead to defects and code quality going down.
Except for doing some manual coding, I've started doing a couple of other things that are probably just healthy regardless of using AI heavily in day to day life:
- Do literally nothing for at least half an hour. Read something written by humans, even better if it is fiction.
- Do something that makes you feel stupid. And don't use AI to help you through it. (That could be Leetcode, but for me it is learning about statistics)
- Slow down when you feel like things are moving too fast. By far the hardest thing, but the moment I realize I'm trying to rush for a deadline, I'm going out for a walk. Realistically, I'm moving 3-8x faster than before, this little delay is nothing, and keeps me sane and quality on a good level.
I've settled on writing my own code for about 30-60 minutes per day. One benefit I've noticed is that it helps me be a bit more critical and questioning of decisions made in the code as compared to just doing code review of the LLM's output. I think this ends up being a nice balance.
I think this is a really good idea; I usually do this for about a month until I tell myself my time is better spent building or playing something that I don't have to convince myself that I truly enjoy.
Sure about that? The effort put into a leetcode medium or hard is usually way above the kind of code i’m mostly doing at work — and realistically i only have at most 2 hours a day of that level of work in me, the rest is the autopilot code, reviews meetings, docs etc.
I’ve found aoc/leetcode pretty much reversed the accidental atrophy for me
Leetcode is about learning an algorithm/data structure. Programming in general is about much more than that. Knowing minimax and ring buffers doesn’t help much in knowing whether what your LLM does makes sense. For that you need to work on more open ended questions.
There is more to software engineering than solving code puzzles. What about debugging, writing clean code, writing effective tests, architecture, optimization, profiling etc.? None of these are exercised by doing leetcode. Use it or lose it.
Comments
I’ve learned for myself that I need to write code just to keep my brain in shape - same as going to the gym to be healthy.
Even though agents are building all of my code now, I’m starting every morning with a LeetCode problem. There is no practical use, but it make me feel good and sharp for the rest of the day.
For anyone coping with AI I suggest to give it a try, and stick to it for some time, just like with a gym.
Agreed, there's a couple of bad behavioral shifts I noted for me when doing agentic coding:
- Doing too much at the same time, it is super exhausting, and I get nervous and stressed
- Sycophancy makes me overestimate myself
- When my stress meets external pressure, quality goes down. The little voice of 'surely the AI got it right' can lead to defects and code quality going down.
Except for doing some manual coding, I've started doing a couple of other things that are probably just healthy regardless of using AI heavily in day to day life:
- Do literally nothing for at least half an hour. Read something written by humans, even better if it is fiction.
- Do something that makes you feel stupid. And don't use AI to help you through it. (That could be Leetcode, but for me it is learning about statistics)
- Slow down when you feel like things are moving too fast. By far the hardest thing, but the moment I realize I'm trying to rush for a deadline, I'm going out for a walk. Realistically, I'm moving 3-8x faster than before, this little delay is nothing, and keeps me sane and quality on a good level.
I've settled on writing my own code for about 30-60 minutes per day. One benefit I've noticed is that it helps me be a bit more critical and questioning of decisions made in the code as compared to just doing code review of the LLM's output. I think this ends up being a nice balance.
I think this is a really good idea; I usually do this for about a month until I tell myself my time is better spent building or playing something that I don't have to convince myself that I truly enjoy.
Smart. I've been thinking about doing the same.
I regret not doing this 10 years ago. Just ~20 minutes of leetcode practice for a decade. I could have landed so much better gigs. :-/
As the saying goes, “the best time to start would have been 10 years ago. The second best time is today”
I used to be a baker and baked all sort of intricate breads and sweets.
Now a machine does it for me.
To stay in shape every morning I bake a single loaf.
Keeping with your example, this is the equivalent of going to the gym just to do a single set on the bench press.
Your brain is still atrophying.
Sure about that? The effort put into a leetcode medium or hard is usually way above the kind of code i’m mostly doing at work — and realistically i only have at most 2 hours a day of that level of work in me, the rest is the autopilot code, reviews meetings, docs etc.
I’ve found aoc/leetcode pretty much reversed the accidental atrophy for me
Leetcode is about learning an algorithm/data structure. Programming in general is about much more than that. Knowing minimax and ring buffers doesn’t help much in knowing whether what your LLM does makes sense. For that you need to work on more open ended questions.
There is more to software engineering than solving code puzzles. What about debugging, writing clean code, writing effective tests, architecture, optimization, profiling etc.? None of these are exercised by doing leetcode. Use it or lose it.
Well i’ve been working through adventofcode in various languages and im def spending a lot of time in my debugger.
shrug
In my opinion going to the gym for one bench press is better than sitting at home watching tv.
Would love to hear your suggestions on how to stay in ”mental” shape in the AI age.