Can build clean JS components within an existing framework or vanilla project, matching the conventions of the project. Strongly understands the common patterns of UI development (slideshows, menus, responsive heroes, filtering systems, etc.). Can debug quickly using debugger.
Expert in at least one JS framework along with vanilla. Can make smart architectural decisions. Can build a site’s JS layer from scratch, working from existing site models. Can build functional JS that handles complex business logic, not just UI components. Can understand and debug third-party JS. Can write JS unit tests within an existing framework.
Deep expert in several JS frameworks as well as fundamental vanilla JS. Understands JS unit testing and can set up a basic test suite for a project.