ASP.NET developer categories

Apr 19, 2009

In the past 6 months I’ve been involved in hiring a lot of ASP.NET developers. It was very interesting to learn just how different skill sets ASP.NET developers have. It also made it more and more clear that every developer we talked to would fit into one of three categories:

  • The web developer
  • The developer who build websites
  • The ASP.NET super hero

Before looking deeper into the different categories I recommend you too check out how I define the ASP.NET framework 

The developer categories

With the ASP.NET definition in place it is now easier to look at the different categories of ASP.NET developers we have interviewed.

The web developer

Not many ASP.NET developers fall into this category. It’s usually the ones that come from classic ASP or PHP and made the switch to ASP.NET later on. They know everything about browser compatibility, JavaScript, CSS and the request life cycle. Also, they are usually not that hardcore in C# because they have mostly worked with client technologies. They are also more agnostic to the server-side platform and can work on PHP and RoR projects just as efficiently.

The web developer is also the kind of guy who thinks about new web technologies such as microformats and OpenID. This guy lives and breathes web.

The developer who builds websites

This is by far the biggest category. We’ve interviewed many developers who have worked with ASP.NET since it was first released. They have worked with everything from the database, data- and business logic, web services and ASP.NET. Most of them don’t care much for browser capabilities or JavaScript but they are hardcore C# developers. They have built many ASP.NET sites, but they are far from experts on the framework and stuff like modules and handlers are not where they have spent most of their time to say the least.

Their knowledge of the .NET framework, BCL and C# is immense, but they don’t qualify as web developers. They don’t live and breathe web, but their skills are just as needed in an ASP.NET project.

Take a web developer and a developer who build websites and put them in a room at the Romance Inn and wait 9 months. Then you get:

The ASP.NET super hero

This breed of developers is very difficult to get your hands on. They are a special race of individuals who know all about the ASP.NET framework and client-side technologies and are just as proficient in the more hardcore C# disciplines as well. ASP.NET is a very broad and diverse area because it is the point where the BCL, C#, XHTML, CSS, JavaScript, dependency injection, unit testing, mocking, AJAX etc. all come together in one project. To master all these disciplines takes an ASP.NET super hero.

The web developer and the developer who builds websites are both very important to a successful execution of a website project, but at least one ASP.NET super hero is essential in my opinion.

* $4.95/month BlogEngine.net Hosting – Click Here!

Comments (16) -

Rory Primrose
Rory Primrose Australia
4/19/2009 6:25:46 PM #

Mads, your description of the ASP.NET super hero makes me wonder why BlogEngine.Net hasn't been designed with dependency injection, unit testing and mocking. Is that going to change in the future?

TweeZz
TweeZz Slovakia
4/19/2009 10:30:13 PM #

Who told the BE.NET team is made by super hero's? Smile

Mads Kristensen
Mads Kristensen Denmark
4/19/2009 11:39:39 PM #

Because we wanted to keep it as simple as possible. Remember that BE is a starter kit and as such has a responsibility to be accessible to developers at all levels.

Syed Tayyab Ali
Syed Tayyab Ali United States
4/19/2009 9:29:39 PM #

Hi Mads, I like your post on asp.net developer categories.

Jacob Reimers
Jacob Reimers Denmark
4/20/2009 1:36:57 AM #

Excellent distinction between the two. No need to bother with lesser categories. But I think that merely putting the two developer types in a blender won't give you a Super Hero smoothie. You need to sprinkle that extra spice that raises the Super Hero above the crowd. I'm thinking of the difference between knowing how to use a tool and when to use it. The instrinsic understanding (talent if you will) to know which tool to use for a given task and when a lesser tool is acceptable considering the overall application framework, especially if he is going to be the one who steers the project.

BTW, congrats on the MVP!

peSHIr
peSHIr Netherlands
4/20/2009 3:29:45 AM #

I would put myself in a forth category: No web developer.
Did a very short stint as "web developer" in my first job more than 10 years ago. Moved to VB6, switched jobs and eventually did a bit of "developer who builds websites" in the ASP.NET 1.x era (including some neat modules and user controls at one point), because a lot of our clients happen to want/need websites done. However, the things that people in the "web developer" category seem to live for annoy(ed) the crap out of me to such an extent, that I've chosen to just do "anything but a web GUI" for then on.
So far this has worked well for me ever since 2004 or something... Wink

peSHIr
peSHIr Netherlands
4/20/2009 3:30:55 AM #

So yes, if you insist on these three categories, I'd reluctantly be in "The developer who builds websites"...

Paul
Paul United Kingdom
4/20/2009 7:06:41 AM #

Interesting.  When I was hiring, I found that the vast majority of people fall into the "code monkey" variety... those who can do absolutely anything as long as you tell them exactly what it is they have to do.  Not what you want to achieve, but very specific instructions.

It's amazing how many of these there are in the UK industry with pretty impressive looking CVs.  It's only when you get them in for an interview that you start to get a smell for it.

Maybe this is partly because of the dubious nature of employment agents in the UK but frankly I don't think there's much wrong with a couple of code monkeys in a 6-7 person team on two conditions
* that you have AT LEAST one from each of your three categories here
* that everyone knows who has what skills, so that you don't end up with code monkeys making decisions

jack
jack
4/22/2009 2:35:51 AM #

Maybe I'm 'The ASP.NET super hero'

Wahya
Wahya United States
4/29/2009 1:06:25 AM #

@Jack: yes you are Laughing

Petr
Petr Czech Republic
4/22/2009 6:31:32 AM #

Hi,
you should disable ratings after first mouse click, otherwise on slow network I can rate multiple times, before message displayed (and next rating id disabled)

Mike Borozdin
Mike Borozdin Russia
4/26/2009 9:28:08 AM #

I don't know a reason, but it seems that there are really few web developers who use ASP.NET, while ASP.NET super-heroes might be extremely rare. I suppose it's mainly caused by that fact that people who live and breathe Web tend not to like Microsoft products.

Moreover people who may be good C# developers but have little understanding of Web create bad image for ASP.NET. I happened to see some Microsoft related Russian web sites that were awfully made. Those sites wasn't certainly written by Microsoft, but still they had Microsoft related content, for instance, a list of active Microsoft User Groups and their seminars. There's ASP.NET, there's AJAX, but it's a shitty mess. I mean I always have to struggle when dealing with it.

Mike Amuchen
Mike Amuchen United States
4/28/2009 5:54:15 AM #

Great point view of asp.net developers thanks

Simon Oates
Simon Oates United Kingdom
5/15/2009 4:02:30 AM #

Quite right, what happens with programmers is that they so easily become entrenched in 'too' narrow a skill set to be of use to a broad project. Thats why programmers should always be looking for varied experiences.

Michael
Michael Australia
6/16/2009 6:06:38 AM #

I would like to see dependency injection, unit testing, mocking within BlogEngine.NET, just so I can learn from the code.

Rory Primrose
Rory Primrose Australia
6/23/2009 9:01:36 PM #

Unsubscribed because of too much spam - blogengine.codeplex.com/.../View.aspx

Pingbacks and trackbacks (5)+

Comments are closed

About the author

Mads Kristensen

Mads Kristensen
Program Manager at the Microsoft Web Platform team and founder of BlogEngine.NET.

More...

Month List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.