54 ms·
I say it all the time. The maximum # of chefs who should be permitted in the architecture & design kitchen on day 1 is exactly one. You always want the person w
by bob1029 4y ago
I say it all the time. The maximum # of chefs who should be permitted in the architecture & design kitchen on day 1 is exactly one. You always want the person with the most experience and willingness to endure pain to undertake these efforts.
Building new, coherent architecture that your team will be willing to follow for years or decades is non-trivial and not something you can learn by going to college and/or consuming a bunch of bullshit tutorials from the internet. Architecture cannot be forked or cloned. It must be applied uniquely to the problem at hand.
To continue the analogy - You simply have to have tried to make that pasta dish so many fucking times that you become god of pasta dishes. You need to have customers (and employees) complain at you for 2 decades about various aspects of your cooking for you to truly understand what works and what doesnt.
> Consistency in architecture is more important than genius in architecture in most cases
Absolutely agree. This is why suggestions like "just use 1 big database for everything" are automatically a leap in the right direction for all involved. Only when this starts to get yucky should you turn on the clever bits of your brain.
The specific code arrangement is not that important, as long as the team understands some common domain model (types, properties & relations). The most successful architecture is one that the entire team can understand and communicate about without a senior developer babysitting them.
- recursivedoubts 4y agofrom one grug to another grug... https://grugbrain.dev https://grugbrain.dev
- pydry 4y agoTwo people with 15 years experience will have experienced a different 15 years. Both are usually more valuable brought together. If you make one of those people the "God of architecture" you're not only going to piss off the other one you will probably lose the benefit of their experience. If theyre not responsible for architecture they'll pay commensurately less attention to it. Thats a waste of a salary. The only scenario I can think of where it to promote one above all others would really be worth it would be if you otherwise cant stop the team from bickering. As for juniors - if anything I tend to feel like theyre too deferent even when encouraged to speak up and take ownership. The only exception is when they dont realize they are making an architectural decision.
- falcolas 4y agoIf they’re professional, the second person will go “yeah, i can see why you’d do that, lets go with it”. If a developer, especially a senior developer throws a hissy fit, they’re a Diva and toxic, not a Senior Developer.
- pydry 4y agoYou think two professionals will agree on all decisions all the time?
- falcolas 4y agoNo. But professionals will communicate and compromise - not throw a hissy fit over disagreements.
- recursivedoubts 4y agothe ability to sublimate your own ego in development is a tragically underrated skill
- taylodl 4y agoExactly. Any Senior Developer who's actually earned that title and has the battle scars to prove it knows that there is no perfect architecture, there are simply sets of compromises. It's trade-offs and compromises all the way down. There's always somebody who looks at some little bit of the overall architecture & design and complains that it's not perfect and then use that to extrapolate that the entirety of the architecture sucks. Don't even get me started on Conway's Law. I'm so tired of people proposing "fixes" to architecture that simply can't be supported by the existing organization. Your architecture is crap if your organization can't support it, period end. Your architecture is also crap if it doesn't meet the expectations of the stakeholders. So architects have to manage those expectations as well. Then there's always the developer who wants to use the latest shiny and new technology so they can put it on their CV. Architects have to manage all that and then some. Yet the agilists preach that architecture is going to simply "emerge." Ha! The only architecture I've ever seen emerge is of the same nature of what emerges from one's rear end! At the end of the day you need one person responsible for the architecture and design of the system. You just need to make sure that person isn't a diva and seeks and listens to feedback and concerns from the development team. Good architects are worth their weight in gold.
- Fire-Dragon-DoL 4y agoI'd argue you should never do architecture alone, unless impossible, and it should be done with people of the same level. Of people are different levels, architecture is NOT by consensus, the most experienced will need to make the call, otherwise too much damage can be done