I'm retraining to become a software developer, but after about seven months I still struggle to begin a program without copying or referring to existing code. I can understand unfamiliar code and sometimes find bugs, but I often freeze when deciding what to write first. Even basic syntax, such as declaring an array, can slip my mind. I've tried breaking projects into smaller pieces, but that hasn't helped as much as I hoped. What exercises, learning methods, or habits can help me become more confident starting projects from scratch?
4 Answers
Go much smaller than you think. Build tiny programs that focus on one idea at a time, such as reading input, changing a value, looping over a list, or printing a result. Repeating these small tasks helps the basic patterns become familiar before you combine them into a larger project.
Don’t begin at the keyboard. First describe the task in plain language, identify the inputs and expected outputs, and sketch the steps with a list, flowchart, or pseudocode. Solve the problem manually before translating each step into code. That makes the programming part an implementation exercise instead of a guessing exercise.
Try explaining each concept out loud or writing an explanation for someone else. Start with something simple, like what a variable or array represents, why you need it, and what operations you want to perform. If you can describe the solution clearly, turning it into code becomes much easier. A beginner-friendly visual tool can also help you practice logic without being distracted by syntax.
Use a structured course or introductory book, and actually complete the exercises rather than only reading the explanations. Alongside that, keep one small personal project where you apply each new concept. Regular practice is more useful than trying to memorize every piece of syntax. Even experienced developers look up syntax in the official documentation when they need it.

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