Inżynieria oprogramowania w ujęciu systemowym.
Zintegrowane podejście do metodyk,
technologii (głównie Java EE), architektury i rozwoju ścieżki kariery programisty.
piątek, 15 kwietnia 2011
Pocztówka z wakacji
Mam za sobą 10-dniowe "wakacje", z których to wrażeniami chciałbym się podzielić.
Ostatnie 10 dni upłynęło mi na:
- konferencji 4 developers
- konferencji 33rd Degree
- szkoleniu na temat Distributed DDD i CqRS prowadzonemu przez Grega Younga
Podczas obu doskonałych konferencji obserwować można było wyraźnie pewne trendy.
Mimo, że konferencje mają charakter techniczny, to dużym powodzeniem cieszą się tematy miękkie. Pisał o tym już Martin Fowler w swoim artykule w akapicie na temat trendów konferencyjnych.
Generalne głosy ze świata są takie, że szczegóły techniczne można sobie zgłębiać w domu, a podczas konferencji mamy dostęp do wiedzy niedostępnej w literaturze z naszej branży. Cieszy fakt, że nadążamy za najnowszymi trendami - ciekawy jestem Waszych opinii na ten temat.
Kolejna obserwacja to wyraźny trend amerykanów - doskonała forma ale treść merytoryczna tak prosta, że miejscami ocierająca się o prostactwo (np. odpustowe sztuczki w aplikacjach klasy hello world;).
Podczas 33rd degree prowadziliśmy wraz z kolegami z ssepp panel dyskusyjny na temat profesji w naszej branży. Jako grupa zawodowa wciąż jednak zbytnio skupiamy się na rozgoryczeniu zamiast na działaniu w kierunku krystalizacji profesji.
Jednak trzydniowe szkolenie Grega było jeszcze bardziej intensywne pod względem mentalnym (towarzyskim również - wynajęliśmy na 5 dni wspólnie z Gregiem apartament:)
Greg przedstawił wiele szczegółów technicznych związanych z jego podejściem do architektury CqRS i modelowania DDD. Poszerzył nam również horyzonty przedstawiając architektury systemów, które obsługują setki tysięcy transakcji na sekundę!
Wniosek jest jeden: świat relacyjnych baz danych, popularnych frameworków i platform oraz standardowych warstw jest mocno ograniczający. Aby podejść do problemu o skali rzędu tysięcy na sekundę trzeba zaprzeczyć wszystko co stanowi naszą bazę wiedzy!
Klimat panujący na szkoleniu był nie do opisania. Ponad trzydzieści osób z kraju i zagranicy operujących wspólnym poziomie abstrakcji, fechtujących technikami inżynierii oprogramowania z mistrzowską gracją. Bez kompromisów jakościowych - po prostu przy tej klasie problemu nie da się inaczej...
Do tego doskonały prowadzący z szerokim wachlarzem kompetencji. Począwszy od szczegółów kompilatora poprzez paradygmaty programowania, wzorce projektowe i architektoniczne, znajomość całej klasyki oraz najnowszych zdobyczy inżynierii oprogramowania, metodyk prowadzenia projektów, kreowania wizerunku architektury jako produktu, technik negocjacji po ogólną erudycję sięgającą sieci neuronowych, algorytmów genetycznych, polityki itd itp.
Kudos Greg.
//==============================
Nazywam ten czas wakacjami, ponieważ jestem typem obserwatora (perceiving), poszukiwacza. Dlatego cenię sobie stałą stymulację nowymi pomysłami oraz dyskusje z ludźmi wnoszącymi coś do sprawy, ponad leżenie na plaży.
Patrząc z boku ciężko uwierzyć jak ktoś kto siedzi kilka godzin na konferencji/szkoleniu w bezruchu może przezywać ultra-intensywne doznania poznawcze:)))
czwartek, 31 marca 2011
Dyskusje panelowe
Podczas 4Developers będę prowadził dyskusję na temat braków w Javie (na różnym poziomie) i sposobach, narzędziach oraz podejściach na ich uzupełnianie.
Podczas 33rd Degree będziemy (wraz z kolegami z SSEPP) prowadzić dyskusję na temat kompetencji, profesji i profesjonalizmu w naszej branży.
Formuła zakłada, że to Wy wnosicie wiedzę i doświadczenie oraz pytania i wątpliwości. To Wy nadajecie kierunek dyskusji w stronę, która Was interesuje.
temat przewodni:
Po pewnym czasie pracy z niektórymi narzędziami zaczynamy zauważać ich
braki - szczególnie gdy spróbujemy użyć narzędzi z innego zestawu.
Wszyscy mamy zapewne przemyślenia na temat pewnych braków w
technologii, której używamy.
Część z nas ma inspirujące doświadczenia z innymi technologiami i podejściami.
Podczas dyskusji chcemy zastanowić się nad sposobami uzupełnienia
naszego warsztatu na poziomie: składni, struktury, narzędzi, podejść,
itd.
Uzupełnienia poprzez: biblioteki, frameworki, pluginy, nowe best practices.
temat przewodni:
Ruch Software Craftsmanship jest odpowiedzią na pojawiające się potrzeby problemy.
Jest to jednak ogólna idea. Warto jednak zastanowić się nad konkretami:
//=============================
Jeżeli macie jakieś sugestie odnośnie prezentacji lub dyskusji to zapraszam do pisania komentarzy lub na prv.
Podczas 33rd Degree będziemy (wraz z kolegami z SSEPP) prowadzić dyskusję na temat kompetencji, profesji i profesjonalizmu w naszej branży.
Formuła zakłada, że to Wy wnosicie wiedzę i doświadczenie oraz pytania i wątpliwości. To Wy nadajecie kierunek dyskusji w stronę, która Was interesuje.
4Developers
tytuł: Java - czego nam brakuje, co warto dodać?temat przewodni:
Po pewnym czasie pracy z niektórymi narzędziami zaczynamy zauważać ich
braki - szczególnie gdy spróbujemy użyć narzędzi z innego zestawu.
Wszyscy mamy zapewne przemyślenia na temat pewnych braków w
technologii, której używamy.
Część z nas ma inspirujące doświadczenia z innymi technologiami i podejściami.
Podczas dyskusji chcemy zastanowić się nad sposobami uzupełnienia
naszego warsztatu na poziomie: składni, struktury, narzędzi, podejść,
itd.
Uzupełnienia poprzez: biblioteki, frameworki, pluginy, nowe best practices.
33rd Degree
tytuł: Dokąd zmierza Software Craftsmanshiptemat przewodni:
Ruch Software Craftsmanship jest odpowiedzią na pojawiające się potrzeby problemy.
Jest to jednak ogólna idea. Warto jednak zastanowić się nad konkretami:
- jakimi cechami powinien charakteryzować się profesjonalista
- jaki zakres bazowych kompetencji powinien posiadać profesjonalista
- ew. jakie poziomy kompetencji możemy próbować określać
- być może zależy to od klasy problemów
- czy nadszedł już czas na krystalizację profesji - czy mamy właściwą ilość doświadczeń
- czy i kiedy warto mówić o profesjonalizmie - kiedy jest on potrzeby i kiedy wnosi wartość
//=============================
Jeżeli macie jakieś sugestie odnośnie prezentacji lub dyskusji to zapraszam do pisania komentarzy lub na prv.
środa, 30 marca 2011
Tydzień segregacji
Zbliżający się tydzień to dwie konferencje:
- 4 Developers
- 33rd Degree
Przygotowałem dla Was prezentację na temat Command-query Responsibility Segregation, którą przedstawię na obu konferencjach.
Poniżej wersja alfa.
Prezentacja zgodnie z najnowszymi trendami nie zawiera zbyt wiele tekstu - całość wymaga akompaniamentu paszczowego.
W świecie Javy mamy ostatnio stagnację (frameworki webowe już nie wychodzą co tydzień, a skoro najnowsze wersja Java EE wyszła rok temu to mamy kilka lat spokoju;). Jest to zatem dobry moment na ostrzenie piły - np zastanowienie się nad podstawami.
Ogólne przesłanie prezentacji: wybór narzędzia i podejścia powinien zależeć od klasy problemu.
W świecie Javy mamy z jednej strony platformę korporacyjną, która była pomyślana jako produkt dla klientów (wytwórców oprogramowania) wielkiej skali. Po nasyceniu tego rynku mamy widoczną zmianę strategii marketingowej i atakowanie małych softwarehousów. Z drugiej strony mamy mnogość rozwiązań typu generator jednowarstwowej aplikacji, którymi próbuje się kusić każdego - nawet duże softwarehousy.
W prezentacji przedstawię rozwiązania architektoniczne podpatrzone w świecie .NET. Nie są one specyficzne dla .NET ale w tej społeczności są mocniej rozwijane i dyskutowane niż w naszej.
Warto podkreślić, że koncepcja architektoniczna CqRS została wypracowana w ciągu kilku ostatnich lat przez community. Nie jest to zatem objawienie zesłane przez anonimowych pracowników jakiejś firmy, lecz wynik dyskusji i eksperymentów nad rzeczywistymi problemami. Jest to zatem owoc pracy ludzi żywo zaangażowanych w sprawę - stąd wartość.
Mottem dla mojej prezentacji będzie ewolucja architektury, czyli jej rozbudowa wraz ze wzrostem skali (komplikacji i wielkości) systemu. Wychodzę z założenia, że nie każde podejście może ewoluować.
Dla zainteresowanych prezentacją mam sugestię: warto wcześniej zapoznać się z moją prezentacją na temat Domain Driven Design. Nie jest to konieczne, ale jeżeli to zrobicie, to całość ułoży się w sumie w spójne rozwiązanie.
Link tutaj.
Tydzień segregacji właściwie zostanie wydłużony...
W kolejnym tygodniu Greg Young będzie prowadził otwarty wykład i 3-dniowe szkolenie na temat DDD i CqRS w Krakowie (szczegóły).
Nieczęsto zdarza się możliwość uczenia od mistrza, tak więc polecam:)
//=================================
Jeżeli ktoś ma uwagi/sugestie odnośnie prezentacji (treść, zakres) to piszcie w komentarzach lub na prv.
Będę bardzo wdzięczny za feedback:)
- 4 Developers
- 33rd Degree
Przygotowałem dla Was prezentację na temat Command-query Responsibility Segregation, którą przedstawię na obu konferencjach.
Poniżej wersja alfa.
Prezentacja zgodnie z najnowszymi trendami nie zawiera zbyt wiele tekstu - całość wymaga akompaniamentu paszczowego.
W świecie Javy mamy ostatnio stagnację (frameworki webowe już nie wychodzą co tydzień, a skoro najnowsze wersja Java EE wyszła rok temu to mamy kilka lat spokoju;). Jest to zatem dobry moment na ostrzenie piły - np zastanowienie się nad podstawami.
Ogólne przesłanie prezentacji: wybór narzędzia i podejścia powinien zależeć od klasy problemu.
W świecie Javy mamy z jednej strony platformę korporacyjną, która była pomyślana jako produkt dla klientów (wytwórców oprogramowania) wielkiej skali. Po nasyceniu tego rynku mamy widoczną zmianę strategii marketingowej i atakowanie małych softwarehousów. Z drugiej strony mamy mnogość rozwiązań typu generator jednowarstwowej aplikacji, którymi próbuje się kusić każdego - nawet duże softwarehousy.
W prezentacji przedstawię rozwiązania architektoniczne podpatrzone w świecie .NET. Nie są one specyficzne dla .NET ale w tej społeczności są mocniej rozwijane i dyskutowane niż w naszej.
Warto podkreślić, że koncepcja architektoniczna CqRS została wypracowana w ciągu kilku ostatnich lat przez community. Nie jest to zatem objawienie zesłane przez anonimowych pracowników jakiejś firmy, lecz wynik dyskusji i eksperymentów nad rzeczywistymi problemami. Jest to zatem owoc pracy ludzi żywo zaangażowanych w sprawę - stąd wartość.
Mottem dla mojej prezentacji będzie ewolucja architektury, czyli jej rozbudowa wraz ze wzrostem skali (komplikacji i wielkości) systemu. Wychodzę z założenia, że nie każde podejście może ewoluować.
Dla zainteresowanych prezentacją mam sugestię: warto wcześniej zapoznać się z moją prezentacją na temat Domain Driven Design. Nie jest to konieczne, ale jeżeli to zrobicie, to całość ułoży się w sumie w spójne rozwiązanie.
Link tutaj.
Tydzień segregacji właściwie zostanie wydłużony...
W kolejnym tygodniu Greg Young będzie prowadził otwarty wykład i 3-dniowe szkolenie na temat DDD i CqRS w Krakowie (szczegóły).
Nieczęsto zdarza się możliwość uczenia od mistrza, tak więc polecam:)
//=================================
Jeżeli ktoś ma uwagi/sugestie odnośnie prezentacji (treść, zakres) to piszcie w komentarzach lub na prv.
Będę bardzo wdzięczny za feedback:)
piątek, 25 marca 2011
Greg Young w Polsce! (UWAGA KONKURS)
Mamy już kompletną agendę konferencji 4Developers, zatem mogę oficjalnie powiedzieć, że Greg Young, którego udało się nam zaprosić do Polski, przedstawi dwie prezentacje:
- Zapomnij o szczegółach, liczy się efekt! - jest to nowa, jeszcze nie publikowana prezentacja, którą Greg przygotował specjalnie dla nas na 4Dev
- Uwolnij swoją domenę! - przekrojowa prezentacja, która udowadnia, że możemy skonstruować wysokowydajny, skalowalny system, zachowując nieautystyczny model domeny biznesowej. Czyli jak połączyć Domain Driven Design, Commmand-query Responsibility Segregation, Event Sourcing oraz kilka innych najnowszych zdobyczy inżynierii oprogramowania.
btw: czy ktoś z Was odważyłby się wystąpić ze slajdami w TAKIM stylu: 7 Reasons DDD Projects #FAIL
//=========================
KONKURS
Rejestracja na 4Dev będzie trwać już tylko do końca marca, a dla czytelników bloga mamy niespodziankę w postaci darmowej wejściówki.
Zasady są proste: wygrywa osoba o największej ilości komentarzy pod postami na moim blogasku. Chodzi oczywiście o posty wystawione przed ogłoszeniem konkursu:0 Zgłoszenia wraz z linkami do komentowanych postów przysyłajcie na maila podanego w sekcji "o mnie".
Proszę o udział tylko tych z Was, których potencjalne szanse na przybycie na konferencję wynoszą 99% (obecność sprawdzę osobiście;)
niedziela, 13 lutego 2011
DDD we Wrocławiu
Dzięki uprzejmości Pawła Szulca na vimeo pojawiła się moja prezentacja na temat Domain Driven Design (i kilku tematów dodatkowych), którą przedstawiłem podczas spotkania Wrocławskiego JUG.
część 1
część 2
Dziękuję wszystkim za aktywne uczestnictwo:)
//================================
Nawiązanie do community .NET jako przodującego w poszukiwaniu nowych (a może klasycznych?) i lepszych metod modelowania jest zabiegiem celowym, mającym na celu zdopingowanie Was do działania.
część 1
część 2
Dziękuję wszystkim za aktywne uczestnictwo:)
//================================
Nawiązanie do community .NET jako przodującego w poszukiwaniu nowych (a może klasycznych?) i lepszych metod modelowania jest zabiegiem celowym, mającym na celu zdopingowanie Was do działania.
piątek, 4 lutego 2011
keepaliver.ping()
Sporo czasu minęło od ostatniego posta. Powód jak zwykle ten sam - zgodnie ze starym chińskim przysłowiem: "Jest czas na pracę i jest czas na zbieranie ryżu".
Ale mimo nawału pracy mam dla Was trochę materiałów:
1. Prezentacja "Software Craftsmanship - Język wzorców językiem profesjonalistów"
Dzięki uprzejmości Łukasza Lenarta na parleys pojawiła się moja prezentacja z zeszłorocznej javarsowi.
2. Prezentacja "Domain Driven Design. Wszystko jest na miejscu i wszystko ma swoje miejsce".
Najbliższy tydzień spędzam we Wrocławiu. Przy okazji, na zaproszenie Pawła Zubkiewicza - lidera wrocławskiego JUGa - opowiem o DDD; szczegóły.
Z braku czasu będzie to ta sama prezentacja, którą przedstawiałem na zeszłorocznym NYAC. Slajdy będą te same, ale od czerwca zgromadziłem nowe doświadczenia, o których będę chciał opowiedzieć.
Natomiast w kwietniu szykuję dla Was nowy materiał - prezentację "Command-query Responsibility Segregation - nowe, bardziej racjonalne podejście do warstw". Mam ambitny plan aby forma graficzna tej prezentacji była mocno odmienna od wszystkiego co do tej pory pokazywałem.
Materiał będzie można zobaczyć na konferencjach:
- 33rd Degree
- 4 Developers
Zapraszam serdecznie na obie konferencje. Myślę, że agenda 33rd Degree już teraz wygląda bardzo zachęcająco.
Natomiast jako członek komitetu programowego 4 Developers zdradzę, że również będzie ciekawie:)
//==========================
Kolejne posty merytoryczne powinny pojawić się pod koniec miesiąca.
Chociaż przyznam, że Java i inżynieria oprogramowania muszą konkurować o zasoby z moją nową zabawką - audiofilskim zestawem stereo, który trzeba co chwilę testować na nowych kablach, płytach i w nowych rozmieszczeniach (ostrzegam - nie dajcie się w to wciągnąć) ;P
Ale mimo nawału pracy mam dla Was trochę materiałów:
1. Prezentacja "Software Craftsmanship - Język wzorców językiem profesjonalistów"
Dzięki uprzejmości Łukasza Lenarta na parleys pojawiła się moja prezentacja z zeszłorocznej javarsowi.
2. Prezentacja "Domain Driven Design. Wszystko jest na miejscu i wszystko ma swoje miejsce".
Najbliższy tydzień spędzam we Wrocławiu. Przy okazji, na zaproszenie Pawła Zubkiewicza - lidera wrocławskiego JUGa - opowiem o DDD; szczegóły.
Z braku czasu będzie to ta sama prezentacja, którą przedstawiałem na zeszłorocznym NYAC. Slajdy będą te same, ale od czerwca zgromadziłem nowe doświadczenia, o których będę chciał opowiedzieć.
Natomiast w kwietniu szykuję dla Was nowy materiał - prezentację "Command-query Responsibility Segregation - nowe, bardziej racjonalne podejście do warstw". Mam ambitny plan aby forma graficzna tej prezentacji była mocno odmienna od wszystkiego co do tej pory pokazywałem.
Materiał będzie można zobaczyć na konferencjach:
- 33rd Degree
- 4 Developers
Zapraszam serdecznie na obie konferencje. Myślę, że agenda 33rd Degree już teraz wygląda bardzo zachęcająco.
Natomiast jako członek komitetu programowego 4 Developers zdradzę, że również będzie ciekawie:)
//==========================
Kolejne posty merytoryczne powinny pojawić się pod koniec miesiąca.
Chociaż przyznam, że Java i inżynieria oprogramowania muszą konkurować o zasoby z moją nową zabawką - audiofilskim zestawem stereo, który trzeba co chwilę testować na nowych kablach, płytach i w nowych rozmieszczeniach (ostrzegam - nie dajcie się w to wciągnąć) ;P
piątek, 22 października 2010
Warsjawa 2010
Zapraszam wszystkich czytelników bloga na prezentację Domain Driven Design - Wszystko ma swoje miejsce i wszystko jest na miejscu, którą przedstawiam w najbliższą sobotę na konferencji Warsjawa.
Skrót:
Czy zastanawialiście się co jest przyczyną rozkładu średnich i dużych systemów? Czy jest on nieunikniony i jest jedynie kwestią czasu? A może jednak istnieje jakiś sposób na utrzymanie entropii w ryzach?
Podczas prezentacji zobaczymy w jaki sposób Domain Driven Design pomaga w okiełznaniu chaosu. W prezentacji znajdą się główne techniki modelowania takie jak Ubiquitous Language, Bounded Context, Strategic Design.
Zostaną przedstawione również podstawowe techniki implementacji DDD: przykłady Building Blocks, Command-query Responsibility Segregation, system zdarzeń, przypadki wykorzystania ORM i SQL - całość na przykładach w Seam lub Spring.
//===========================
Dla tych z Was, którzy byli w Krakowie na NYAC zaznaczam, że core prezentacji będzie taki sam.
Skrót:
Czy zastanawialiście się co jest przyczyną rozkładu średnich i dużych systemów? Czy jest on nieunikniony i jest jedynie kwestią czasu? A może jednak istnieje jakiś sposób na utrzymanie entropii w ryzach?
Podczas prezentacji zobaczymy w jaki sposób Domain Driven Design pomaga w okiełznaniu chaosu. W prezentacji znajdą się główne techniki modelowania takie jak Ubiquitous Language, Bounded Context, Strategic Design.
Zostaną przedstawione również podstawowe techniki implementacji DDD: przykłady Building Blocks, Command-query Responsibility Segregation, system zdarzeń, przypadki wykorzystania ORM i SQL - całość na przykładach w Seam lub Spring.
//===========================
Dla tych z Was, którzy byli w Krakowie na NYAC zaznaczam, że core prezentacji będzie taki sam.
Subskrybuj:
Posty (Atom)


