this post was submitted on 06 Feb 2024
110 points (94.4% liked)

Programming

17484 readers
218 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] tatterdemalion 38 points 9 months ago (5 children)

That a "working" prototype with no tests is just as good as a carefully-designed and well-tested feature. I see this happen so often that a coder puts a prototype in front of a product manager or exec and they are like, "this is exactly what we need, now! Ship that!" And then misery ensues for all of the engineers that need to maintain this piece of garbage. As managers pressure the engineers to build new features on top, they inevitably break fundamental parts of it, and without a confident leader to demand that tech debt is paid off, that product will consume the souls of many desperate coders.

In contrast, if you do it right the first time, there will be significant parts of code that never need to change, and the parts that do need to change will be much easier, because it will be obvious if it breaks the tests.

[–] [email protected] 10 points 9 months ago (1 children)

That sounds super familiar :D

Anyway, a prototype is not a bad thing, if the managers know the difference. It's easier said than done to "do it right the first time" if you don't know how / what to build. Prototypes can be built to validate hypotheses and generally figure out what works, then build the real thing afterwards.

[–] tatterdemalion 9 points 9 months ago* (last edited 9 months ago)

Yea I should have clarified. Prototypes are a great idea. The problem occurs when you say, "this is good enough we can improve on it as we go." Yea good luck balancing priorities when everything breaks from tapping your keyboard too hard. You MUST NOT MERGE the prototype.

[–] [email protected] 8 points 9 months ago (2 children)

feature

Please, we ship whole projects without any automated testing whatsoever then we spend month fixing the mess. The company I work for is smort

[–] asyncrosaurus 5 points 9 months ago

The company I work for is smort

This is every company I've ever worked for. If other people didn't vouche for their own tests, I'd assume automated testing was a myth.

[–] [email protected] 4 points 9 months ago

hey it's job security

[–] [email protected] 4 points 9 months ago

I like puting my prototype code in namespaces like "garbage" "trash" "throwaway" etc to emphasize how unfit for production. I've no concrete evidence of it's success, but I like to think it dissuades other team members from using it where they shouldn't.

[–] firelizzard 3 points 9 months ago

As my first job out of college (when I didn't know what I didn't know) I was hired to build a bespoke inventory system for a manufacturing company. My prototype became a production system the second I showed it to one of the engineers. The next three months of my life were a living hell as I frantically fixed bugs on a live system. Lesson learned.

[–] pkill 1 points 9 months ago* (last edited 9 months ago)

oh yeah and the overt emphasis by suits on frontend development because it feels more tangible. like yeah sure we can add a follow button in a couple lines of code... granted you want to allow duplicate requests by non-signed in users or users that block each other with no manual approvals support, no protection against CSRF and the followee not getting notified