Is 'Brogramming' Killing Requirements Engineering?
chicksdaddy writes "Veracode's blog has an interesting piece that looks at whether 'brogramming' — the testosterone- and booze-fueled coding culture depicted in movies like The Social Network — spells death for the 'engineering' part of 'software engineering.' From the post: 'The Social Network is a great movie. But, let's face it, the kind of "coding" you're doing when you're "wired in"... or drunk... isn't likely to be very careful or – need we say – secure. Whatever else it may have done, [brogramming's] focus on flashy, testosterone-fueled "competitive" coding divorces "writing software" – free form, creative, inspirational – from "software engineering," its older, more thoughtful and reliable cousin.' The article picks up on Leslie Lamport's recent piece in Wired: 'Why we should build software like we build houses' — also worth reading!"
I read that as "Why we should build software like we build Horses"
But then I am drunk at work today.
We all know how much corruption goes on ( allegedly and sometimes) around construction and urban development.
Good software means much more. It requires honesty, integrity, empathy, even a talent.
Obligatory:
Hey girl, the only way you're gonna keep my stack from overflowing is if you dereference my pointer.
To understand recursion, you must first understand recursion.
If houses are code, I think I found Perl.
I clicked that article and there is a image with the word scrogrammer. If that's the alternative, I suggest we just stop using words to describe things.
Like dude, that is so totally rad. We should surf the brogramming waves some time. Grab some Java and feel that Ruby sun! We can do that C-walk over to the Perl ravine. Just Go! Remember when we did that Objective-C and got a total Brainfuck! Ah man, and that girl had triple D! But for shame, she had a Lisp. She totally wanted to see my Python. So righteous! I can't wait to Bash this weekend.
The G
There was once a brogrammer from Slo
who coded with a bro named mo
together they flowed, to and fro
until they were both let go
Join the Slashcott! Feb 10 thru Feb 17!
There's a certain urgency, determination, and focus that just isn't there at other times.
These days, I do a line of coke once in a while for a similar effect but it's not the same thing.
I've seen many fights on slashdot in my time, but "carpenters vs. roofers" is a new one on me.
Oh no... it's the future.
Software and houses are not similer.
Of course they are.
For one thing, when people ask an architect to design a new home for their family, it's perfectly normal to call him back six months later in the middle of first fit and say that actually what they need is a skyscraper. With a secret underground lair. And access to open water, so unfortunately the urban site where half of it currently sits is no good and the whole thing will need to be relocated to the nearest coast. And the building regs have suddenly changed, so now instead of concrete and rebars, the whole thing has to be made of environmentally friendly engineered wood materials.
Moreover, just like houses, we have thousands of years of experience building software now. We've become pretty good at telling in advance which techniques will be needed, what order the different components will need to be built in, and especially estimating how long it's going to take and what it will cost.
Actually, maybe it is a slightly unfair comparison, because the amateurs who build physical structures, like that mile-long railway tunnel that was drilled from both ends and wound up out of position by absurd amounts like 4mm when they met in the middle, can't really keep up with software development professionals who can build precisely specified interfaces and get everything to fit together exactly on the first attempt.
That's mostly because the tools and processes for doing all of this in the software world are well understood throughout the industry, which in turn is because everyone practising software development has gone through rigorous training taught by people who are themselves experts with years of practical experience to draw upon. Engineers and architects try to do the same thing, but they just haven't quite nailed it yet. I guess software guys have an advantage here because those tools and processes are universal and uncontroversial, so everyone in software does things the same way and software project managers don't really need to co-ordinate their team to quite the same extent that, say, a lead contractor would when building a house.
But apart from that slight advantage because software development is so much better understood, I think it's perfectly reasonable to compare building a house to building software and expect things to work the same way. There's really no qualitative difference at all, and basically the same processes work just as well for both tasks.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
#include
int main(int argc, char** argv)
{return printf("Bro, do you even code?\n");}
Stay out of this, plumber!
I want this account deleted.
I don't know why were are bringing roofers into this in the first place when a perfectly good car metaphor is probably waiting to be used.
It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
From a software engineer who has never lived in Silicon Valley, the whole idea is ridiculous to me. No team I've ever worked with would even consider working while drunk.
That's because they are generally too busy doing lines.
Of code. Lines of code...
If you want news from today, you have to come back tomorrow.
Well, if you're legitimately drunk, your body has ways to shut that whole thing down.