Тёмный

Gregor Hohpe On How Software Architects Transform Large Enterprises | The Engineering Room Ep. 15 

Continuous Delivery
Подписаться 210 тыс.
Просмотров 22 тыс.
50% 1

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 39   
@nikolaymarkov3529
@nikolaymarkov3529 Год назад
Greg is the person who has the biggest influence and motivation in my IT career, and Dave is hosting one of my favourite RU-vid channels. Thank you for setting this up, gentlemen!
@nukeevry1
@nukeevry1 3 месяца назад
My first professional coding project was an RS-232 driver written in Java for a RFID reader. The biggest thing I remember about it was the lack of unsigned byte in Java. Funny how these kinds of things change slightly but never really go away. I try to think about that experience in the context of what kind of challenges people are solving today that will be passe in 20 years, given the advancements in abstractions and everything. I could picture an entry level programmer having to write something today using a platform or service but needs to be able to troubleshoot and learn how to figure out an esoteric bug with a library they are using, and having to navigate the back and forth of an issue report and patching it themselves. That is the path towards that higher level of thinking that makes someone a capable architect or master engineer... Whatever we call it. Thanks for the great conversation
@l_combo
@l_combo Год назад
Amazing discussion, Gregor rocks plain and simple. Lovely human being who thinks deeply and communicates clearly to everyone! What a joy to watch.
@StreetsOfBoston
@StreetsOfBoston Год назад
About "Meaningful language" and "Problems not Products": Great part of the discussion/video! There are a number of layers of 'translations' needed from the business/user problem you need to solve (Problems), expressed in business and user terms, all the way down to the technical implementation (Product). Each layer has its vocabulary and proper mappings between the layers and vocabularies are needed. It's much like Dependency Inversion this way. Describe *what* you want to do in one vocabulary (contracts/interfaces) and then choose *how* to implement that contract which may use an entirely different vocabulary. Delay that decision of implementation (don't worry yet that 'water' consists of two Hs and one O). Remove that complexity of actual implementation from the contract/interface. Then dip into the implementations (and go back up) to validate the implementation. Of course, don't go overboard. Don't over-engineer/over-design it with too many layers. Getting the balance right is an art :)
@ehippo1
@ehippo1 Год назад
Great conversation between two people with a huge experience. Good for Sunday evening :)
@tongobong1
@tongobong1 Год назад
Gregor said: "Any line of code that is not deployed is cost" so what about the code of unit tests then? I think many unit tests are useful but there are also unit tests that are not worth the cost of having them and we should delete them right? Especially we should delete many London style unit tests because those hard to understand unit tests are terrible for projects right?
@tongobong1
@tongobong1 Год назад
I totally agree with Dave Farley that "quality in modern systems is our ability to change them". On the other hand London style unit tests use many mocks implemented by hacky mock libraries that are hard to understand and they easily break when changing the internal implementation despite the functionality remains the same. London style unit tests make the system much harder to change yet Dave still thinks London style unit tests are useful. What do you think?
@architectelevator
@architectelevator Год назад
If your software is of poor quality, it might not live long enough to benefit from the ability to change. So, tests are critically important. But I agree that tests should be as easy to change as your software. They should refactor with it (which, in most cases it can) and when needs change, you'd change the tests first.
@tongobong1
@tongobong1 Год назад
@@architectelevator OMG are you the legendary Gregor Hohpe?
@tongobong1
@tongobong1 Год назад
I believe we should increase the flexibility and complexity of design/architecture only when we really need it and never upfront.
@prazzy5356
@prazzy5356 Год назад
Thank you so much for setting this up !!
@ilovepickles7427
@ilovepickles7427 Год назад
I love the quote by Ralph Johnson: "Architecture is about the important stuff... whatever that is."
@hansenchrisw
@hansenchrisw Год назад
It’s funny and not wrong, but also not useful. I’ve always preferred Fred Brooks’s definition that architecture is “… designing to meet [users’] needs as effectively as possible within economic and technological constraints”. It’s all about making the tradeoffs that benefit users.
@larsdybdahl3561
@larsdybdahl3561 Год назад
No other industry would allow such definitions. And IT shouldn't either.
@MartinsTalbergs
@MartinsTalbergs Год назад
Communicating architect's vision on how should we preceed managing complexity of a particular system is very hard. We may explore this more in the future.
@AdamWeigert
@AdamWeigert Год назад
I just watched a GOTO video by Gregor recently. He's got a great mind, and I appreciate the insight as it helps confirm that the thoughts I have regarding architecture and practices around it aren't my own new concepts but something we come to understand through the experience of learning.
@eduardo_bray
@eduardo_bray Год назад
Thank you very much for these very interesting interviews, the knowledge, experiences and perspectives that you "deliver" are reallly appreciated. Thanks!
@ContinuousDelivery
@ContinuousDelivery Год назад
Thanks 😎
@davidhoppe7215
@davidhoppe7215 Год назад
You might even say he delivers continuously those interviews, knowledge and experiences.
@ContinuousDelivery
@ContinuousDelivery Год назад
@@davidhoppe7215 😁😎
@Mvk80
@Mvk80 Год назад
What a great conversation. Thank you ❤️
@ContinuousDelivery
@ContinuousDelivery Год назад
Glad you enjoyed it!
@tongobong1
@tongobong1 Год назад
Yes there are several rugs that we should pull from programmers. One rug is trying to use TDD everywhere. The other is mocking everything outside the class under unit test and another rug is using mock libraries... I believe good unit tests are the next step in making system that are easy to change. Unfortunately right now 90% of programmers don't know how to write a good suite of good unit tests.
@banatibor83
@banatibor83 Год назад
You should just admit you can not use these tools.
@black-snow
@black-snow Год назад
I see where this comes from and I've written (and in a way still have to) tests like that. This especially happens when you retrofit tests to existing code, don't hide enough detail or don't refactor. I find myself writing tests that test more on a ceptual/behavioral level rather than ones that break with the slightest change in implementation when I go test first or interface first and refactor until I think the interface of the module is as simple as it gets.
@jarkow
@jarkow Год назад
Hi Dave, could you please, please, please upload episodes of The Engineering Room into some podcast platform?
@therealjordiano
@therealjordiano Год назад
Nice podcast here, but I struggle with the idea that nobody seems to know what architecture is. how can we start the discussion if there's no definition? It seems like there are ideas of what we want the term to mean, so we should start with those until we can isolate what is common to everybodys 'ideas', so that we can get a true definition, at that point we can start having the real conversation
@black-snow
@black-snow Год назад
What is a coffee mug? Does it need to have a handle? Is it made of ceramic? Is it still a mug when it holds half a liter or more? What if you only pour water in it? Reality is often blurry but still we usually can talk about it quite well. We can ask for the cup and will be handed the mug (unless it's next to one without a handle, one made of glass and a tiny toy cup), right? Good definitions are hard.
@therealjordiano
@therealjordiano Год назад
@@black-snow While it is true that good definitions are hard, I feel that your position here leaves us with nowhere to go. If it is impossible for us to define architecture in a satisfying way then the word might as well be done away with too. But if there is a commonality between what software developers think when they discuss 'architecture' then we could use this as a starting point for the definition. This is why i suggest we look at what people want to describe when they say 'architecture' so we can figure out what we want the term to mean. I've not got a satisfying rebuttal yet to the coffee cup analogy as its a fundamental problem
@larsdybdahl3561
@larsdybdahl3561 Год назад
See IEC 62304 for one brilliant way to define and make architecture, which conflicts with Greg's statements, or basically conflicts with almost everything he says.
@CouchProgrammer
@CouchProgrammer 7 месяцев назад
It’s like when during an interview interviewers ask what AWS services are used for. And what is the bandwidth. And you’re like, “well, we needed postgres, we took postgres, we needed pubsub, we took pubsub, everything worked, no one seemed to complain.” So which AWS services did you choose for this project? And you’re like, “no idea, they’re mentioned by AWS name in two or three files out of a million in my project and few more times in my CV because it's fashionable and in most companies no one cares about it.”
@banatibor83
@banatibor83 Год назад
A thought came through my mind a while ago and looks like true in most of the cases. As in Taoist philosophy yin and yang conjure each other, and these are opposing forces. My interpretation in software development context is: From restrictions comes freedom!
@ContinuousDelivery
@ContinuousDelivery Год назад
I usually say "constraint" rather than "restriction", but yes, I think that is very true.
@XShollaj
@XShollaj 10 месяцев назад
No fluff, no bs. Love the content
@siyaram2855
@siyaram2855 Год назад
We want Alan Kay, can you bring him?
@DavidLayM
@DavidLayM Год назад
If an organization can benefit from a dedicated architect, the prime directive of the architect should be to make sure that the organization no longer needs an architect.
@larsdybdahl3561
@larsdybdahl3561 Год назад
Regulations on software development increasingly require continuous maintenance of software architecture, and thereby requires architectual competence with software product manufacturers.
@KernanMzelikahle
@KernanMzelikahle Год назад
Thank you so much. This is revolutionary
@ContinuousDelivery
@ContinuousDelivery Год назад
Glad you think so!
Далее
Se las dejo ahí.
00:10
Просмотров 120 тыс.
Офицер, я всё объясню
01:00
Просмотров 2,8 млн
Software Architecture Tips I WISH I Knew Sooner
18:04
Is Designing Different To Coding?
20:29
Просмотров 20 тыс.
Se las dejo ahí.
00:10
Просмотров 120 тыс.