4 ms·
This is like saying only carpenters should be able to design houses. Sure there are some excellent carpenters that are also good architects, but most are not. T
by JCM9 4y ago
This is like saying only carpenters should be able to design houses. Sure there are some excellent carpenters that are also good architects, but most are not. There obviously needs to be good communication between the carpenters and the architect but these are distinctly separate functions.
The Twitter OP sounds like someone that’s a bit full of themselves and struggles to see other perspectives—-a core skill to be a broadly respected leader.
I’ve seen the persona they’re referring to materialize, but that’s just someone that’s a bad architect. I’ve equally seen plenty of “know-it-all get outta my way” developers that say they don’t want others around but create terrible productions systems that end up failing because of bigger picture design items the developer missed.
Building excellent production systems at scale is a hard job that requires strong collaboration from diverse teams.
- actionfromafar 4y agoIt is like saying only carpenters should be able to design houses, but it's also not exactly that. Why? Because house construction and building is a proper engineering discipline, but very little software is built like that. We are just starting to understand how software can be designed with such rigor, and maybe we will never be able to because of market forces.
- roflc0ptic 4y agoAre we starting to understand that? In what ways?
- actionfromafar 4y agoIn small ways, formal verification of software, with Coq and such.
- peteradio 4y agoGreat way to increase adoption, name it Coq.
- hgsgm 4y agoA building architect is more of a Product Manager / Produxt Designer than a "software architect". A "software architect" is more like a building-code (hah, code!) designerm. But yes OP is toxic.
- donatj 4y agoI genuinely wonder if an actual house designed by carpenters for carpenters wouldn’t be better? Maybe not more attractive, but better built?
- cinntaile 4y agoBut does it matter if it's "better" from a "carpenters" perspective if it's not what the user wants?
- donatj 4y agoFrom a selling houses perspective, sure not. From an enjoying solid things that last perspective absolutely.
- danaris 4y agoIf "what the user wants" violates 5 building codes and will fall down within a decade, then I would say yes? The problem is rarely the average user, who just wants stuff to work, and probably would be just fine with what a carpenter would design. It's the ones who think they deserve something extra-special, and know better than you what you're doing.
- tablespoon 4y ago> I genuinely wonder if an actual house designed by carpenters for carpenters wouldn’t be better? Maybe not more attractive, but better built? Maybe if they really over-build it, but I don't think carpenters know how to calculate stuff like structural load requirements. I know the building code have some rules of thumb, but I kinda doubt those cover all the situations you'd need to design a home (e.g. how strong does this wall need to be based on all the stuff above supported by it).
- camgunz 4y agoI don't know that op chooses her words super carefully, but I read it as being like only carpenters should be able to choose how they build houses. That's pretty reasonable, especially when you consider there's also housing codes (something software engineering probably needs to work on).
- HarHarVeryFunny 4y ago> This is like saying only carpenters should be able to design houses No, it's really not. For that analogy to work, architecture (house design) would have to be a skill best learnt via carpentry (i.e. hands-on house building), when there's pretty clearly minimal connection. If there were, we'd see many successful architects who'd started in the building trades, just as we DO see many developers rise up through the ranks to become seasoned veterans capable of architecting complex systems. The thing is, most software system requirements could be translated into many proposed alternate architectures (decompositions, inter-module interface definitions, technology choices, etc, etc). They may all look viable on the white board, but it takes years of experience to understand what works and what doesn't - what the consequences of those design choices are, and how they will impact development, debugging, operational support, future changes/extensions, etc.
- 908B64B197 4y ago> This is like saying only carpenters should be able to design houses. Sure there are some excellent carpenters that are also good architects, but most are not. There obviously needs to be good communication between the carpenters and the architect but these are distinctly separate functions. The carpenter is more like the compiler in this analogy: it merely follows the blueprints. The structural engineer is in charge of said blueprints. The architect can mock and draw whatever he wants; if it's not structurally sound it's simply not getting the engineer's signature and seal. I've worked with great software architects (most of who wouldn't use the tittle seriously) and all of them had one thing in common: a solid engineering background and a track record of solid design.
- tptacek 4y agoThere is in fact not that much overlap between carpentry and architecture. Nobody goes to Software Architecture School.