The Differences between the Average PHP and ASP.NET Developer

by jmorris 5. October 2010 15:47

I have been interviewing for a number of different positions in the company I work for and have begin to notice a number of core differences between “average” PHP and ASP.NET developers.

The positions in most cases are similar: front end web developer. In a nutshell, the following are some of my “hasty generalizations” from interviewing multiple developers from both camps.

PHP Developers

  • PHP developers in general are far better at traditional web developer skills such as CSS, XHTML, JQuery/JavaScript…in general making things look really nice, maintaining Web standards compliance and resolving cross browser issues.
  • PHP developers tend to understand the basics of SEO (importance of URL structure, clean XHTML, importance of H1, H2…, meta description and keywords, etc).
  • PHP developers understand how the Web in general works, they know what REST means and they know why REST is used.
  • PHP developers aren’t too interested software patterns, architecture or software engineering in general…any good means to an end is justification enough.
  • When you ask them about AJAX they say things like “JSON”, “DOM”, “$.ajax()”, and “XHR”
  • Can hand code HTML
  • Will tolerate embedded SQL in their pages
  • Don’t unit test

ASP.NET Developers

  • ASP.NET developers say that the know CSS, but they usually really don’t. The better one’s know that tables are evil and should be avoided at all costs, however some do not. Basically, CSS and HTML are the domain of the Web designer.
  • ASP.NET Developers tend to not understand the basics of SEO; most ASP.NET developers work on intranet style projects or Web applications, not Web sites so they lack this important skill set.
  • ASP.NET developers think that REST is a “buzzword” and therefore must gone on the resume, but they really don’t understand what it means: “Well, I don’t really know the theory, but I know how to Google really well!”.
  • ASP.NET developers tend to know the basics of Agile processes (but often confuse it with any ad-hoc development) and software engineering in general. They tend to have a superficial understanding of patterns, but aren’t hell bent on the practice.
  • When you ask them about AJAX they say “AJAX Toolkit” and “Update Panel”
  • Think that an HTML is the result of dragging something from your toolbox of their IDE.
  • Know Linq2Sql and have heard of the Entity Framework and NHibernate. In general understand the importance of layering applications.
  • Don’t unit test….it takes too much time and is too hard, but they “have read about it” and agree it would be a good thing given they had the time.

Note that this does not apply to all developers; there are definitely some diamonds in the rough, but those are the exception. Also, note that if you are reading this you are probably the exception in that most developers do not read blogs; they reach into their bag of Google for answers and then find the search result that allows them to copy and paste the solution.

Tags: , ,

rant

Comments (7) -

Cyril Gupta
Cyril Gupta United States
10/8/2010 4:19:57 AM #

You're making ASP.Net devs sound like really ignorant gorillas!...

Definitely rant-driven.

jmorris
jmorris United States
10/8/2010 9:58:42 AM #

Well, I admit it was somewhat of a negative post, but I am not talking about all ASP.NET devs. I am only referring to the average dev with the average resume that I come across. There are many, many ASP.NET devs that excel at CSS, HTML, JQuery, etc., however they are the exception.

I am beginning to think that the abstractions of WebForms has really a rather bad side affect on a whole generation of ASP.NET Devs. A generation ignorant of how the web works in general.

Wordpress Installation Service
Wordpress Installation Service United States
1/21/2011 10:38:05 PM #

Man don't take so much out on the ASP.Net Developers! Hahaha

Dave Robbins
Dave Robbins United States
1/23/2011 1:34:41 PM #

Nice post.  I have something to share that in some respects I am a little ashamed of, but it may illustrate why WebForms is not such a good abstraction.  Every other year I think I want to get certified so I go for the ASP.Net route and try my hand at test questions.  Now my development style has taken a different route, and I have abandoned ViewState, UpdatePanel and ScriptManager in favor of PageMethods, jQuery and plain old Javascript.   All the sample questions for the ASP.net test centered around all the practices that I avoid!!!  I mean I have used ScriptManager in conjuction with Telerik, but I abandoned that technology once I got comfortable with jQuery, DataTables.Net I found that I could reduce page sizes and increase page speed when I turned off ViewState and focused on client side development with Javascript.

I'ved learned alot these past 2 years, but none of it is the "standard" practice the Microsoft engenders given the types of tests it requires for certification.  In short, my great strides in my development capability will DO NOTHING for my certification.  In addition when I talk about not using ScriptManager and the like on StackOverflow or with contractors we hire, I get the strangest responses.  Mostly I'm told I'm wrong.  Fine, I'm wrong but I have and apps working that require very little rebuilding and re-deployment with Studio, so maintenance is far easier.  I couldn't do any of that with a traditional WebForms approach.  It looks like I won't be taking any certs in the near future since I don't have the luxury of cramming all the answers into my head only to reject their use in my development.

jmorris
jmorris United States
1/23/2011 3:51:26 PM #

@Dave - I am 100% agreement with you. The little webforms development I do now is so different from the microsoft way taught in the exam books and evangelized on MSDN. I use as little abstraction as possible and prefer the aforementioned jquery, datatables and axed scriptmanager (almost everywhere) long ago. I actually think that the abstraction makes web development more difficult!

One thing that I never really mentioned in the post is that most "asp.net" developers I interview are really ".NET" developers: a little desktop, a little database, a little asp.net, etc. Nearly all PHP are strictly web-developers, so they are more specialized.

jason robertson
jason robertson Australia
4/20/2011 10:47:28 PM #

Yes but would you build a large sophisticated business application in PHP, FaceBook crashes every time I use it.  Open Source with their Volkswagon dragging us all backwards. The whole internet is floored and hamstrung by clinging to script languages in the browser html and css (the whole open source thing is just a massive anchor in the past). Binary (compressed and encrypted) to the browser and strong typing would really be a revolution for all concerned. Ajax and JQuery are sort of more of the same HTML 5 oh my if thats the best the w3c can do their is little hope for the future. I predict a new internet emerging business grade long time or short strong typing good architecture speed of execution, far less cost to business far more productive employees

jeff
jeff United States
4/22/2011 8:39:44 PM #

I am not sure facebook crashing has anything to do with PHP or open source...

Pingbacks and trackbacks (1)+

Jeff Morris

Tag cloud

Month List

Page List