[Other Tools & General Discussion] mikereidis:
If you want to learn what software development is REALLY like, this is THE BEST site I have ever seen: http://www.joelonsoftware.com/

IMO there are no effective methods of objectively evaluating software quality and I think this is a widely held opinion by those with SW dev experience*. Many attempts have been made, with bug tracking systems for example, and pretty much all have failed to objectively evaluate quality. Very good QA people can find many more bugs than average QA people. QA team size matters. Defining a single bug precisely is difficult.

(*At least in the common real world. Things may be somewhat different in the military and super-super reliable part of the industry that uses at least 10 times more developers for projects than the apps and other common development areas.)

Maybe the closest we could get to measuring quality would be MTBF, but even in other engineering areas, this is pretty difficult to accurately calculate, and it's value is questionable. And software is SO different than other areas. Eg. If hackers (who can make serious money finding a zero day bug) or others never find a specific bug that exists, nobody will ever know about it. OTOH, if a hard disk or bridge fails, somebody will likely know about it.

I've been doing SW dev professionally for 25 years, and personal/hobbyist for 15 years before that, dating back to becoming a teen in the mid 1970's when microprocessors were first arriving.

My education was in electronics however, and I'm a practical "get it done" dev who has never pondered sort algorithms academically.

I LOVE coming up with wonderful software designs that are elegant, minimizes bugs and easy to extend and accommodate future features. In my case, I created an Android FM App named Spirit2 that I took care in designing to have good characteristics.

OTOH, my Spirit1 FM app was never designed, it was quickly thrown together with hack after hack added for years. The code is a mess and it's now almost impossible to add a new feature without breaking existing functionality. Spirit1 served a good purpose, getting an app out quickly, but I had to solve the goal of getting a better quality app out by designing a new one: Spirit2.

IMO, a surprising amount of real code out there in the world today was, at least initially (with reverb for decades), quickly hacked together, not really designed well, or otherwise "very suboptimal". This includes large enterprise systems, monstrosities like the ObamaCare system, and the systems running our banks.

And most consumer apps are so full of bugs it's not funny. Big deal, the app crashes and needs to be restarted. Most people would never know if it's the fault of the app, the hardware or the operating system.

I'd like to think that my opinions above could be more important than just filling out a survey, especially if it makes you reconsider your ideas going into this.

Again, I'll HIGHLY recommend reading this site for an hour or 2, to you or anyone involved or interested in the REAL world of software development: http://www.joelonsoftware.com/

I have no connection with Joel, and haven't been on his site in many months at least. But I have spend at LEAST dozens of hours gleaning new insights and even entertainment there over the last 10+ years. Most of the time I end up back on his site when someone posts a link from slashdot or similar tech discussion sites.

ETA: Oh, and Joel's company does bug tracking software, so I'm sure he has well formed opinions on software quality: http://www.fogcreek.com/ Tracking (and fixing) bugs is still useful of course, even if there are no good objective quality measurements. But I'll be happy to step aside and reconsider if his opinions on that differ from mine,