- you are unfamiliar with the subject area.
- you can read / understand the most fundamental aspects of the subject area.
- ability to implement small changes, understand basic principles and able to figure out additional details with minimal help.
- basic proficiency in a subject area without relying on help.
- you are comfortable with the subject area and all routine work on it:For software areas - ability to develop medium programs using all basic language features w/o book, awareness of more esoteric features (with book).For systems areas - understanding of many fundamentals of networking and systems administration, ability to run a small network of systems including recovery, debugging and nontrivial troubleshooting that relies on the knowledge of internals.
- an even lower degree of reliance on reference materials. Deeper skills in a field or specific technology in the subject area.
- ability to develop large programs and systems from scratch. Understanding of low level details and internals. Ability to design / deploy most large, distributed systems from scratch.
- you understand and make use of most lesser known language features, technologies, and associated internals. Ability to automate significant amounts of systems administration.
- deep understanding of corner cases, esoteric features, protocols and systems including "theory of operation". Demonstrated ability to design, deploy and own very critical or large infrastructure, build accompanying automation.
- could have written the book about the subject area but didn't; works with standards committees on defining new standards and methodologies.
- wrote the book on the subject area (there actually has to be a book). Recognized industry expert in the field, might have invented it.