Hacker News new | ask | show | jobs
by hyperliner 4368 days ago
Here is a conversation that could happen building a bridge if the builders were like some developers (aka, not engineers):

- "hey, let's figure out the physics of this." -------> "No, let's build a small bridge here with these Legos. I bet they work"

- "ok, let's trace the design key points." -------> "What for? Let's just start right here, aim more or less over there, and that's it"

- "Ok, time to go rent some excavators." -------> "But why? It takes too much time. I can build an excavator here. Look. There. I just built an excavator"

- "Look, they sent us a blue excavator." -------> "No no no. Excavators must be yellow. Don't like it. Return it."

- "Ok, we need to hire extra workers." -------> "But wait, do they have experience with blue excavators? Yellow only? That's lame. Keep looking"

- "Ok, let's put some signage so people know what to do" -------> "No, let's just see where they go and we will extend the bridge there!"

... and the best one

- "Well, we need more resources to finish this project" -------> "Nah, let's just open source it and forget about it!"

sigh

2 comments

On the other hand, a lot of software is built like bridges. Avionics software (a hefty segment of developers who don't seem to publicly blog much) is built starting with formal requirements documents, and includes formal verification against those requirements, quality audits, signoffs by senior staff and FAA representatives, etc.

Software can be built like bridges. But most software doesn't really need that level of attention, so it isn't built like bridges. In a commercial environment, the benefits of the added overhead would have to justify the expense. I would roughly estimate that avionics-style overhead would quadruple the budget and schedule of your typical web or iOS software project. Is it worth it?

Maybe it'd be worth just being a little more strict, even if not four times as strict. Someone has to make those decisions. But it's certainly possible to take software development more seriously.

Yes, it is the nature of the latest innovations that are paying off. In other words, who cares if the flapping bird was supposed to go through the opening, but the software miscalculated and the birdie died?

This line of argument supports the point that developer != engineer.

You've just discovered building a bridge is unlike writing software.

Maybe someone will expend the effort to reverse that, making fun of bridge engineers trying to build a smartphone app with a failure tolerant, scalable backend, or something, but I'm not a comedian. I just write software.

Actually, the first joke could be from the user perspective: ---> "so, what do i do with this bridge? Should I, like, step on it or hang from it?"