How to classify junior, intermediate, senior software developer

    • A good junior developer can be given a known task, and be expected to execute it quickly, and well.

    • A good intermediate developer needs less supervision. They can be trusted to raise issues of code design, and play a valuable role in design discussions. They are also the “workhorses” of the dev team. However, further mentoring and higher level supervision is still vital.

    • A senior developer thinks in terms of “context” when applying theory. They understand the only way to build good software is by adapting theory to fit the needs of the client, codebase, team, tools, and organization.
    • A senior developer is the only person fully qualified to choose technology and platforms.
    • A senior developer understands that everything and will look for what that is for design patterns, libraries, frameworks, and processes.