GeeCON to konferencja skierowana do wszystkich miłośników języka Java oraz technologii działających w oparciu o wirtualną maszynę javy (Java Virtual Machine), ze szczególnym uwzględnieniem języków dynamicznych takich jak: Groovy, Scala, jRuby. GeeCON to nie tylko wykłady i warsztaty – to także okazja aby w nieformalnej atmosferze spotkać się ze światowej sławy ekspertami oraz innymi developerami, nawiązać kontakty oraz wymienić doświadczenia.
W dniach 11-14 maja tego roku w Krakowie odbyła się już trzecia edycja tej konferencji.
Konferencja trwała cztery dni i podzielona była na trzy wydarzenia:
- 11 maja – University Day – najciekawsze zagadnienia były szczegółowo omawiane podczas trzygodzinnych wykładów
- 12-13 maja – Main Conference – główny panel konferencji, 17 wykładów każdego dnia
- 14 maja – Community Day – dzień warsztatów
Mnie szczególnie zainteresowały wykłady związane z inżynierią oprogramowania i organizacją pracy programisty: Heinz Kabutz „Productive Coder” oraz Hamlet D’Arcy „New ideas for old code”.
Ten pierwszy przedstawił najlepsze praktyki w zakresie utrzymania projektów oraz refaktoryzacji kodu. Pokazał jak zwiększyć efektywność pracy przy użyciu nowoczesnych narzędzi. Zaprezentował proste sposoby, jak uczynić codzienną pracę programisty bardziej przyjemną 🙂
Hamlet natomiast oprócz typowo technicznych zagadnień poruszył także kwestie bardziej „miękkie”: jak zainspirować współpracowników oraz zachować zapał i entuzjazm nawet w najbardziej niesprzyjającym środowisku pracy.
Ciekawy okazał się także inny wykład Hamleta „Code Generation on the JVM”, poświęcony narzędziom do automatycznego generowania kodu. Wspomniane zostały takie narzędzia jak: AST Transforms, Project Lombok, Spring Roo.
Dobrym pomysłem na University Day okazało się uczestnictwo w wykładzie Josha Longa, który prezentował najnowsze możliwości frameworku Spring. Jak zapewniał Josh, Spring miewa się świetnie, rozwija się bujnie, integruje się coraz lepiej a ponad to nadal zdaje się wodzić rej i grać na nosie Java’ie EE. Ale czy na pewno? Antonio Goncalves i Alexis Moussine-Pouchkine przez kolejne 3 godziny w prosty sposób dowiedli, że w postaci Java’y EE 6 kryje się potęga. W odróżnieniu od swoich niezbyt udanych przodków i znośnej matki Java EE 6 pochwalić się może nowymi, lepszymi ziarnami EJB, dobrze działającym wstrzykiwaniem zależności oraz wygodną konfiguracją anotacjami. Nowa Java EE stała się bardziej podobna do swoich alternatyw i ma szanse zostać nowym trendsetterem w swojej kategorii. Kolejny wykład Antonio Goncalvesa dał zainteresowanym szerszy pogląd na nowe możliwości oferowane przez mechanizm CDI.
Warto zwrócić uwagę na cieszące się dużą popularnością wykłady Jima Webbera. Jego wystąpienie otwierające drugi dzień konferencji było swoistą refleksją nad panującą powszechnie modą na SOA. Wykład obfitował w ciekawe tezy, obalone mity oraz w ciekawe pomysły i alternatywne podejścia do problemów, na jakie można się natknąć w świecie usług sieciowych. Tryskający dobrym, klasycznym angielskim humorem Jim pojawił się po raz drugi przedstawiając Neo4j, grafową bazę danych, której jest współtwórcą. Jego zilustrowany barwnymi przykładami opis technologii z pewnością zachęcił niejednego z uczestników do spróbowania tej nowej i wciąż jeszcze rzadkiej alternatywy dla baz relacyjnych, czego dowodem były niekończące się pytania, którymi publiczność zasypywała prelegenta.
Dla tych, którzy związali się na śmierć i życie z ‘dobrymi, starymi’ systemami kontroli wersji Bruno Bossola przygotował dobry pretekst do szybkiego rozwodu. Jego wciągająca i łatwa w odbiorze prezentacja GITa z pewnością powiększyła grono potencjalnych fanów i użytkowników tego systemu kontroli wersji.
Ostatni dzień konferencji, tzw. Community Day, przebiegał już za zamkniętymi drzwiami hotelu Swing, gdzie nieliczni szczęśliwcy, którzy zdążyli zarezerwować wejściówki, mogli posłuchać m. in. o patchowaniu klas Java’owych w runtime’ie czy też o tym jak PCSS przy pomocy Groovy’ego i Flexa buduje Vine Toolkit. Uwagę uczestników przyciągnął także wykład Tomasza Kaczanowskiego dotyczący dobrych praktyk w testowaniu aplikacji oraz narzędzi wspierających wydajne i efektywne testowanie.