4 ms·
Yeah, hard disagree on all that. As someone who lived through that era professionally, and who has had an "architect" title in the past, I was actually resistan
by mkozlows 3y ago
Yeah, hard disagree on all that. As someone who lived through that era professionally, and who has had an "architect" title in the past, I was actually resistant to ever stepping into that role, because I had so many bad experience with the Formal Architecture Methodology crew, who would produce the most absurd and out-of-touch designs. There's a reason that "architecture astronaut" is a term from that era.
Lots of people make bad designs today, sure, but it's not for a lack of formal methodologies, because average design quality was way worse back in the design patterns 'n' UML days.
- fmajid 3y agoSeconded. I once went to an IBM seminar with Grady Booch and seldom have I heard such an inane string of platitudes. Architecture Astronauts are the worst, and if there is one thing Agile can legitimately claim for, it's getting us rid of that plague.
- doctor_eval 3y agoI agree with you both except that architects are alive and well. I worked with an ex IBM architect a couple of years ago. Lovely guy but for someone designing software systems, I found it remarkable that he didn’t know how to write code.
- gedy 3y agoI worked for a company not long ago that had leadership which felt you can't be a real architect if you write code. See ya!
- cogogo 3y agoAll of these experiences resonate with me. The pendulum has swung hard to the continuous deployment model and just like the other side of the long arc of the pendulum not everything about it is good.
- snapetom 3y agoI'd say this is a company red flag if they are still having these people around. About four years ago I was at a company that still had someone like that. Useless and highfalutin, he obstructed many projects thanks to an archaic director who thought he was still necessary. I got out after butting heads with him constantly, and I don't think said company ever shipped anything meaningful in his entire tenure here.
- doctor_eval 3y agoI think you get these people in body shops - companies that basically rent out their skilled staff to other companies. The Architect sounds super important and is the most expensive resource, so obviously they sell it super hard. When I worked there I was a product guy, and it took me an embarrassingly long time to understand why I didn't fit in... but yeah, I didn't last long.
- contravariant 3y agoCould we bring back the UI people from that era though? Trying to standardize good software is insane but having a consistent UI with standard elements for all programs that's usable with both mouse and keyboard was kind of nice.
- svachalek 3y agoVery nice. There were decades of thoughtfulness and science that suddenly got replaced with "well, it looks cooler".
- snapdaddy 3y agoI don't think it was software architecture, UML or design patterns that was bad. I think the 'Open-Closed Principle' is one of the worst ideas to ever gain popular acceptance. For anyone who didn't live through that time, the Open-Closed Principle states that software should be open for extension, but closed for modification. However, you could also rephrase that principle to be: 'you should always prematurely abstract your designs'. I think if abstraction was viewed as a negative to be avoided unless necessary, software architecture would have been far better off. To be fair, premature abstraction is a lot of fun for those that do it. It's just those that follow who aren't so keen.
- WuxiFingerHold 3y agoThat is an import perspective. I've always struggled to understand why (esp. in the Java enterprise world) things were so complex. It took me a while to see through it and now I create abstractions when I need them, not just in case. That's why I don't like things like Clean Architecture. E.g. I don't create an abstraction in case I someday need to switch the database from SQL to NoSQL, but when I need the abstraction right now for an alternative implementation (e.g. mocks for testing).
- carlmr 3y agoThis is very on point. Premature abstraction has always a struck me as way now evil than what premature optimization can create. Every class has an interface abstraction, or worse inheritance hierarchy, that adds friction to change, even though it's the only implementation. When something similar comes along it's pressed into that shape, because the abstraction is already there. It's like this meme video where it's hard to watch all the round and triangular pieces being fit in the square hole. And the problem is that while software is more flexible than traditional architecture, hence soft, the complexity limit is also soft or virtually non-existent. So in software it's worth more to be simple and flexible than to have a plan that's long and detailed.
- ChicagoDave 3y agoI’d argue software architecture has never been more healthy. DDD Europe by all accounts was a resounding success. We’ve replaced older architecture activities like data modeling first with event modeling and Domain-Driven Design. We’ve learned to embrace monoliths when appropriate and reduce complexity with bounded contexts. We have phenomenal testing capabilities that didn’t exist 20 years ago. We have a myriad of data storage tools. We understand front-end engineering from an information architecture perspective. We can design detailed architectures in tools like LucidChart very quickly with detailed solution details. I’ve been at this for 40 years and I’ve never felt better about being a software architect.
- stolsvik 3y agoYou may also just be more competent with 40 years experience?
- ChicagoDave 3y agoEven now I’m still learning. That’s the most important lesson.