| ▲ | nullorempty 5 hours ago | |
> You can't design software you don't work on In 30 years in software dev, I am yet to see any significant, detailed and consistent effort to be extended into design and architecture. Most architects do not design, do not architect. Senior devs design and architect and then take their design to the architects for *feedback and approvals*. These senior devs make designs for features and only account for code and systems they've been exposed to. With an average employment term of 2 years most are exposed to a small cut of the system, which affects the depth and correctness of their design. And architects mostly approve, sometimes I think without even reading the docs. At most, you can expect the architects to give generic advice and throw a few buzzwords. At large, they feel comfortable and secure in their positions and mostly don't give a shit! | ||
| ▲ | WillAdams 4 hours ago | parent | next [-] | |
John Ousterhout has been addressing this one class at a time at Stanford for a while now, and has scaled up to a book: https://www.goodreads.com/en/book/show/39996759-a-philosophy... Video overview at: | ||
| ▲ | makeitdouble 4 hours ago | parent | prev | next [-] | |
> 2 years I've been thinking about this a lot. 2~3 years is a long time, long enough to have a pretty good grasp on what a code maintained by 50~100 does in pretty concrete terms, come up with decent improvement ideas, and see at least one or two structural ideas hit production. If the person then stays 1 or 2 more years they get a chance to further refine, but usually will be moved up the ladder Peter Principle style. If they get a chance to lead these architecture changes that company has a chance to be on a decent path technally speaking. I'm totally with you on the gist of it: architects will usually be a central switch arranging these ideas coming from more knowledgeable places. In the best terms I see their role as guaranteeing consistency and making sure teams don't impede each other's designs. | ||
| ▲ | mmis1000 3 hours ago | parent | prev [-] | |
> 2 years I feel it's already enough to rewrite a big part of subsystem or change the whole thing into shit (depends on maintainer). Software today moves quite fast. 2 year is sometimes difference between a new company and a dead company | ||