Why are the salaries so much lower than in the States? I know part of it is that demand outstrips supply here, so perhaps my question resolves to why there is less demand. I assume that the point of software is that it can be an efficiency multiplier, so if you hire someone to automate a process, that is either reducing costs or increasing revenue, which should be fundamentally valuable. I am deeply ignorant here and…
They're not lower than in the States, they are lower than the bay area, which is a very, very small bit of the States. Also, it's dominated by a particular kind of business (VC funded startups) that have the cash and mandate to spend a lot of money on engineering salaries. These are not too common outside the bay area, and certainly not as concentrated anywhere.
In any case, this and other polls indicate that programmer salaries in London are also lower than in many other large American metropolitan areas, not only SV. I did a quick search on Indeed for software engineer salaries in several American cities (NYC, Seattle, Chicago, Boston, Houston, Austin, Portland, Miami, whatever came to my mind) and in all of them the average salary is over U$85k. In fact I also searched for junior software engineer and in all of them it's at least U$60k, still within the £40~45k range which is the mode of the poll (and presumably filled with mostly non-junior developers).
If you look at average programming salaries in Tokyo or Paris you'll see a similar thing. The interesting question is not why London salaries are "low", but how come American salaries are so high.