Hacker News new | ask | show | jobs
by david927 5351 days ago
Copy-and-paste is bad, I agree, but on the other hand, I hate it. And by 'it' I mean all of it. I have never seen a large system that could, for more than a moment in time, be seen as anything else than elephantiasis.

It's shameful and I'm sick of it. I want out. Right now, I'm paid quite well as a contractor to make some enhancements to a project developed by a hundred underpaid developers in a distant land, who did a remarkable job, considering. But it's rat's nest -- they didn't stand a chance. And I can't look myself in the mirror anymore and say this is what I do. It's grotesque. I'd rather run a coffee shop (and indeed I've been talking about it) because at least I could go home at the end of the day having seen a little beauty here and there, instead spending all day staring into the face of the Elephant Man.

2 comments

Beware, you're getting scarily close to burn-out territory if I interpret you right.
Thanks for your concern but I'm not sure it's burnout. It's waking up. Here's my process:

1) Sure it's ugly, but look at what it can do!

2) Ok, it's ugly, but with good practices, good people, good management, you can ameliorate the worst of it.

3) Fuck it.

I've decided that this is my last contract. I have a project called Kayia, and my wife has a site called Kongoroo. I'll continue to work on those but otherwise that's it. If I'm not coding in Kayia, I'm not coding.

I completely understand your #3. We keep making excuses and rationalizing, for years and years, the fact that the overwhelming majority of software projects are fucked.

It doesn't sound like burnout to me either. I went through something similar. The solution was to admit that I had taken a wrong turn in my programming career, and commit to working only on things I believe in. It was either that or get out of the software business altogether.

Thanks for understanding. I really appreciate it.
A couple of Wiki entries written by programmers, you might enjoy:

http://c2.com/cgi/wiki?BurnOut http://c2.com/cgi/wiki?GetaLife http://c2.com/cgi/wiki?JustLeave

I recently stumbled on them. Especially the second one has some entries that are very inspiring if you are feeling burned out / largely incontent with programming.

Thanks, I appreciate the sentiment. I think it's more like this: imagine you are a house builder in a place where they make houses out of plastic spoons and masking tape. You make a great living out of building these houses, but it just doesn't feel professional, and finally you quit just because it seemed too much of a farce to continue anymore.

It's not just where I'm working, etc. -- it's all based on C. It's all a farce. (And don't mention Lisp, which is an idiot savant. Sure it can count the matches on the floor, but you can't introduce it to anyone.)

Language is clearly not the whole solution, only part of it. The greater part is, I suspect, psychological and social. We have yet to come to terms with the relationship between software development and how humans function. Given that code is written by humans for humans, that's a fatal omission. Yes, there have been attempts to talk about this (Weinberg, Peter Naur, the better parts of agile) but they're the tip of an iceberg.

(p.s. Edited for brevity. I always do that and never bother saying it, but in this case there was a concurrency conflict because someone downvoted the bloated version. Mea culpa.)

It's a very interesting point but personally I couldn't disagree more. While being human means we'll never get rid of the chaos, I think a new paradigm can take us a huge way towards managing that chaos and abstracting it away to a great degree.

I remember a lunch I had with Kent Beck in Zurich in 1998 (I think) and I was all set to pounce on him with this idea I had of a new approach and he instead pounced on me first with XP. I was utterly unconvinced, not because he didn't make a fantastically convincing argument, but I was -- and am -- convinced the failure stems from somewhere else.

You're more optimistic than I am. I think the limiting factor in software development is the human brain. It has two critical limitations: an individual mind can only handle so much, and different minds don't compose easily. Yeah, XP was absolutely an attempt to address that. Did it work? Not in my book. It doesn't take the creative process seriously enough - not even close. Instead it regards creative minds as something to be harnessed as a resource (a nicer way of saying exploited). My body rejects that.

Another way of putting this critique is that XP is designed to work inside existing companies that are incapable of tolerating the forms of organization needed to produce software well, when what we ought to be doing is starting new and much smaller organizations, which in the local dialect I believe is called "startups". Of course it's not that easy, because once startups begin to grow, they bring back the old organizational assumptions. But that just means we need more deviant startups.

You, on the other hand, think there exist paradigms of abstraction that can fit the complex systems we're trying to build well enough to make the process tractable. I hope you're right. Certainly some such forms are better than others, so others could be better still.

How do you propose to demonstrate it?

That's a great argument. We seriously, seriously need to go for a beer.

You've summarized my argument nicely.

How to demonstrate it? Are you asking me to put my money where my mouth is? :-) Good question. I'm working on it. For example, we need to query code. I want to see all aspects of this portion of the UI. We should only look at code in layers, as accounting systems do. For one. I could go on, but I'll leave that for sometime over a beer.

OMeta: http://www.tinlizzie.org/ometa-js/#Lambda_Calculus

This one, you may be able to introduce to people (of course, OMeta by itself isn't enough: the DSLs you could write with it however…).

Thanks for that, and I feel horrible with my cheap shot, just hours before the legend himself passed. Lisp is brilliant and has been one of the very few lights we've had to guide us. My heart breaks at the news of John's passing.