Jak się uczyć/rozwijać jako programista (Java developer)

0

Temat może dziwny, nie znalazłem podobnego. Zastanawia mnie jak wygląda u was rozwój umiejętności zawodowych? Mam na myśli naukę nowych rzeczy. Co robicie po godzinach? Pytam bo wciąż na papierze mam nieduże doświadczenie zawodowe. Chciałbym się dowiedzieć jaką przyjąć strategie żeby nie zostać w przyszłości powiedzmy dziesięcioletnim juniorem. Ja np. po pracy lubię programować rzeczy nie koniecznie związane z typowymi zadaniami Java developera np. programowanie gier, jakieś mini projekty algorytmiczne. Nie zawsze mam na celu naukę nowych konkretnych rzeczy (często robię to czysto dla przyjemności) jednak w większości przypadków staram się stosować dobre praktyki. Zastanawiam się czy jest to dobra strategia? Czy lepiej gimnastykować umysł wcześniej wspomnianymi rzeczami oraz np. nauką innych czasami "dziwnych" języków programowania (żeby poznać też inny punkt widzenia)? A może lepsze jest podejście takie w którym po spotkaniu się w pracy z nową biblioteką/frameworkiem katuje go po godzinach w domu?
Podsumowując co jest lepsze?
A - programuje sobie to co sprawia mi przyjemność i w ten sposób nauka programowania = nauka sposobu myślenia
B - stawiam na naukę konkretnych frameworków, bibliotek, technologii + czytanie dokumentacja owych rzeczy (tego co jest na topie)
C - literatura fachowa, konferencje, JUG'i
D - a może wszystkiego po trochu
E - podejście "zachłanne" skoro już mam z czymś nowym do czynienie w pracy, nauczę się tego na tyle na ile potrzebuje w danej chwili

Z góry dziękuję za każdą odpowiedź.

2

wszystko zależy od Ciebie i sytuacji życiowej - masz dzieci, chorych rodziców itd, co za tym idzie ile masz czasu
Generalnie, to co mi pomaga to live coding, przepisywanie przykładów w celu nabycia pamięci mięśniowej - jak masz czas to rób swój projekt, nie musi to być coś nowatorskiego, wystarczy kopia istniejącego narzędzia, jak nie masz - koduj z książką czy yt,

6

Doświadczenie najlepiej zdobywać w pracy. Po godzinach: głównie odpoczynek. Czasem warto popatrzeć na coś nowego w programowaniu, ale nie cały czas. Poza tym trzeba też dbać o:

  • relacje - w końcu każdy chce mieć z kim spędzać czas,
  • zdrowie fizyczne - całymi dniami nie da się siedzieć przed komputerem,
  • zdrowie psychiczne - czyli jak sobie radzić z problemami albo ich brakiem.

Gdy weźmiemy pod uwagę to wszystko okaże się, że nie mamy czasu na naukę programowania po godzinach. Często lepiej zadbać o inne rzeczy, niż ciągle siedzieć nad programowaniem. Dlaczego? A no dlatego, że dbając też o inne wymienione sprawy zyskujemy dużo więcej, niż pochłaniając kolejną książkę o programowaniu. Poważnie, wiedza o frameworkach szybko się przedawnia.
Pewnie wielu zna schemat: ciągłe kodowanie, żadnego odpoczynku. Człowiek coraz starszy a tu bebech rośnie, koledzy się pożenili a samotność daje się we znaki. Scenariuszy może być dużo, ale wniosek jest jeden: jesteśmy nauczeni napierdalać bez namysłu. Programowanie to nie religia. To tylko praca. Albo tylko hobby.

Podsumowując: po godzinach ćwiczyć umysł czymś innym, niż programowanie. Pozwala to odpocząć od programowania a potem w pracy jest się bardziej efektywnym.

0

Brzmi rozsądnie. Moja obawa polega na tym że czasami w pracy spotykałem seniorów czy mid'ów którzy popełniali juniorskie błędy. Nie chciałbym tak skończyć, ale też nie wiem co jest tego przyczyną. Czy to zbiór cech charakteru, czy to że nie siedzieli nad programowaniem po 16h dziennie (przykład trochę przerysowany)? Kiedyś senior powiedział mi że programowanie to nie klepanie kodu tylko sposób myślenia. Może mój problem wynika z tego że nie potrafię określić czego warto się uczyć. Kiedyś w pracy miałem okazje pisać testy integracyjne w Camelu. Więc się go nauczyłem na tyle żeby te testy napisać. Nie zanosi się żebym ponownie używał Camela, więc chyba nie ma sensu żeby czytać książkę o nim i robić sobie jakiś projekt wykorzystujący go. Bo jeśli do niego szybko nie wrócę to i tak większość zapomnę. Chyba ważniejsze jest to że wiem że coś takiego istnieje jak Camel oraz jak i gdzie go zastosować. @PerlMonk Lepiej chyba stawiać na wiedzę "miękką" mam na myśli wiedzę nie zależną od języka programowanie jakieś wzorce projektowe, DDD, architektura itp. Oczywiście mając na uwadze Work-life balance.

3

@Darth Bane: Początki nauki programowania są fajne: chłoniesz wiedzę jak gąbka. Jak już ogarniesz podstawy, język programowania stanie się drugorzędnym narzędziem. Problemy, które będziesz rozwiązywać, będą wymagały abstrakcyjnego myślenia. Dotrzesz do momentu, w którym okaże się, że olałeś pozostałe punkty, które wymieniłem. Rozwiązać proste zadanie na studiach można nawet po pijaku, ale do poważniejszych problemów musisz być wypoczęty i zrelaksowany. Ciężko to osiągnąć jeśli się nie wyspałeś, nie dbałeś o siebie albo pokłóciłeś się z kobietą - im bardziej się zgrywa twardziela tym bardziej problem rośnie.

Wracając do wątku. Czasem zamiast uczyć się kolejnych języków polecam np. czytać książki, czasem nawet beletrystykę. Pasje często rozwijają bardziej, niż wielu osobom się wydaje. Np. kaligrafia uczy cierpliwości i poprawia zdolności manualne. Ja co prawda za kaligrafię jeszcze się nie zabrałem, ale samo pisanie piórem wiecznym wymagało ode mnie uwagi i nauki pewnych rzeczy. Mówiąc krótko: ucząc się tylko programowania rozwijasz się wgłąb. Mając pasję i życie poza programowaniem, uczysz się wszerz i wychodzisz poza schematy.

0

Oczywiście ciesze się z waszych odpowiedzi, chociaż nie do końca mnie satysfakcjonują. Fajnie jest programować markerami po tablicy (jako wyraz bycia na wyższym poziome abstrakcji i niezależności od technologii itp.). Zastanawia mnie natomiast jak powinna wyglądać droga do takiego poziomu? Co robić żeby się tam znaleźć? Z wyjątkiem budowania kariery na jednym projekcie. Już wiem po co jest architektura hexagonalna, seniorzy programują logikę biznesową i porty a juniorzy adaptery ;)

0
Darth Bane napisał(a):

Oczywiście ciesze się z waszych odpowiedzi, chociaż nie do końca mnie satysfakcjonują.

Dwaj portretów malarze słynęli przed laty:
Piotr dobry, a ubogi. Jan zły, a bogaty.
Piotr malował wybornie, a głód go uciskał,
Jan mato i źle robił, więcej jednak zyskał.
Dlaczegoż los tak różny mieli ci malarze?
Piotr malował podobne, Jan piękniejsze twarze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1