Hassan2bit

competence in coding

" Competence is fairly easily measured by the simple test of:

If given a task in programming, can you complete it in a reasonable amount of time with minimal help from others.

In some environments it's alright to ask for help, but typically you should only ask for help after you're totally stumped or else people will be annoyed or think you're an idiot.

The way you get to this ability is to create a bunch of projects. You'd be better off making 365 little projects over a year than 1 giant project over the same year. At the same time, you should attempt at least one "significant" project as a side project, but mostly tons of little projects are the way to get better at making things. People only pay you for making things, or fixing things.

One trap people fall into with this (especially perfectionists) is they think they have to make a ton of "original ideas." That's absolute bollocks. Every single artist, programmer, musician, and writer got good by copying other people's ideas. That means you could get the same benefit out of making your own replicas of 100 other people's ideas. Want to get good at front-end design? Do hundreds of recreations of other websites. Want to get good at data science? Replicate hundreds of other people's analyses.

However, you also want to be able to make your own things, so the plan is to do "copy then extend." Make a replica of something, then extend it to be your own. Do that enough and you'll be able to make your own things (which will really just be copies because nothing is original). " excerpt from learn code the hard way