I would hesitate to label yourself with those ambiguous terms, especially if it's in any negative light. It's like trying to differentiate between "software engineer", "developer", "programmer", etc. It's mostly made up, and the points don't matter.
If you're interested in joining one of the FAANG companies (if only to dispel the myth that it's all real impact), a strong computer science foundation is very helpful. Unfortunately, success in their interviewing processes is more reflective of your ability to solve algorithm problems on a whiteboard rather than your ability to get work done, but the good news is that like anything else, it's doable with a good foundation and practice.
The next question is what to do once you make it to one of those companies and find yourself stitching programs again, but that exercise is left to the reader.