Would you work here?

Or more accuratly, would you stay here?

The pay isnt that bad, its just slightly below the current market, but im not that fussy. What I am really fussy about is the code that I have to deal with, and the caliber of the people that I work with. The code is basically old, and very decrepit to say the least. Using Typed datasets in some places, and if not, using inline sql called from the code behind. Im serious. We dont really use SQL parameters, its basically StringBuilder.Append to add. And thats another thing - the main head coder here has cottoned onto the fact that Strings are immutable, so he dosent use them for sql. He only ever uses StringBuilder.Append. Across multiple lines, it gets rather ... interesting. Infact, he dosent use them for any of his string work, its always StringBuilders.

Another big gripe I have is how old the system is, even though it was written a year ago - it uses Web Projects thats just cobbled together, as if it was a 1st year university student's project - NO object orientation, NO abstraction, NO centralised methods, NO encapsulation, NO Object Oriented programming, which leads me to ask why they were asking for an OO programmer?

They have no coding standards, variables are named willy-nilly based on what the developer was feeling at the moment - Hotel ID and Property ID are the same thing. They use values like -1 to note that there isnt a currently selected hotel, instead of setting an Enum value. They use T and F in the database instead of boolean values for true and false. Im dead serious about that. They keep doing "throw ex;" - even though, one of the interview questions I had specifically asked about the difference! That really shocked me. If a row is empty, and your trying to retrieve a value from it, it will just return String.Empty, or in another place, "null" - come on guys! .NET has the ability to throw exceptions.

The people here are nice people, but they just dont know that much about programming, or web development in general - they seem to imbed 5 tables into each other to get a border, something which I easily changed with 5 lines of CSS. They seem to imbed iframes, use javascript to redirect other iframes, when you can use ASP.NET User Controls, which have been around since the beta's I believe. They have a habit of just doing whatever is quickest, even though doing the right thing, when you learn it properly will take less time. And im sorry guys, no matter how good you are, if you dont pay attention to case, in a CASE SENSITIVE language, you will waste ALOT of time chasing down hard to find bugs.

I even found one file, out of 960 lines, 910 lines were comments! USE VERSION CONTROL!

To top that off, I am using crappy hardware (PC slows down very often), one single monitor instead of two, running Windows XP instead of 2003 (meaning I have to change IIS settings every time I change which project I am working on), the office space isnt that great, a guy continually makes alot of noise, which my in ear headphones cant even drown out, so it makes concentration quite hard.

I STRONGLY recommend the following books:

Code Complete 2nd Edition
Pragmatic Programmer
Framework Design Guidelines
CLR via C#.net 2
Programming ASP.NET 2.0 Core Reference

The first two books arnt any language specific books, they are about how to write programs properly, how to do things properly, and they have both been around for at least 8 years!