Skip to content

Latest commit

 

History

History
98 lines (84 loc) · 6.23 KB

Web_Training.md

File metadata and controls

98 lines (84 loc) · 6.23 KB

Web Training Hierarchy

It is generally really challenging to identify developers who are rockstar super-achievers in the web platform. Part of the problem is that there is no clear or identifiable metric of success. Unfortunately, a deeper cause of the problem is that there is no structured guidance as to which skills are important or how to progress technically. An individual must simply figure it out on their own, which is troubling considering the web platform is constantly growing and contains so many various technologies and requirements.

To provide some order in chaos this guide seeks to outline training guidance as a series of progressive levels. It is inspired by the organization of educational and task standards taught in the US Army. The guide will start with Level 1, which is the foundation. This is not to say that a Level 1 skill or more less important than a Level 4 skill, but instead seeks only to provide a sense of direction. It is necessary for a wise old sage at the highest levels to occasionally refresh their Level 1 skills.

Level 1 - Writing Code

Most discussions on improvement and education of web technologies is on how to write code. Writing code is the foundation. It is a minimal requirement. Surely there is more to being a rockstar than merely write less faulty code. Level 1 is dedicated to write code. If a developer is not competent at this level they shouldn't be employed as a web developer as this is the minimum requirement. Developers are not senior principle level rockstar advocates merely because they are clever at writing code. This only the first level of education/experience.

  • Objective: The expectation is for developers to be competent writing in the essential languages that comprise the web platform.
  • Expectations
    • Read/Write CSS
    • Read/Write JavaScript
    • Read/Write HTML
  • Success metrics
    • Competence
      • Understanding of CSS selectors, property names and associated values, and syntax
      • Can write CSS code that performs as desired in all modern popular web browsers
      • Understanding of HTML tag names and syntax
      • Capable of writing HTML entirely without presentation and interaction logic
      • Capable of writing syntactically valid HTML code
      • Understanding of JavaScript syntax, inheritance, and scope
      • Capable of independently writing JavaScript
    • Good
      • Capable of writing CSS code that works well cross browser including with legacy browsers
      • Capable of writing JavaScript without frameworks and helpful libraries
    • Rockstar
      • Capable of writing DOM methods and querySelectors
      • Capable of writing XML conforming HTML

Level 2 - Accessibility and Security

Accessibility and Security require a certain amount of education and decision making capacity. These also require a solid (near rockstar) understanding of Level 1 skills.

  • Objectives: Have a solid understanding of accessibility and security
  • Expectations
    • Understand WCAG 2.0
    • Understand OWASP Top 10
  • Success Metrics
    • Competence
      • Able to identify and resolve WCAG 2.0 AA violations
      • Able to audit and identify OWASP 10 violations
      • Perform code reviews, validate code syntax, and run unit tests
    • Good
      • Able to achieve and enforce WCAG 2.0 AA compliance
      • Able to patch and document OWASP 10 violations
      • Able to supply additional unit tests
      • Document known error conditions and
    • Rockstar
      • Able to understand WCAG 2.0 AAA compliance and achieve all AA compliance and some AAA compliance
      • Able to validate and enforce compliance against OWASP Top 10 violations
      • Able to open discussions with corporate security teams and advise/gather best practices for reducing risks at launch and development

Level 3 - Architecture

Architecture builds upon Level 2 skills by requiring a certain amount of experience making tough technical decisions to determine technical planning and the integration of various competing requirements.

  • Objectives: The ability to transform business requirements to a technical plan
  • Expectations
    • Interface with project stakeholders and validate business requirements
    • Ability to review and implement an execution plan
    • Ability to convey technical requirements to the technology teams in an understandable way
  • Success Metrics
    • Competence
      • Able to define, audit, or review a technology architecture to accomplish business requirements
      • Able to push back on business requirements if they are unclear or demand further specification
      • Able to push back on stakeholders to demand a scope of effort and initial requirements definitions before engaging development
    • Good
      • Able to assist business units in drafting technical requirements to drive a project forward
      • Able to engage and influence stakeholders in the value of technical clarity
    • Rockstar
      • Able to document and explain reductions of effort through a simplified custom architectural solution
      • Able to achieve buy in and support from technology teams for a custom crafted approach

Level 4 - Innovation

It is completely acceptable to break all the rules and be a renegade, but only if you understand what rules you are breaking and break them intentionally. There is a lot of risk trying something new or original, but if the original idea is valid it could unlock capabilities nobody else has imagined. To be a successful innovator or inventor Level 3 skills must be well understood and broken for deliberate reasons.

  • Objectives: The ability to devise custom tools and new solutions to existing problems in short time
  • Expectations
    • Identify key business problems
    • Document a valid solution that meets the needs of the business
  • Success Metrics
    • Competence
      • The solution is verifiable and easy to implement
      • Both the problem and solution are well documented to allow a stranger to easily reproduce the solution
    • Good
      • The solution influences a change in business practices or major project definitions
      • The solution is disruptive
    • Rockstar
      • The solution is tiny and the problem is either large or has large consequences
      • The solution causes other developers to reconsider prior held beliefs or change their approach