Why physics students that turned to software are usually great engineers? Is there something in common in your opinion?
Physics isn't a specific kind of science. Everything is physics, except math (which physicists are proficient in, too). Studying physics provides a broad understanding of everything and use of methods, but not much practical application like engineeering fields do.
A physicists is used to analyze everything from the beginning, and the mind is not limited to solutions pre-defined for specific problems of the past. Compared to engineers this is an advantage when working on problems for which no standard solution exists (analyzing new data, new technologies).