Software development is 20% requirements gathering, 30% planning, 15% design, 40% problem solving, 35% testing, 18% operations, 4% looking up the arguments for `tar`, 33% writing documentation, 60% debugging, 7% installing updates, and 2% actually typing code into an editor.