I'm 15, self-taught, and have been programming for about two years. I started with HTML, CSS, and JavaScript, then studied topics through courses and hands-on projects without using AI at first. I spent a lot of time writing code manually, debugging, reading documentation, breaking things, and fixing them. I've also learned from experienced developers through long-term technical conversations about architecture, Linux, security, networking, and mistakes they've made.
More recently, I began doing automation and custom software work for clients and have earned a low five-figure total from it. One of my systems has been used by employees for over a month, which has taught me that software is rarely truly "finished." I now use coding agents heavily on serious projects. I define the requirements, architecture, boundaries, security rules, acceptance criteria, and tests, while the agents handle much of the implementation. I review diffs, run tests and CI, investigate failures, reject bad abstractions, and make changes when the generated code misunderstands the design or creates maintenance and security problems.
My concern is that my ability to ship complex software with AI may be developing faster than my underlying engineering depth. I would still be able to program, design systems, read documentation, implement things manually, and debug without agents, but I would be much slower and would notice gaps in my knowledge more clearly. I've worked on projects involving Linux, networking, security, backend development, and a small educational x86-64 kernel, while my current client work is larger but private.
I'm trying to build deeper knowledge of C++, hardware, electronics, operating systems, and security. I deliberately keep some learning and practice AI-free so I can focus on understanding rather than delivery speed. At the same time, I tend to start too many projects, move too quickly, and worry about problems far in the future. I also want to maintain a healthy life instead of letting engineering consume everything.
What would concern you most about my approach? How can I test whether my engineering judgment and technical depth are keeping pace with what I can ship using AI? What should I do less of over the next few years, and how would you balance AI-assisted productivity with the difficult practice that builds real skill?
2 Answers
Your biggest risk may not be AI—it may be trying to do too much at once and turning every interest into a project. Depth comes from staying with one system long enough to maintain it, investigate ugly failures, improve its design, and live with the consequences of earlier decisions. Limit your active projects, write down what you learn, and periodically work without agents so you can measure what you can actually do. Also protect time for school, sleep, friends, and activities outside programming. The goal is to use engineering to build a good life, not to make engineering consume it.
Using AI for leverage isn’t automatically opposed to learning, especially when you’re responsible for the architecture, review, testing, and debugging. The important test is whether you understand the code well enough to explain its tradeoffs, predict how it could fail, modify it without blindly asking the agent, and diagnose problems when the generated solution is wrong. Keep doing some projects and exercises manually, particularly in C++, operating systems, networking, and other fundamentals. Try implementing smaller systems from a blank file, then compare your work with an AI-assisted version. That will show you where the tool is helping and where it is covering gaps.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically