I have been trying to teach myself software engineering using free online resources for the past few months. While I understand the syntax when reading it, I completely freeze up when trying to write code on a blank screen. Am I missing something vital about or is this normal?
3 answers
What you are experiencing is incredibly common and it is known as the blank page syndrome. The mistake is trying to write syntax immediately without planning your logic first. Before you touch your keyboard, write out your program's steps in plain English or pseudocode on a piece of paper. Break the large problem down into tiny, microscopic steps that a computer can understand. Once your logic is mapped out step-by-step, translating that pseudocode into actual working syntax becomes much easier.
Mapping logic in pseudocode makes perfect sense, but how do you know if your broken-down steps are actually efficient? Should a beginner worry about optimization and clean architecture at this stage, or just focus on making it work?
Stop memorizing syntax rules. Code documentation exists for a reason, and professional engineers look up basic commands every single day.
Spot on. Understanding the core concept and knowing exactly what to search for on Google is a much more valuable engineering skill than rote memorization.
At the very beginning, entirely ignore optimization and clean architecture. Your only goal should be making the code work and achieving functional results. You can always refactor and clean up a working script later, but you cannot optimize a program that does not exist yet.