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?