IANAL, but 99% sure that the situation in Germany is that you have to identify yourself (give name, birthday, (address?)), but you /don‘t/ have to carry (or show) your government issued ID at all times.
I worked through large parts of PQP ([1]) with only the prerequisites that you state, as part of a Uni course taught by Aleks Kissinger.
I got quite comfortable with the formalism and could solve most problems without too much issue, but at the end I still knew nothing at all about quantum physics. YMMV
Worth looking into any COSS (commercial open source) companies that you find interesting.
That’s where you write the code that then others glue together - plus you can inspect the codebase beforehand!
I think you are kinda right in that it might be very hard to get people out of homelessness, but what more housing could do is prevent homelessness in the first place.
Presumably most people start their lives as not homeless, and at some point that changes, because housing prices exceed their income. More housing would lead to lower housing prices and less homelessness.
Interestingly, I think that almost all of the downsides listed in the article and in the comments go away if you use a good framework for creating microservices (example for this: [0]):
No internal glue code, no overhead by writing network interfaces, no slow HTTP calls (faster gRPC instead), no manual handling of asynchronous tasks.