4 ms·
No, you're describing the system architect anti-pattern. People who see their job as designing large systems will, over time, lose contact with coding. After
by btilly 5y ago
No, you're describing the system architect anti-pattern.
People who see their job as designing large systems will, over time, lose contact with coding. After that they will lose a critical feedback loop that informs their architectures, and you'll get architectures that work on paper but not in reality.
Back when I was at Google they made it clear that it is important that interviewers identify such people in the interview process, and not hire them if their willingness and ability to code were not up to snuff. It was OK if they had a string of architect jobs.
What is actually needed is the ability to be down in the weeds, working at a low-level, while keeping an eye on high level concerns and an awareness of how what you're working on will evolve over time. So yes, you design the large system, but have to be a major part of building the prototype. Then make sure that, as more developers are brought in, they learn the tribal knowledge needed to both maintain coding standards and the high level design.
- thinkharderdev 5y agoI agree completely, apologies if I was unclear. My point was only that you shouldn't be ONLY doing "task work" (eg implement this interface that someone has already defined for you). You need to understand how to design the system as well as do in-the-weeds implementation work.
- btilly 5y agoRight. And need to have the good ability to notice a problem while doing the coding work, which causes you to back up to the higher level and solve it at the right level.