Better developer
Głównym tematem konferencji Cooluary v2 było poprawianie warsztatu pracy.
Podczas wykładu wprowadzającego Grzegorz Duda podał "receptę" jak stać się lepszym programistą (to był cytat, ale nie pamiętam kogo Grzegorz cytował). Jeden ze slajdów prezentował serię punktów, które pozwalają to wymaganie spełnić. Wśród nich było poznawanie nowych języków, frameworków, czytanie kolejnych książek.
Zastanawiałem się ostatnio, co tak na prawdę stanowi istotę stania się lepszym programistą. Trzeba by zdefiniować, co to znaczy "znać" język czy framework. Czy jeśli potrafię zrobić prostą aplikację w 7 językach i 7 frameworkach, to wystarczający dowód, że je znam? A jeśli znam wszystkie kruczki danego języka, albo wszystkie elementy/komponenty danego frameworku, to znaczy coś więcej? A jeśli przeczytałem 10 książek o wzorcach, to już je znam? Może i znam na pamięć definicje i diagramy, ale jak przyjdzie do zastosowania, to może już nie być tak słodko.
Myślę, że w tym kontekście kluczem do stania się lepszym programistą jest przeniesienie się na wyższy poziom abstrakcji: jeśli jestem w stanie dany problem przenieść między językami/frameworkami i przy pomocy każdego z nich rozwiązać go efektywnie (a nawet efektownie), to stałem się lepszym programistą. A przejście to powinno być w miarę gładkie i bezbolesne (pomijając niedoskonałości platformy źródłowej i docelowej).
Innym ważnym czynnikiem jest moim zdaniem dążenie do samodoskonalenia. Nigdy nie można powiedzieć "wiem już wystarczająco dużo, dalej się nie uczę". W tej branży zawsze będzie coś nowego, jesteśmy skazani na naukę aż do emerytury
Nic tylko czytać, pisać i rozwijać się
Tak więc staram się i czytać i pisać.
A jak Wy poprawiacie swój warsztat pracy?