by ronakjain90 on 11/8/24, 2:37 PM with 35 comments
by cglan on 11/8/24, 3:31 PM
My worst experiences universally have always been python projects. I don't think I've had a single time where I cloned a python project and had it just work.
Beyond just the code, I've had lots of mixed experiences with CI/CD being smooth. I unfortunately don't think I've been in a single shop where deployments or ci have been a good experience. They often feel very fragile and undocumented and hard for newcomers.
by uludag on 11/8/24, 4:27 PM
Something this old shouldn't have this property. Nothing "modern" even comes close. Look at the top languages, Python, JavaScript, and Java, and you don't even have to consider too much how abysmal these languages are in this regards.
by sethammons on 11/8/24, 3:53 PM
by aaronblohowiak on 11/8/24, 3:34 PM
Fast setup and revision are important but incomplete list of maintenance tasks; are metrics/logs predictably named and accessed? Can you perform manual experimentation without hard-to-configure client (ir: hit the server with a browser or run a cli)?
Also, "cycle time" or "revision time" are soo important, but I havent found a good way to do that with AI model development :( any tips here?
by anonyfox on 11/8/24, 8:51 PM
Easy to maintain is not only about keeping something alive with minimal effort over longer periods of time. It also plays a pivotal role for scalability in any direction. Adding more engineers/teams, adding more unforseeable features, iterating quickly in general, surviving more traffic/load, removing technical bottlenecks, ... everything is so much easier when the project is easy to work with and maintainable.
by chanux on 11/8/24, 4:18 PM
by stevepike on 11/8/24, 4:39 PM
In ruby, for example, I can pretty trivially clone any open source gem and run the specs in < 5 minutes. Patching something and opening a PR in under an hour is definitely standard.
On the other hand, getting a development environment running for a company's proprietary web app is often a hassle. Mostly though this isn't because of the language or dependencies, it's because of:
- Getting all the dependent services up and running (postgres version X, redis Y, whatever else) with appropriate seed data.
- Getting access to development secrets
My company (infield.ai) upgrades legacy apps, so we deal with setting up a lot of these. We run them in individual siloed remote developer environments using devcontainers. It works OK once we've configured the service containers.by afiodorov on 11/8/24, 4:02 PM
by godshatter on 11/8/24, 3:59 PM
by megamix on 11/8/24, 3:51 PM
by braza on 11/8/24, 4:31 PM
[1] - The Innovation Delusion: How Our Obsession with the New Has Disrupted the Work That Matters Most - https://a.co/d/eInjwZD