Looking for my RSS feed? Here it is!

Senior .NET Developer/Architect Skill List

Wednesday, May 30, 2007

The other day I was thinking about the skill set requirements for a strong senior level .NET Developer/Architect and I came the conclusion that the ideal candidate would be a strong mesh of a wide variety of skills. So I put together a list of topics of thing that I look for in ideal people I work with. I've always looked for these things, but never put them down on paper before now.

To be completely honest, the list of based partly on what I have always consciously looked for, but also on my pet peeves. For example, it drives me bonkers when a senior .NET framework developer doesn't have ANY ethical nature at all, when a senior .NET web developer doesn't even know the fundamentals of Ajax or even how to use Firefox Firebug at all, or when the same doesn't understand the difference between JavaScript from 1999 and Modern JavaScript (of course these are real examples.)

It's not that I'm looking for someone with 100% of the list, but for someone who can admit with humility that they don't and can learn as they go (though the ethics and attitude sections absolutely are non-negotiable!) Also, to be clear... I strongly believe in fairness. So, I do not put anything on the list that I do not possess. I do not feel comfortable demanding that someone I hire follow gender-neutral guidelines if I myself don't.

So, here's the list... is there anything that you would add? Please leave a comment if you have a skill that you wish someone would have in your own team (but make sure you have that skill before requesting it.) Also, obviously, for non-web developers, the web sections are not applicable and obviously some section are required more than others for certain roles.

Senior Level .NET Developer Skill Set (the absense of 'fundamentals', 'mastery', or 'proficiency' means 'general knowledge')

Programming

  • General Programming Skills (Data Types, Iteration, Functions)
  • Algorithm Proficiency
  • Unary/Binary Operation Proficiency
  • Declarative Programming Fundamentals
  • Regular Expression Familiarity
  • Framework Design Guideline Proficiency
  • Collection/Array Differences

Language Specific Skills

  • C# 2.0 (or VB2005) Mastery
  • Enumerators
  • Delegates and Events
  • Nullable Types
  • Generics
  • Preprocessor Directives
  • P/Invoke Fundamentals
  • COM Interop Fundamentals
  • XML Documentation

CLR/Framework

  • CLI Fundamentals (Memory Management, Assembly Loading)
  • Framework Type Mapping (int -> Int32, long -> Int64)
  • IL Fundamentals
  • Framework Navigation Fundamentals
  • Reflection / Dynamic Invocation
  • Understanding of the 'Object' Type
  • Core Assemblies
  • Global Assembly Cache (GAC)
  • Boxing/Unboxing Fundamentals

ASP.NET

  • ASP.NET Concepts (CodeBehind, Compilation Model, Intrinsic Objects, ViewState, etc)
  • ASP.NET Control Proficiency
  • ASP.NET Page Life Cycle
  • ASP.NET HttpHandler, HttpHandlerFactory, and HttpModule Proficiency
  • Object-Oriented Nature of ASP.NET

Client-Side Development / General Web Development

  • ECMAScript 3 (JavaScript 1.7) Proficiency (Closures, Anonymous Calls, etc)
  • CSS Proficiency (Specificity, Selectors, Rules, etc)
  • DOM Familiarity
  • XHTML Mastery (and it's relation to HTML)
  • Web Standards Familiarity
  • MOS (Mozilla, Opera, Safari) and IE Development Differences
  • Firefox Utilities (Firebug, Web Developer Toolbar)
  • Core Ajax Fundamentals
  • Classic Web Development Concepts (State Management, Stateless Development)

.NET Data

  • ADO.NET Fundamentals (DataTable, DataSet, DataColumn, etc)
  • Data Binding Fundamentals
  • XML Serialization

.NET Concepts

  • Assemblies
  • Exception Handling
  • Streaming
  • Attributes
  • Versioning
  • Strong Naming
  • Disposable Resources (and IDisposable)

Object-Oriented Principles

  • OOP Principles (Inheritance, Polymorphism, Encapsulation) Proficiency
  • OOD GRASP Patterns Mastery
  • OOD GoF Pattern Fundamentals
  • UML Fundamentals

Enterprise Architecture

  • N-Tier Architectural Design
  • Service Oriented Architecture Fundamentals
  • Component Oriented Development Fundamentals
  • Enterprise Services/COM Fundamentals
  • MSMQ Fundamentals
  • Web Service/WS-* Fundamentals
  • RSS/Atom Fundamentals
  • WCF Fundamentals (Address, Binding, Contract)

Data

  • Set Theory Fundamentals
  • Database Design/Data Modeling Mastery
  • ACID and Normalization Concepts
  • SQL Server 2005 Interaction Familiarity
  • SQL Server 2005 Query Optimization
  • SQL Server 2005 Index Design
  • SQL Server 2005 Tuning
  • T-SQL Proficiency
  • O/R Mapper Familiarity
  • XML/DTD/XSD/XSLT/XPath Fundamentals

System Technologies

  • Windows Server 2003 Familiarity
  • IIS 6 Proficiency
  • Component Services (COM+) Familiarity (the tool)
  • TCP/IP Fundamentals (Basic IP Theory, DNS, ping, tracert)
  • Networking Fundamentals (Routers, Switches, DHCP Servers)
  • Web Server Farm Fundamentals
  • 'Run' Window Proficiency
  • Batch File Fundamentals
  • Windows Client Proficiency (Network Mapping, File Operations)

General Software Development

  • Software Development Life Cycle Fundamentals
  • Iterative/Agile/Waterfall/MSF Familiarization
  • Version Control Familiarity (CVS, Subversion, etc)

Quality Assurance

  • NUnit Familiarity
  • Unit/Regression Testing Familiarity
  • Profiling Fundamentals

General

  • College Algebra Proficiency
  • Statistics Fundamentals (probabilities mainly)
  • Calculus Theory Fundamentals (rates of change fundamentals)
  • Cryptography Fundamentals (asymmetrical, hash, checksum)
  • Proper English Grammar (who vs. whom, etc)
  • Solid Spelling Skills

Attitude

  • Results Focused Attitude
  • Vision Oriented (mainly for Architects and Team Leads)
  • Paradigm Shifting Abilities
  • Unlearning Abilities (the ability to unlearn obsolete paradigms)
  • High Standards ("takes pride in his or her work")
  • Unbiased to Vendors (i.e. doesn't say Microsoft SUCKS! or Linux blows!)

Ethics

  • Patience for Technology and Other People
  • Strong Ethical Nature (Honest, Trustworthy)
  • Common Sense Sexual Harassment Law Adherence (a.k.a. maturity)
  • Common Sense Use of Proper Language In and Around the Work Place (a.k.a. maturity)
  • Common Sense Politics/Religious Respect
  • Work Place Software Piracy Law Adherence
  • Gender Neutral Language Guideline Adherence (mainly in documentation and professional correspondence)

Comments (2)

Russ

This is me.

6/15/2007 6:11:09 PM

ktvinod

heck this out..Make this your roadmap to success..
cheers

9/11/2007 5:23:20 AM

Math Problem: 2 + 8 (type the answer in the box)

Notice: all comments are subject to moderation.

Comment saved. All comments are moderated and may not show up for some time.

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

Powered by the Minima Blog Engine, NetFXHarmonics Prominax, and Squid Micro-Blogging library.

Developed using NetFXHarmonics DevServer.

Mini-icons are part of the Silk Icons set of icons at famfamfam.com