Rate Your Level

Posted: July 19, 2011 in General, Technology

Rather than try and attach years of experience to this scale, I’m going to represent a list of major areas and skills, questions, or topics in some basic area. I’ve tried to capture whether I feel a skill is required to be a beginner, Intermediate or Advanced web developer.

I put this list together based on my own experience, some search on web and other people’s views.

Beginner: Knows some of the items on the list
Intermediate: Knows most intermediate items and some advanced
Advanced: Knows almost everything on the list

HTML

The ability to produce clean, valid, maintainable HTML is critical for a web developer. Current standards include HTML 4.01 (1999), XHTML 1 (2000), and the beginning of HTML 5 (2011)

I

The effect of doctypes, can code a mostly valid site without looking up the rules

A

  The effect of content-types and how to set or debug them

I

Knows (and use) all of these without looking them up: html, head, title, meta, script, style, link, body, a, strong, em, ul, ol, li, table, tr, th, td, h1-5, input, select, option, img, p, span, div, pre, textarea

A

  And most of these: dl/dt/dd, thead, tbody, tfoot, abbr, acronym, applet, object, blockquote, iframe, label, map, optgroup, sup, sub, base, fieldset

A

Can explain how HTTP works (headers, redirects, header requests, clientside caching)

I

Knows how to link to a position in a page

A

Can name at least one site, application, or organization that has an CSS validation tool

B

Knowledge of Basic HTML Page generation

B

Knowledge of HTML Editor FrontPage, dreamviewer …(Minimum Two)

I

Knows purpose of robots.txt file

A

Knows purpose and can implement sitemap.xml file

B

  Table Layout – what it is, why it’s bad and good.

CSS

Cascading Style Sheets are used to describe the way an HTML documented should be presented. CSS 1 was released in 1996 and the latest published recommendation is CSS 3.

I

Difference between display inline, block, and inline-block and what the default value is for div, span, a, b

I

Difference between position static, relative, fixed, absolute

I

What z-index is and how to use it

A

How z-index is calculated by individual browsers

I

Difference between padding and margin

I

Difference between display: none and visibility: hidden

I

Purpose and use of “media”

I

Knows at least a few attribute selectors

A

Can describe pseudo-classes and know many without looking them up

A

Table Layout – and why using CSS for table layout (display: table, table-cell, etc) is not bad

Javascript

Javascript is scripting language for web browsers, one of only a few ways to create client-side interactions consistently across available browsers. JavaScript was first shipped in 1995 as part of the Netscape browser.

I

How to write a basic function, inline event handler, and a non-inline event handler (raw or w/ a package)

I

Can write one or more methods to make an AJAX call with reference material

A

Can write one or more methods to make an AJAX call without reference material

I

Knows at least one framework (jQuery, Prototype, Scriptaculous, ExtJs….)

B

Generic Form Validation like empty check, is numeric etc.

I

Can create classes (function or literal)

A

Knows and can use prototype (little ‘p’, not the framework)

I

Can dynamically find and add elements to the page using DOM or a framework (without looking it up)

Server-Side Programming

The shift to dynamic, server-generated websites in the mid-to-late 90’s was responsible for shifting the focus of the web from document retrieval to interactivity, commerce, and services.

I

Knows at least 2 server-side technologies – Perl, PHP, ASP 3, JSP, Java Servlets, CFM, ASP.Net (WebPages, Web Forms, MVC), Ruby on Rails, etc

A

Knows more than 4 of the above list

I

Can explain difference between stateful and stateless development

I

Can explain how sessions work

I

Can explain how cookies work

I

Difference between GET and POST and how known languages present this information

I

Pros and cons of client-side vs server-side validation

A

Understands the basics of (SOAP or REST) web services, how to implement them, and how they work

I

Knowledge of Language Framework & CMS like Zend, Cake, Drupal, WordPress (Minimum 2)

A

Can explain URL rewriting and implement on at least one system

B

Basic Syntax, Database Interaction (fetching and storing data)

Data

Most web applications have some form of data store behind them. Several forms of storage and caching mechanisms exist and being able to build a basic system often requires at least a basic level of knowledge in these areas.

I

Can build databases, define queries, and debug on at least one major RDBMS

A

Knows basics for normalization and can create a basic data model to describe their database

I

Can work with at least one NoSQL database or data cache

I

Can write match and search regular expressions

A

Can write match and search regular expressions without a reference in more than one language

Performance

Tuning a website to run in an optimal fashion can sometimes be the difference between paying for a single server or multiple servers, between a responsive site and one that fails under load.

A

Understands and can implement data caching mechanism

A

Understands and can implement page caching mechanism

A

Can use one or more page performance or load testing tools

I

Tools/methods and purpose of minification of JS and CSS

A

Understands and uses CDNs when possible

Security

As recent news stories have reminded us, security is an ongoing requirement for websites. Understanding the basics of security can help us build security in from day one rather than trying to squeeze it in at the end.

I

SQL Injection – what it is, how to prevent it

I

Cross site scripting – what it is, how to prevent it

I

Understand hashing, salting, and importance of storing critical information in hashed or encrypted formats

I

Cookies – Understand session hijacking and dangers of storing user information or identification

B

You protect images from download by implementing right click intercepts, layering transparent images in top, etc

No doubts many points are missing like documentation, project life cycle, versioning tools etc, if you feel any point should be added, please add freely.

Advertisements
Comments
  1. ikhalayi says:

    The post is great. I have been confused and woundering about the html,java script,css and web langugages now i can get the differences.Thanks for the help.

  2. If you want to get much from this piece of writing then you have to apply
    such strategies to your won web site.

  3. I really like what you guys are up too. Such clever work and exposure!

    Keep up the very good works guys I’ve incorporated you gguys to my personal blogroll.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s