As PG once wrote in an essay [0]: “A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on.” So this is how I or every other blind programmer works IMO.
Only UI is something a challenge, though still manageable if one wants (personally I delegate styling part and focus only on the frontend/backend development part as that’s where I can be the most productive.)
The other challenge is the tooling, often especially in enterprise settings, tools of the trade which are GUI-based, not much accessible and this can have a big hit on the performance of a blind developer. Luckily I’ve often able to find an alternative in such situations (or rather opted me out of such activities as it was usually related to non-dev related processes). If everything under the hood is based on API (or command-line like in Linux), finding alternatives won’t remain a challenge.