Kamil Stachowiak

102 posts

Kamil Stachowiak banner
Kamil Stachowiak

Kamil Stachowiak

@madoxdev

A domain-centric Solution Architect, taking technology as a tool to bring the business value. Proud practitioner of Domain Driven Design methodologies.

Wrocław, Poland Katılım Kasım 2021
92 Takip Edilen27 Takipçiler
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
Code from Chat GPT - a blessing or a curse?
English
0
0
1
41
Kamil Stachowiak retweetledi
Simon Wardley
Simon Wardley@swardley·
Fantastic session with my Healthcare research group on Healthcare AI. We have now finished the map, the investment zones and determined the areas that matter most - healthcare demand management, medical training sets and tech assisted care.
Simon Wardley tweet mediaSimon Wardley tweet mediaSimon Wardley tweet media
English
5
9
81
10.2K
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@simas_ch @omniprof Should you though? If you ever change your mind and want to add logic there you have massive refactoring at all use cases. That approach breaks encapsulation and expose your class to be put in inconsistent state.
English
0
0
0
0
Ken Fogel
Ken Fogel@omniprof·
While I think there can be a way to use Records in the JPA, I think what really bugs me are writing setters and getters. Maybe we need a a new structure, let’s call it Mecords (mutable records) . . .
English
6
0
5
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
“Despite the initial assumption that software was the most critical part, it turned out that the solution was mostly politics” - Introducing Event Storming - @ziobrando I like to expand it to - usually tech is not a problem - everything else is - mainly communication.
English
0
0
2
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
Do you agree that majority of the IT projects fails because of communication? Usually it is not tech, is it?
English
0
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
How to properly discover an #DDD Aggregate? Step 1: Group together atomic operations Step 2: Define behaviors Step 3: Add data that is needed that defined behaviors needs. Remember: Aggregates are behaviors first!
English
0
0
6
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@mr_taghip @mathiasverraes @deyrson That is because represenatation of model is adjusted to reciver. Diagrams are easy to collect lost of information for human beings Code is something that computer understands. Both may represent same model - but cannot be easily exchanged for all receivers.
English
0
0
0
0
Mamreza
Mamreza@mr_taghip·
@mathiasverraes @deyrson I can understand that many models can represent the same reality(truth), but I can’t understand why a model(drawing or text) should represent another model..!?
English
2
0
0
0
Novian.Works
Novian.Works@OnurGumusDev·
@dustinmoris And you never ever close issues due to inactivity, or lack of time. You just assign low story points so that no one picks them up unless they have anything better to do.
English
1
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
Design is not just what it looks like and feels like. Design is how it works. - Steve Jobs
English
0
2
3
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
We all know: - the importance of Ubiquitous Language - codebase should be written and maintained in English But let's imagine the business stakeholders who are not natively speaking English, and the business is run in a non-English speaking country. What do you do then?
English
3
1
4
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@lucaguada The moment when change should apply to the model is when natural business language changes. Example: Business is growing and started hiring people who cannot communicate in Italian anymore (let's say C-level). Changes in communication will need to be reflected in the code.
English
0
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@lucaguada It looks awful - I agree But the domain model like that fits the purpose of domain model existence.
English
0
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@lucaguada I am happy to have GetColazioneList - if the clients are using that as a domain term. (I hope I've described breakfast in Italian) Probably when communication changes, because of internalization steps, code needs to get refactored too?
English
1
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@simas_ch @mydevlprplanet UI is not relevant here, as you can have multiple languages, and something like Default language doesn’t convince me. But when business says A and you need to deep dive to find entity X that is a crime!
English
1
0
0
0
Simon Martinelli
Simon Martinelli@simas_ch·
@mydevlprplanet @madoxdev The situation when the user points to a field in the UI, and you have to walk through the whole code from the frontend to the backend to find out in which table and column this information is stored 🤷
English
1
0
1
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@brzezmac Would you keep a dictionary to translate from: original language words to English ones? Something obvious for you may be misunderstood by business stakeholders. The greatest benefit of Ubiquitous Language is for business stakeholders. I foresee some issues with this approach.
English
1
0
0
0
Maciek Brzeziński
Maciek Brzeziński@brzezmac·
@madoxdev English most of the time when there's a simple translation which does not require context to understand. When it comes to country specific terms I use the terms in native language, as EN translations don't convey the same amount of information, often causing confusion.
English
1
0
0
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@simas_ch It triggers another question - what language have you communicated with the clients? I feel Ubiquitous Language over English codebase is the way I would go too.
English
1
0
0
0
Simon Martinelli
Simon Martinelli@simas_ch·
@madoxdev We kept all domain objects in the whole code base in German. That's what we did, for example, with Swiss Railways in most of the projects.
English
1
0
1
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@simas_ch Are you: Trying to keep the entire codebase in the 'Domain Language' Or rather, limit it to the core domain - where Ubiquitous Language is bringing the best of value. Or have everything in English until you cannot find a good English word - as an exception?
English
1
0
0
0
Simon Martinelli
Simon Martinelli@simas_ch·
@madoxdev We often did the domain model in German. At least in Switzerland, there are industries with terms that cannot be translated into English. Wholesale is a field where the German terms used in Switzerland are not the same as those used in English in the UK.
English
2
0
3
0
Kamil Stachowiak
Kamil Stachowiak@madoxdev·
@ShripadAgashe @paul_hammant @samnewman Problem with patterns is when they are are misused - they become a blockers for growth - a prison What devs then do? Hack around patterns… what that leads to - bad quality code And my favorite: sorry - I cannot implement that change as patterns we used won’t let me… #EpicFail
English
0
0
0
0
Sam Newman
Sam Newman@samnewman·
Patterns aren’t invented, they are discovered.
English
7
50
256
0