morgante
Joined 4 years ago
Joined 4 years ago
Rule #1 of building any cloud platform analyzing user code is that you must run analyzers in isolated environments. Even beyond analysis tools frequently allowing direct code injection through plugins, linters/analyzers/compiler are complex software artifacts with large surface areas for bugs. You should ~never assume it's safe to run a tool against arbitrary repos in a shared environment.
I also ran a code analysis platform, where we ran our own analyzer[1] against customer repos. Even though we developed the analyzer ourself, and didn't include any access to environment variables or network requests, I still architected it so executions ran in a sandbox. It's the only safe way to analyze code.
The smartest person and the dumbest person I've met professionally are both investors.
Look at USAID: they canceled everything, but there was a significant outcry about PEPFAR specifically. Now PEPFAR is back, and likely to stay.
Deleting processes somewhat randomly, then listening for the pain, is a pretty well-known technique for understanding and cleaning up legacy systems. Of course, it should only be used on systems where (temporary) failures are tolerable.
There are parts of the government where that is true, and parts where it is dangerous. The problem on both sides is assuming the same techniques should be applied across the entire government, when some services are indeed life-and-death and others absolutely should be deleted.
1. Methodical improvements mostly work to improve processes as they are. They don't delete processes that shouldn't exist.
2. Agency "empowerment" often means working with a lot of incumbent teams that are simply not suited to digital work and sinks way too much time/energy into stakeholder management.
USDS has done good work, but could have done a lot more if they were actually empowered.
[1] https://www.wethebuilders.org/posts/a-tale-of-two-effiencies...