Hacker News new | ask | show | jobs
by sergiotapia 411 days ago
microservices are a gigantic waste of time. like TDD.

it takes skill and taste to use only enough of each. unfortunately a lot of VC $$$ has been spent by cloud companies and a whole generation or two of devs are permasoiled by the micro$ervice bug.

don't do it gents. monolith, until you literally cannot go further, then potentially, maybe, reluctantly, spin out a separate service to relieve some pressure.

2 comments

Ha! I always feel more than a little embarrassed when it happens, but I can't sit idly by while TDD is slandered, especially from so seemingly oblique an angle!

While I agree with you regarding microservices (eg language abstractions provide 80% of the encapsulation SOA provides for 20% of the overhead) and I readily acknowledge that 100% test coverage is a quixotic fantasy, I really can't imagine writing reliable software without debuggers, print-statements, or a REPL—all of which TDD replaces in my workflow.

How, I wonder, do you observe the behavior of the program if not through tests? By playing with it? Manually reproducing state? Or, do you simply wait until after the program is written to test its functionality?

I wonder what mental faculties I lack that facilitate your TDD-less approach. Can it be learned?

i didn't say i don't write tests. i trashed tdd, the practice of tdd is dogma, impractical and unrealistic.
> Or, do you simply wait until after the program is written to [observe] its [behavior]?

How is that even possible?

Write the program, run the program, observe. Or, write the program, write the tests, run the program, observe for breakages. Neither are TDD, the practice of writing tests first before any actual implementation is written, which I agree with the parent is dogma, impractical, and unrealistic.
> Write the program

Sounds hard!

Jokes (?) aside, the scientific method is a loop, so it probably doesn't matter long at which phase you enter.

like TDD, microservices are a waste of time if you do it the wrong way and for the wrong reasons.

Like TDD, theyre great if done in the right way for the right reasons.