Live data from Hacker News

Why can't programmers design software?

qnoid.com

21–25 of 25 posts

Re: Why can't programmers design software?

#21

I guess it's because I haven't worked on a really massive project with lots of other people, but I've never really needed to "design" software. Sure, sometimes I'll stop for a minute to think about the next thing I'm going to write and how it slots into the existing parts, but for the most part my programs grow organically. They start from a small kernel, parts of them grow and are branched off (B-tree style) into ne…

Designing from top down may help you a bit when you already have a mental model that you'd wish to convey in written form rather quickly, otherwise risking to loose sight of it when you get into details. UML helped me write down ideas (mostly communication flows and other behavior related aspects, not class diagrams), but I can understand why one may feel restricted when that's not necessary. Growing organically has its benefits for sure (is more fun, at least), but I also had more than one case of reconciling diverging/incompatible parts of a system simply because I went ahead of myself there with improvements on the go. Wasting time on that under deadlines is less fun.

Re: Why can't programmers design software?

#24

Is it just me? I don't like this design. What's the point of wrapping an algorithm in strategy, when there is no reuse, nor any need to exchange algorithm? And more. Why FizzBuzz(15), Buzz(5), Fizz(3); in enum and not in the constructor? Why "mod" attribute, when the rest of the code doesn't use shortened words? It should be modulo. Why FizzBuzzOperator when FizzBuzzStrategy's initialization is that easy? Also, again…

The Clojure FizzBuzzes may be one-liners, but they are multiple statements, which I'd find easier to read on multiple lines.

Which is exactly what you found when you clicked on the link to the blogpost in the previous comment. So what is your point?

Re: Why can't programmers design software?

#25
post #8
post #2

Very simple: Because in the precious few hours they have to devote to "pure learning", when between jobs -- they're only motivated to hunker down and bone up the only thing that really matters: the latest tips 'n' tricks for passing all those fun programming quizzes (and the occasional "culture fit" question or two) that are the mainstay of the modern interview process. Designing real, usable, maintainable ... softwa…

Is it though? I give an interview question where I present a spec to be implemented. There's no algorithmic trick, but you do have to know to watch out for common problems (end of array conditions, etc). Sadly though we hired someone against my vociferous objection that failed my question in the worst way - he ditched the spec, attempted a complicated solution, and proudly asserted that "it works" at the end of the i…

Much better than a quiz, for sure.
Post reply on HN