Software Engineer living in Vienna, Austria
To be a good programmer, you need to understand the principles of
generic programming. To understand the principles of generic
programming, you need to understand abstraction. To understand
abstraction, you need to understand the mathematics on which it is
based.