Software developers on average write only about ten lines a day. The reason the process is so slow is that for each new line of code, you are trying to accomplish a task, and their are a great many different specific ways to do it.
However, you can't pick just any way of doing it. That's because any line of code will impact on dozens of different things in the program, and generally in bad ways. So you have to figure out a line of code that will accomplish the specific thing you are trying to do, but without having any bad consequences for the rest of the program.
This is a complicated puzzle, and to solve it you have to have the whole program, or at least a lot of it, in your mind all at once.
But few if any programmers are smart enough to keep it all in their mind all the time, so for each new line of code they have to sit and think about the program, look up lots of specifics about it, and then get it all organized in their minds. That takes a whole lot of focused attention. Any interruption causes all this to disappear from the programer's mind, and they have to start all over again.
Now I am not a programmer myself, so I may not have this all right. Maybe someone could improve it. Also, it would be helpful to have an analogy for something similar the manager does.