Developer Skills

(The following are notes from a call on Apr 21 2011 that included Matt Zumwalt & Eddie Shin from MediaShelf, Julie Meloni from UVa, and Jennifer Vine & Jessie Keck from Stanford.)

Baseline "good" Web Developer Knows

Base set of what a Junior Level Developer should know (entry-level salary)

Valid HTML
HTML versions (when to use, what's backwards compatible, etc.)
Good CSS
Semantic vs Presentational HTML
Progressive Enhancement & Unobtrusive Javascript
Accessibility Concerns - what it means, how to test for it, how to code for it

Ability to understand what you're achieving, why & how it impacts the application as a whole.

Able to write code that generates valid markup. (ie. Rails view helpers)

How do you assess that they know these things?

Ask them! Give them scenarios

ie. You've been handed a website from 1996 full of static HTML. What are some things you would do to assess that code and make it "Web 2.0"

  • What is Web 2.0 [note: this IS a trick question!]
  • Should ask questions about users, HTML versions, browser support

Senior Developer

Attention to Test-Driven Methodology

  • writing tests that are robust, extensible, flexible

Sense of Patterns

  • Knowing when to abstract code into a separate library
  • DRY code

Sense of when to patch code vs. re-implementing (ie. "this is a little bug" vs. "this code needs to be rewritten")

Plugged into (or at least familiar with) relevant Information Channels

  • Mailing lists, blogs, etc. (ie. alistapart, blacklight list)

Aware of Version Control Systems & Distributed Version Control Systems

  • ie. Do you have a github account?

Knowing when to make customizations in which circumstances (project-specific vs. core functionality)

Automatic sense of what bad code looks like
Automatic sense of what makes code slow

Ability to talk intelligibility about code, functional requirements & work process.

How to assess

Hand them a piece of code that's badly written. Ask them to diagnose & provide recommendations.

Here's a wireframe. What's problematic?

User Experience Designers & Developers

What makes a good UX Designer?

Tests & Scenarios

Assessing user needs, defining functional requirements

Pulling together Interaction Design, Information Architecture

What makes a good UI/UX Developer? What are their distinctive skills?

This developer has skills that compliment the work of a good UX Designer.

Time & Seasoning
Know how to communicate with a UX Designer (understand the language and concerns)
Strong sense of Accessibility, deeper familiarity with Accessibility Standards
Automatic/intuitive knowledge of HTML standards

Strategies for managing CSS & Javascript (and for recognizing & fixing badly managed CSS & Javascript)

Understanding the tools of the trade

  • validation APIs (ie. W3C validator)
  • validation tools (ie. firebug, Yslow, wave toolbar)

Assessment questions

What is your browser test suite?