I believe great software development teams put people first.
There is a human element to software development teams that can make it really fun to be a software engineer. Occasionally, a team forms where things always seem to go smoothly. The tooling suits the task, and there are never any weekend warrior heroics. It is my goal to bring that level of functioning to all my software teams.
I like to understand the implications of the choices software engineers make while writing code. I also like to understand the implications of organizational mandates. Understanding these two things, I can help a company deliver robust software quickly.
Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.
Edsger W. Dijkstra (1968)