Hacker News new | past | comments | ask | show | jobs | submit login

In the scope of software engineering I disagree.

For software, the rope is the engineering. Whenever I need to move fast in a production environment I make damm sure my software is as good as I can make it because I know something will come and bite me in the ass otherwise. I know patience and carefull design makes me fast in the long run. I've done projects in short span and they were successfull precisely because of the quality I put in the code, and aggressive application of YAGNI.

Note: good here means understandable and simple, not some god awful super-elegant object abstraction scheme.

It might seem people with cowboy coding skills do well but it's only an illusion - they have faced as many bugs but they just code around them or do a quick fix.

The result from the latter is unmaintainable spaghetti.




Been there. It was a death spiral. The investors (which where customers, too) always wanted more features (of which not half of them made sense) so the directive given was just throw something at them that remotely resembles that requested feature to get the money. In the end the product was very unappealing and way too complex to sell to anyone else than this particular investor/customer. And as I heard recently they hired two more sales people in order to fix that. So what I'm trying to say is that not only you have to make sure your code base has a certain level of quality (fsloth's point) but this goes also for the product.


I totally agree that going slower is faster.

I disagree that the problem is cowboy coding. I'd identify the rope as carefully understanding the actual goals of the software and the way it functions in the world. Good engineering teams going "ropeless" rarely fuck up in a technical sense. I've been writing software long enough that my engineering judgement is usually pretty solid. Where they fuck up is building tons of extraneous functionality with the extra capacity, losing touch with what their software actually does in the world.


It very much depends on the situation. In an engineering environment (industrial control, regular applications, aerospace and so on) slower really is faster. But in a SAAS prototyping race with a whole bunch of like-minded characters those who cut corners may very well win the race. This is frustrating to those of us (including me!) who would rather do a proper job but the 'cowboys' seem to be both getting the funding and seem to be statistically doing better at success in the longer term. Of course plenty of the cowboys die with self inflicted bullet holes but the press does not seem to care and neither do investors. It's there on every level from 'go big or go home' to 'don't be scared to break stuff' to 'oh, we went bust, sorry customers, we'll try better next time'.




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

Search: