Hacker News new | past | comments | ask | show | jobs | submit login
Asshole Driven Development (scottberkun.com)
102 points by sidcool on Oct 13, 2012 | hide | past | favorite | 25 comments



There seems to have been an influx of these sort of posts on HN recently.

To be honest, engineers are just people. A wide sample of folks from different backgrounds, cultures, ethnicities, educational-backgrounds, etc etc.

This wildcard lumping of people into various categories has got to stop. It's ridiculous to say the least, and really does the profession harm when you separate the engineer from the individual in question.

People are different.


I find it interesting that; "He worked at Microsoft from 1994 to 2003, mostly on Internet Explorer 1.0 to 5.0 (not 6)" ...


That sure makes it sound like IE6 was a pariah project. It's the sort of thing that makes people go out of their way to say "I had no part in the making of that monster".

Hmm. More Bozo Loop material.


Pariah project? People forget IE6 http://en.wikipedia.org/wiki/IE6 was released in 2000 freaking one, for Christ's sake. It was state of the art for years. Sure it started becoming a pain in the ass to developers years later, but it's only a pariah project with the benefit of 20/20 hindsight and years of continued engineering development.


Yeah, but it became SUCH a pain in the ass later on that it's entirely understandable that people would later on not want to be associated with it.


Maybe Opera could have been considered state of the art - but I agree. IE6 was a great browser. It was the delay for IE7 that was the problem.


[deleted]


Alan Kay has been giving talks on this for some time. He says there is no equivalent of the arch of civil engineering in software development, which is at the architectural equivalent of the pyramids. Analogies like this are difficult to sustain, but one might argue that civil engineering has a head start over software engineering by a couple thousand years. Others might protest that macros and algorithms have been around at least as long. I think this misses Alan Kay's point that the Empire State Building took 3000 workers 500 or so days to build, and those kinds of coordinated efforts are unheard of in single software engineering projects. One could counter that many large programming incorporate the work of thousands of others in the form of algorithms, techniques and standards, but civil engineering is no different with respect to accumulated wisdom--over a somewhat longer period. Civil engineering does provide for coordinated efforts among thousands of construction workers on a single project.


Here's where the analogy falls apart - civil engineering does not provide for coordinated efforts among thousands of construction workers. Construction management does. Any large building project will involve a civil or structural engineering firm, which designs the building or structure, and a construction firm, which builds it.

The construction firm is your compiler toolchain. The benchmark to meet is how long it took to design the Empire State Building, not how long it took to put it together.


Where would construction management be without civil engineering? The analogy between construction firms and compiler toolchains is either laughable or serious publishable research--I've never seen it mentioned once in the civil engineering literature.


Civil engineers are self-confident and don't go comparing themselves to all the other engineering disciplines trying to convince themselves they are real engineers. Software engineering is prone to a significant minority of people who are not so self-confident.

Personally, I am. In my opinion, whenever someone tries to drag in a methodology from other engineering disciplines they do so with a blinding ignorance of "cost" side of the cost/benefit ratio (and often non-trivial ignorance on the "benefit" side too), and the real differences between software and physical things. If car engineers could smash a car into a wall, observe something they didn't like, tweak something and 30 seconds be smashing another car into a wall effectively for free, their design methodology would be different too. (And if you feel inclined to get into a really detailed argument about how it would affect them because you think I'm assuming something about exactly how it would be different, you're missing my point, which is simply that it would indeed be different. Especially towards the beginning phases of the design.)


Posted on June 19th, <2007> in Management, Software/Web development

-- Whats was old, is now again New


That's probably worth emphasizing more: this post is pretty old.


And that it is still relevant suggests some truisms lay within it.


The article missed CADT: http://www.jwz.org/doc/cadt.html


That's a great article, thanks!

"...and the new maintainer can't be bothered to check whether his new version has actually solved any of the known problems that existed in the previous version"

It's even worse than that:

- The new version might have new bugs that the old version didn't have.

- The new version might not have all the features you've come to depend on in the old version.

- The new version might have APIs or syntax that are not compatible with the old version.


I like to say "Rewrote it? So now its bigger, slower and more expensive!"


"It hardly seems worth even having a bug system if the frequency of from-scratch rewrites always outstrips the pace of bug fixing."


never time to do it right, always time to do it over.


An argument for how GNOME developers can avoid this problem was recently made at http://jeff.ecchi.ca/blog/2012/10/08/reducing-our-core-apps-...


Great read!


There should be a name for these types of articles: Pigeonhole Driven Discussion.


Where is Know-it-All Driven Development? Oh wait.


You just need to find another job. Those don't sound like forms of development, just unprofessional people making bad decisions. Good luck.


CYAE has been a dominant force in government for years now.


We implement ADD, CDD, CYAE extensively in our company ..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: