I'm self-taught, and I'm mostly avoiding[0] AI while I learn. I regularly see the phrase 'know how to code', but I'm not sure what the consensus criteria are for that. Typically this kind of beginner question would be more suited to reddit, but I think the responses there are biased toward inexperience.<p>Here's the criteria I have so far for a 'reasonably competent' developer:<p>- knowing how to compile a basic C program
- knowing enough git to contribute to open-source projects on github-likes
- knowing common DS&A patterns (not necessarily well enough to pass FAANG though)
- being able to setup a basic CRUD website with logins & accounts
- knowing OOP paradigms like classes, constructors, etc.<p>What am I missing?<p>[0]I use AI for search a lot to find modules and syntax
Some other things that you could add to your tool belt are testing and testing frameworks, documentation "standards" (standards being defined by your org), and telling when a class, function, or script is starting to get to large, and needs to be broken out. The best ways to learn these skills is on the job. Since competition is fierce I would look to some sort of professional system that allows you to begin to ask these questions. Like working in a tech based call center, or working in a QA department, or taking some courses at a local community college. Going to reddit, and stack overflow might not be the best way to get thins information as there are a lot of people who don't post useful insights or information there. Youtube would also be a great place to get some exposure to these skills, just finding the right video.