"Programming isn't a profession like law or medicine. It's a skilled trade like plumbing, masonry, or electrical work."
I worked under the impression that it would be something akin to being a skilled tool & die maker when I learned to code Fortran, circa 1973, for an upper division class for statistical analysis of econ data. I was subsequently proved right when I started working professionally as a financial analyst in 1980 using Fortran, SAS, and an early relational database management system.
I made a ton more money in my career than any tool & die maker ever did though I moved around a lot like a professional welder might.
As for the OP's original question, my first big mistake was not modularizing my early long Fortran programs into subroutines. Fave languages are fully functional interpreters with dynamic typing and code that in itself can create immediately executable code like a LISP 1. PS - HTML are really just a special case of S-expressions and rows in relational normalized tables map pretty easily to lists too.