Metody samokształcenia dla profesjonalistów.

0

Interesuje mnie następująca kwestia:

Początek edukacji w zawodzie programisty to często jakaś książka. Potem przychodzi czas na górę tutoriali w Internecie. Wielu potem decyduje się na studia, jakieś praktyki. Pierwsza praca.

OK. Załóżmy, że ktoś pracując w jakiejś firmie osiąga poziom średniozaawansowany. Zajmuje się swoją robotą, powiela utarte schematy.

Jakie są wówczas metody doskonalenia zawodowego? Co powinien zrobić na tym etapie programista, aby wznieść się na poziom wyżej? Czytanie blogów branżowych, udział w konferencjach?

1

Zakładając, że wyższy poziom to np. stanowisko seniorskie to konferencje będą OK, bo (moim zdaniem) senior to ten co orientuje się w wielu dziedzinach programowania - security i IT ogólnie. Blogi branżowe to uważam, że warto niezależnie od miejsca w karierze zawodowej, często można poznać ciekawe rzeczy lub po prostu nowsze, lepsze podejście do już znanych problemów. Książki tak samo, wielu jest nawet seniorów, którzy nie orientują się na czym polega TDD, DDD, ITD.(xD). Ja, dodatkowo słucham podcastów gdy jestem w drodze lub na siłowni. Jeśli myślisz w przyszłosci o stanowiskach kierowniczych - to warto zacząć doskonalić umiejętności miękkie związane z zarządzaniem zespołem - chociaż senior będący często mentorem dla innych też powinien to opanować. Uważam, że warto też się przełamać i samemu coś wygłosić w firmie lub na konferencji. Dobrze też ogarnąć Agile'a. Fajnie też ciągnąć jakiś własny projekcik z technologią, której do tej pory nie używałeś. No i czytac ogłoszenia o pracę - ja czasem przeglądam i widzę wymaganiach jakieś technologie po raz pierwszy na oczy to od razu ją googluje sobie i pierwsze 3 stronki czytam. Wiesz, przykładów jest dużo i zależy od sektora programistycznego w którym działasz. Wspominanie o TDD czy Agilu może urazić co niektórych średniozaawansowanych ale zdarzają się takie braki nawet wsród seniorów (potwierdzone info :(). Mam nadzieję, że pomogłem :)

1

Jakie są wówczas metody doskonalenia zawodowego? Co powinien zrobić na tym etapie programista, aby wznieść się na poziom wyżej?

porzucić strefę komfortu.

pracując w jakiejś firmie

Można zmienić firmę. Problem ze stagnacją często jest taki, że to praca w konkretnej firmie blokuje rozwój, a jej zmiana go wspomaga.

Załóżmy, że ktoś pracując w jakiejś firmie osiąga **poziom średniozaawansowany. **

Można porzucić złudne poczucie bycia na poziomie średniozaawansowanym i przyjąć postawę "jestem początkującym". Do tego celu można np.:

  • zainteresować się czymś nowym (nowym językiem programowania, nowym paradygmatem, nowym frameworkiem, nowym podejściem do architektury etc.)
  • spróbować na nowo odkryć to, co się już wie, tylko, że na głębszym poziomie (np. zamiast tylko programować w jakimś języku, można się zainteresować takimi rzeczami jak specyfikacja języka, jak działa maszyna wirtualna, jak działa kompilator, parsery, co to jest AST). Zawsze kiedy myślę, że już znam JS, to sobie patrzę na specyfikację ES6 ( http://www.ecma-international.org/ecma-262/6.0/ ) czy kod źródłowy V8 i przechodzi mi poczucie bycia zaawansowanym...
  • można też spróbować zrobić coś ambitnego czy zaawansowanego, coś co będzie wymagało dużej dodatkowej nauki (np. zaawansowana gra 3D bez gotowego silnika).

Zajmuje się swoją robotą

Można przestać się zajmować swoją robotą, tylko:

  • dążyć do automatyzacji (np. jeśli zadanie się powtarza, można napisać skrypt, który będzie robił je z automatu). Jest to rozwój, ponieważ zamiast tracić czas, uczysz się jak "zrobić, żeby się nie narobić"
  • ćwiczyć umiejętność odmowy (pewni ludzie mają nierealne wymagania w stosunku do programistów, i jeśli programista nie nauczy się odmawiać, tylko będzie grzecznie wykonywać wszelkie dziwne polecenia, to może się wpakować w niezły syf, i cały projekt na tym straci)

powiela utarte schematy.

Można przestać powielać utarte schematy i zacząć myśleć kreatywnie nad rozwiązaniem problemów, oraz dopuścić dozę chaosu i nieprzewidywalności.

Czyli w sumie na podstawie tego, co sam napisałeś, można stworzyć receptę na to, jak temu zaradzić.

0
LukeJL napisał(a):

(nowym językiem programowania, nowym paradygmatem, nowym frameworkiem, nowym podejściem do architektury etc.)

Z jakich źródeł się uczysz?
Czy przeglądasz kod stron wykonanych przez innych buszując po Internetach? Jeśli tak, to czy programiści front-end mają ułatwiony rozwój w porównaniu do tych od back-end'u, ponieważ oni nie mają wglądu do tego, co robią inni programiści (np. z innych firm).

I jeszcze jedno: na ile programista jest samoukiem, a na ile korzysta z wiedzy i doświadczenia kolegów w pracy?

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