> To really know if code works, I need to run Temporal, two Next.js apps, several Python workers, and a Node worker. Some of this is Dockerized, some isn’t. Then I need a browser to run manual checks.
There's your problem. It doesn't matter how you produce the code in this environment. Your testing seems the bottleneck and you need to figure out how to decouple that system while preserving the safety of interfaces.
How to do it depends heavily on the environment. Maybe look at design by contracts for some ideas? Things are going to get a lot better if you can start trying things out in a single project without requiring the whole environment and the kitchen sink.
Solving this would improve a lot of things, including LLM success and iteration speed since you could make changes in one place and know which other systems are going to be affected. (Or know that a local change/test is all that's needed)
Yeah, we could absolutely do a better job with solid interfaces for each service. To be clear, our nextjs apps, temporal workers, etc are all well defined, and changes in a single package are easily tested (and well tested). It's integration testing we struggle with.
And, there's always a tradeoff here between engineering & our real job as a startup, finding PMF and growth. That said, we want as much eng velocity as possible and a fast, solid integration testing platform/system/etc helps a ton with that.
There's your problem. It doesn't matter how you produce the code in this environment. Your testing seems the bottleneck and you need to figure out how to decouple that system while preserving the safety of interfaces.
How to do it depends heavily on the environment. Maybe look at design by contracts for some ideas? Things are going to get a lot better if you can start trying things out in a single project without requiring the whole environment and the kitchen sink.
Solving this would improve a lot of things, including LLM success and iteration speed since you could make changes in one place and know which other systems are going to be affected. (Or know that a local change/test is all that's needed)