How AI-assisted development helps me stay technically sharp at work and on my personal site despite constant context switching and limited uninterrupted time. Benefits and risks.
AI Features ā experimental
Summarize or translate this post using AI running entirely on your device. No data leaves your browser.
Requires Chrome with Built-in AI APIs enabled.
Itās Saturday afternoon. After a nice seafood spaghetti lunch, my wife and I put the kids down for a nap. Two uninterrupted hours to work on my site! Ten minutes later⦠āDad, I need to poop!ā End of focus and, until a few months ago, end of my motivation to write code.
At work Iām not interrupted by sentences like that, but as an Engineering Manager for 3 teams, developing people occupies most of my time, with continuous context switches and adāhoc chat requests.
Donāt get me wrong: I love my job as a manager and I love being a father. But I also love writing code and designing software. Trying to stay sharp as a developer under these conditions was a challenge I kept losing, until about a year ago.
AI-Assisted Development (no, I donāt do vibe coding) š¤
Iāve seen first-hand how important uninterrupted blocks of time are for a Software Engineer because writing code requires deep focus.
This concept isnāt new, but itās too often forgotten, especially by those who schedule meetings right in the middle of a morning or afternoon (and maybe theyāre not even effective).

Then AI-assisted development arrived.
When Emma was born I used my month of parental leave to rebuild this site using Astro, TypeScript and Docker, technologies I only superficially knew or hadnāt used actively in a while.
I started with Cursor, though now I mostly use GitHub Copilot in VS Code in Agent mode.
Let me stop you right away: I donāt do vibe coding. Every piece of code produced is reviewed, sometimes modified, and always understood by me. If somethingās unclear I switch to Ask mode and keep asking questions until I understand the reasoning behind the choices.
So, Sonnet & Co. didnāt ābuild the site for meā; it allowed me to develop consistently even though I was rusty on TypeScript syntax and didnāt fully know Astro and Docker, while an unexpected diaper change or my other childās desire to play interrupted the workflow.
It Feels Like Iām Programming in āEnglishā āļø
I had a big AHA moment when I started dictating my prompts using the microphone icon in VS Code.

āI want to build a section of the site listing my most recent posts from X. The API call must happen server-side so the page using this component should be server-side rendered. Split responsibilities into a function handling the REST call, one applying a caching layer, and one adapting data for rendering in a pure presentation component with no logic. Expect the API key as a secret from the environment. Write unit tests for these components. Ask me clarifying questions if you need more detail.ā
Thatās similar to the prompts I use (though recently I added a template in the copilot-instructions.md).
I remain the primary expert on the system: I guide design, request certain patterns, communicate functional and cross-functional requirements. I launch the prompt and go do what my team or my family needs. When I return I find a diff ready and can quickly validate whether the output matches the intention; otherwise I refine the prompt or tweak things manually.
Effectively, instead of giving the ācomputerā TypeScript as input, Iām writing in a higher-level language: English.
Obviously I do NOT generate commit messages with AI, I write the why myself (here I explain why thatās important).
Prompt Context Engineering: itās like working with a Junior šÆ
āPrompt engineeringā is a misleading expression: youāre not engineering a prompt; youāre providing context to an assistant helping you accomplish a complex task. Itās honestly not that different from onboarding a (particularly junior) new hire when asking them to build their first features:
- Provide as much business context as possible so decisions align with goals
- Share examples of similar tasks such as past PRs or code areas to mirror
- Ask them to proceed in small steps so you can course-correct early
- Stay open to clarifying further doubts
The quality of the output depends on the skill of whoever performs the task, but also on how context is provided: like with ML models, garbage in = garbage out.
Another way to improve output quality? You write the unit tests. Allow the Agent to run the test command (like npm test) automatically until they pass. In the end, tests are an extremely precise way to encode requirements.
Risks and Caveats ā ļø
I donāt think āI copied from StackOverflowā is much different from āthe AI wrote the code for meā. The real difference is always your degree of understanding of the code pasted (or generated). Before, with some StackOverflow answers, you might risk rude responses, now you can use an LLM to explain the why behind every choice. And trust me: itāll always tell you itās a great question. It wasnāt safe to paste code without understanding before; itās not safe to do vibe coding now.

Some say theyāre worried that writing less code will erode muscle memory, especially around syntax. Thatās potentially true, just like since digital maps exist our orientation skills have degraded. But we donāt stop using maps because the overall benefit massively outweighs the cost.
And several studies confirmed that learning improves when writing by hand, yet I (thankfully) donāt see anyone writing programs on paper anymore like in high school š
Itās important though to be aware of how dependent we already are. If I were deprived of AI today, Iād struggle to be as productive as I am now.
Remember to commit often, hallucination is around the corner!
If Youāre a Junior š¶
If you havenāt mastered fundamentals like:
- Data structures
- End-to-end flow of a web request
- Design patterns
- Inheritance vs composition
- Storage systems (databases, caches, buckets)
AI will make you go fast on a road whose signs you havenāt read.
Long-term risks:
- Difficulty debugging
- Lack of architectural taste (knowing whatās over-engineered)
- Poor readability
- Misunderstanding how complex systems work (not even necessarily distributed)
I wouldnāt ban it, but you must use it to learn, not to speed past the basics. Computer Science is still young, you still have time to understand how an x86 CPU and its registers work before jumping back up to high-level things like Docker.
Conclusion š”
I realized AI-assisted development also has an emotional benefit: even with a packed schedule (work and family), I can touch my site, or work projects, almost every day. That creates continuity which fuels motivation and satisfaction. Iāve rediscovered the joy of writing code. š¤
Even as a Senior Engineering Manager overseeing multiple teams including other managers, I still believe staying hands-on as a developer makes me more effective in my role.