£40-45k with that experience sounds about right in my experience (startups, not sure about large companies).
It's just programming in general in UK, isn't that highly paid.
Why is that? Lack of demand/anaemic tech industry, lack of respect for developers, or too many developers?
Think it's partly because there are very few specific dev shops, and most of the roles are in-house where development is a support activity rather than the meat.
As others have said - the big bucks here are in contracting, but personally I'm not up for that level of risk yet. In career terms I see the later-game positions as those in management or those in consulting.