Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I didn't miss it. I have acknowledged the requirements and have challenged them.

What I am stating is that "it was in the requirements" is not a "get out of jail card" when someone says it's over-engineered.

All I'm saying is that it's a very comfortable position to abstract away personal responsibility and say "I'm not over-engineering, that's what X wants", but that's exactly how we get the over-engineered Linux-plus-wi-fi doorbells.



You still fail my challenge: design a wireless doorbell that has a user-configurable chime (eg. MP3 file provided by user), in a way that uses less software or less hardware than mine. You couldn't.

Then I want you to justify why commercial products offering this feature have 10-100 times more code or 10 times more complex hardware just to do what my doorbell does :-)


And you're still failing the challenge of understanding my point, over and over.

The person who gave an opinion about whether this is overengineered or not was Lukeify, not me:

> You are super-sensitive to over-engineering, so you over-engineered your requirements and ultimately your end product, just in a different methodology and framework.

It's still over-engineering to a lot of people, including lukeify, regardless of there existing something worse, regardless of any "it was the requirements" defence.

Over-engineering something is fine. Especially a personal project.

Just own it.


This is was a really unproductive thread to read. As an observer, gotta say I don’t agree with your point. Custom chimes and not having a wire are both extremely reasonable requirements to follow.

What if the default chime triggers some PTSD? (Probably doesn’t, but it could happen!) What if the landlord doesn’t want you to drill a hole through the side of your house and it doesn’t come with a doorbell?

The solution isn’t “over engineered” it’s just “engineered” (not an off the shelf product)


> Custom chimes and not having a wire are both extremely reasonable requirements to follow.

I never said otherwise?

Perhaps it was unproductive because you’re assuming I’m making a point while I’m not?

My point was entirely that other people can call this “over engineered” due to feature creep.

The person who called it over engineered in the first place wasn’t me.

I appreciate that you and other people seem to want to discuss doorbells, and someone else seems to want to discuss christmas lights, but I am not really interested in that.

I am arguing a general point (“feature creep can lead to overengineering”), not this specific product.


We all understand your point: you believe the feature is unnecessary in the first place, without any understanding of my particular situation why I actually need it.

Regardless, this is irrelevant to the point of this entire thread, which is that it's possible to design a device, as I did, that is vastly simpler than commercial doorbells allowing user-customizable chimes.


Once again you're putting words in my mouth, and wilfully misunderstanding the point, that has absolutely nothing to do with your project.

Here, someone else explained. Maybe you can understand better if it comes from someone else: https://news.ycombinator.com/item?id=49508403


you’ve successfully over-engineered the whimsy and joy out of their original idea


I never claimed I wasn't over-engineering the line of thought, though. :)

I'm perfectly fine with people having fun or over-engineering stuff, I'm just pointing out that it's still over-engineered in the end. Which is 100% fine!


> "it was in the requirements" is not a "get out of jail card"

How do you define objectively as an engineer if "play MP3" is too much? A doorbell is a sound outputting device only, being able to select the sound seems like a reasonable extension. Is a digital doorbell overengineered when analog electric ones worked just fine for almost 2 centuries? Or were these overengineered when mechanical doorbells worked for many more centuries before? What if I attach a light to the doorbell, is that over engineering?

Or are you just fighting to save face after missing the point completely and making that tasteless Nurnberg trial parallel?


Don't overthink it. If you judge the engineering then you look at how the implementation reflects the requirements, not whether the requirements are good.

Over-engineered simply means there is much more in that implementation than the baseline needed to tick off the requirements.


I disagree. IMO this mindset is not how you make good engineering or good products.

As an engineer (the traditional kind), I don't really appreciate nor can I afford the "not my problem" attitude of doing engineering in a vacuum, because in the end it's my responsibility.


> As an engineer (the traditional kind)

Isn't everybody? Your whole case rests on the insistence that OP's core requirement is no good. Not for any objective engineering reasons, just because you think so.

I have a simple question that any engineer can answer in a heartbeat. Is a Christmas tree light installation with a bunch of series connected incandescent lights (I'm talking literally one of those classic Christmas lights set with absolutely no extra components or complexity beyond wires, bulbs, and plug) over engineered? Could you do it with even less engineering?


> Your whole case rests on the insistence that OP's core requirement is no good

I never said it wasn't good.

I just said it led to over-engineering a doorbell.

"Good" or "bad" are words you're putting in my mouth.


Now you're trying to weasel out of this (whstl out?).

I was trying to be diplomatic and use "good/bad" as shorthand for "should be part of a well engineered (not over/under) product or not". You don't like it, then let me use what you actually said: engineers who implement all the requirements given to them are like the Nazi soldiers who executed the people they were ordered to execute. Neither good nor bad, just over executing, right?

I asked you a question because it was an easy way to apply your logic on something concrete, so you can see that if it fails on something so simple, maybe it's not actually useful at all. You pretended not to see it like a fine engineer with responsibilities. Tripped on a Christmas light.


I am also trying to be diplomatic and I would like for a more charitable interpretation of my messages.

My whole point is that "something being in the requirements" is not a shield against something being considered "over engineering" by others. There's nothing more to it.


> You don't like it, then let me use what you actually said: engineers who implement all the requirements given to them are like the Nazi soldiers who executed the people they were ordered to execute. Neither good nor bad, just over executing, right?

And I said exactly the opposite of that.

Doing bad things is bad, despite following orders.

Over-engineering is over-engineering, despite following requirements.




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

Search: