4 ms·
A fragment from "Modern C++ Design" by Andrei Alexandrescu: Designing software systems is hard because it constantly asks you to choose. And in program design,
by wowoc 13y ago
A fragment from "Modern C++ Design" by Andrei Alexandrescu:
Designing software systems is hard because it constantly asks you to choose. And in program design, just as in life, choice is hard.
Good, seasoned designers know what choices will lead to a good design. For a beginner, each design choice opens a door to the unknown. The experienced designer is like a good chess player: She can see more moves ahead. This takes time to learn. Maybe this is the reason why programming genius may show at an early age, whereas software design genius tends to take more time to ripen.
- mrich 13y agoThis sums up why it is worth paying more for experienced developers who have implemented many systems before and know the pros and cons of many decisions. It especially is true for systems that will have a long lifetime, where bad decisions upfront will cost you dearly in support and maintainance. Here, the 10x developer actually can exist.
- zimpenfish 13y agoThe trouble is that every company thinks they know how to do things and even if you've "been there, done that", it's a rare environment where people will actually listen and take things in.