For me, the hardest part moving forward with my coding was being okay with not knowing everything. An example, HTML is hard, but not that hard. It’s tempting to want to get to know, and have full mastery of, all the syntax before feeling able to produce something worthwhile. At least this was the case with me.
The image below tells the story. It’s easy to say that since what I am able to do now isn’t perfect then I should delay production until I feel its perfect. I think in the world of coding this is particularly pertinent.
I’ve embraced some of the concepts of the Agile software development model, particularly principle number 3 from the Manifesto for Agile Software:
Working software is delivered frequently (weeks rather than months)
This concept, extrapolated to things outside of software development, is a good approach for many things in life. Instead of getting bogged down in details, planning, and the need for completeness - focus on getting stuff out there. Of course, the important thing is to keep working after producing something.