I think most professional programmers get stuck in "blocking" operations (wait for requirements, wait for consensus on design details, wait for feedback, wait for some other developer) which limits their raw coding productivity and those that try to push past these blocks quickly start trading coding productivity for quality.<p>The SoC programmers on the other hand generally have all the big blocking operations taken care of ahead of time by the SoC managers and mentors, allowing them to focus just on the coding.