Programming Language Fluency Rankings
Sometimes I don’t know how to answer people when they ask how well I know how to use a language. For example I’m a pretty fluent C# programmer, but I’m only a beginner C++ programmer. That leaves a lot of ambiguity and wiggle room. Another way of saying is that, I can write C# code, and I can fake my way through C++ coding.
I came across a reddit post asking a pretty damn good question: How do you know when you KNOW a language? Good questions lead to good answers, redditor gorillamania answered with this:
Reading - You can look at the language and follow along with what is happening. You understand it’s basic constructs and can figure out what the program is doing.
Modifying - you are a copy/paste programmer. You can take someone else’s code and make changes to it.
Writing - You are writing programs from scratch. You may need to check the manual every once in a while for not frequently used commands, but you are literate. Usually requires at least a few months of professional experience with the technology.
Architectural - You are developing suites of programs that interact with each other. You are making architectural level decisions on your team about how the technology is implemented. You write libraries for other developers to use. Requires years of professional experience with the technology.
Guru - You are at the top of 1% of the field. You know the leaders of the technology, because you are one. You shape the future of the technology itself.
While being capable with a lanuage, doesn’t necessarily mean you’ll be a great developer. Little vocabulary bits like this can help you figure out who might be, and who you should be getting tips from.