More than programming, often a lot of time goes in discussions and meetings. I feel the best thing that can happen is, if you hire a programmer who does end-to-end and releases a product all by himself/herself. This whole job of parallelizing, scheduling and managing looks so artificial and thrust upon unnecessarily just because we were not able to slice and dice the problems in a way they can be addressed completely individually.