3 ms·
Taking complex things and making them simple is not the mark of a "super programmer". Or, at least, it's not enough. A highly skilled programmer needs to be a
by tytso 14y ago
Taking complex things and making them simple is not the mark of a "super programmer". Or, at least, it's not enough. A highly skilled programmer needs to be able to deeply understand multiple layers of abstraction at the same time. He or she needs to be able to know what an abstraction layer promises, and what its performance characteristics are --- and also be able to grok the layers above and below that abstraction layer to a similar deep level.
I call it "abstraction surfing", and it's not something that all people can do well. I believe having this skill tends to correlate very well with high productivity programmers --- and it's not a skill that all people have.