Spowolnienie rozwoju programisty

0

Według większości szkół programowania przeciętny człowiek nie mający wcześniej styczności z programowaniem jest w stanie osiągnąć poziom programisty juniora po trzech miesiącach.
Jednak później szlifowanie umiejętności do poziomu regular zabiera dwa lata.

Dlaczego nie można podnieść efektywności nauki w pracy żeby poziom regular przeciętny programista po kursie osiągał po co najwyżej pół roku a jeszcze lepiej w krótszym czasie?

11

Błąd jest w założeniach. Człowiek niemający styczności z programowaniem nie osiągnie poziomu programisty juniora po trzech miesiącach. Pół roku to nawet mało, więc naturalnie po tym czasie nie osiągnie się poziomu regulara.

Cokolwiek określenia junior i regular miałby znaczyć.

1

Dlaczego nie można podnieść efektywności nauki w pracy żeby poziom regular przeciętny programista po kursie osiągał po co najwyżej pół roku a jeszcze lepiej w krótszym czasie?

Dlaczego do basenu o pojemności 20m^3 nie da się wlać więcej wody niż 20^m3?

13

bo wszystko ponad podstawy to doświadczenie, które osiągasz po przepracowaniu tysięcy godzin.

0

Kiedyś czytałem artykuł, w którym argumentowano, że dużo programistów na początku uczy się bardzo dużo, a potem osiada na laurach i przestaje się rozwijać, tylko klepie. Czyli ludzie z wieloletnim doświadczeniem są dalej juniorami, jeśli chodzi o skille.

I z tym bym się zgodził, bo samemu to zaobserwowałem.

O tutaj chyba ten artykuł: https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/

Według większości szkół programowania przeciętny człowiek nie mający wcześniej styczności z programowaniem jest w stanie osiągnąć poziom programisty juniora po trzech miesiącach.

Kim jest junior? Jeśli założyć, że junior to osoba, która jest w stanie znaleźć pracę jako programista, to pewnie kilka godzin przeglądania tutoriali by wystarczyło + duuuużo charyzmy i pewności siebie, które będą potrzebne do tego, żeby się dobrze zaprezentować na rozmowie o pracę dla junior developera.

Tylko, że na takiej zasadzie to można być juniorem pewnie w większości branż, które nie wymagają żadnej licencji czy dyplomu.

Dlaczego nie można podnieść efektywności nauki w pracy żeby poziom regular przeciętny programista po kursie osiągał po co najwyżej pół roku a jeszcze lepiej w krótszym czasie?

Bo programowanie zajmuje czas. Pół roku to często za mało czasu, żeby zrobić jedną aplikację. Wymagania biznesowe są długie, a sam proces implementacji też czasem jest trudny, bo trzeba rozwiązywać problemy, których wcześniej się nie rozwiązywało. Plus pracując z ludźmi jesteś i tak stopowany na każdym kroku, i często musisz czekać aż ktoś ci głupiego mejla wyśle, czy napisze potrzebny ci moduł, albo sprawdzi twój kod, albo podejmie jakąś decyzję od której jesteś uzależniony itp.

Poza tym poziom "regular" to też doświadczenie z różnego rodzaju projektami, umiejętność rozwiązywania różnych problemów, umiejętność współpracy z różnymi ludźmi itp. a pracując w jednej firmie przy jednym projekcie będzie człowiek się dusił we własnym sosie.

Dla szybszego rozwoju lepiej byłoby zmieniać firmę(albo chociaż projekt) co dwa tygodnie (wtedy po pół roku masz już udział w ~12 projektach). Problem w tym, że przez 2 tygodnie to zwykle i tak często nie wdrożysz się w projekt nawet, więc będzie to powierzchowne doświadczenie (no chyba, że to będą super małe projekty - np. 12 małych aplikacji mobilnych zrobionych od początku do końca pewnie więcej dałoby skilla niż łażenie bez celu po dużych projektach i ciągłe wychodzenie z nich).

Tylko, że wtedy byś miał pewnie problem z pisaniem większych aplikacji, jeśli tylko małe robiłeś.

Jednak później szlifowanie umiejętności do poziomu regular zabiera dwa lata.

Wątpię, że tylko tyle XD

0

@LukeJL:

Kiedyś czytałem artykuł, w którym argumentowano, że dużo programistów na początku uczy się bardzo dużo, a potem osiada na laurach i przestaje się rozwijać, tylko klepie. Czyli ludzie z wieloletnim doświadczeniem są dalej juniorami, jeśli chodzi o skille.

Chyba jeżeli chodzi o frameworki, toole i buzzwordy, a nie skille.

Jeżeli ktoś był dobry i przestał robić coś "więcej" przez 3 lata, to skilla raczej nie stracił, ale na pewno nie jest na topie z frameworkami itd.

0

Nie zgodzę się. Przecież jedna osoba może się rozwijać czy to korzystając z zewnętrznych źródeł wiedzy np. czytając o wzorcach projektowych, dobrych praktykach itp. * albo patrząc np. na kod źródłowy projektów open source), czy rozwijać wewnętrznie - starając się dawać z siebie wszystko, próbować nowych podejść do problemu, poprawiać wcześniej napisany kod (refaktoring) itp. a druga osoba po prostu będzie klepać tylko to, co każą, byle jak, i cały czas tak samo, przyjmować ideologię Stack Overflow + Copy + Paste = Done, i potem się okaże, że mając X lat doświadczenia klepie jak junior.

* zbyt dużo czytania o wzorcach czy dobrych praktykach też nie jest dobre, niestety. Bo skutkuje cargo cultem.

1

Jeszcze dorzuciłbym mokre fantazje w stylu wyklikiwania usług w chmurze czy jakieś inne drag and dropy.

I dodatkowo

2
incorrect exception napisał(a):

Według większości szkół programowania przeciętny człowiek nie mający wcześniej styczności z programowaniem jest w stanie osiągnąć poziom programisty juniora po trzech miesiącach.

Jest w stanie osiągnąć poziom rzemieślnika, który potrafi wprawdzie zrobić młotek - w końcu nauczył się podstawowych czynności - ale jeśli go zostawisz samemu sobie przy produkcji młotków... no ok, będzie się dało wbijać tym gwoździe, ale będzie nieporęczne, obuch będzie w połowie rączki a i tak będzie spadał, a w dodatku będzie marnie wyważony. Formalnie jest w stanie zrobić działający młotek, ale na pewno nie powinien decydować o tym, jak długa powinna być rączka, jaki kształt ma mieć obuch i z jakiego gatunku stali go wykonać, bo zawali robotę.

Jednak później szlifowanie umiejętności do poziomu regular zabiera dwa lata.

Ja bym tego nie nazwał szlifowaniem umiejętności, tylko nabywaniem nowych, często też zdobywaniem wiedzy domenowej. W idealnym przypadku nabywanie dobrych nawyków i wyzbywanie się złych. Nie szlifujesz umiejętności napisania FizzBuzz przez całą karierę, tylko uczysz się dodatkowych czynności wokół samego aktu napisania jakiegoś FizzBuzz które czynią Twoją pracę lepszą, szybszą, bardziej zrozumiałą dla innych, bardziej odporną na błędy, łatwiejszą w deploymencie, łatwiejszą w utrzymaniu itp. itd. Perspektywa z biegiem czasu zaczyna Ci się poszerzać, już nie myślisz tylko o tu i teraz (czyt. "jak zrobić tego taska") ale np. o tym, jak moduł, który implementujesz wpłynie na całość w teraźniejszości, na ile łatwo będzie go przerobić, jeśli nagle zmienią się wymagania itp. itd.

Dlaczego nie można podnieść efektywności nauki w pracy żeby poziom regular przeciętny programista po kursie osiągał po co najwyżej pół roku a jeszcze lepiej w krótszym czasie?

Na to, co napisałem powyżej, potrzeba czasu :) Dam Ci znać ile, jeśli się kiedyś doczłapię do jakiegoś przyzwoitego poziomu.

0

@LukeJL

Fajnie, że napisałeś, że ktoś uczący się będzie wiedział więcej niż ten, który nie, ale tu nie o to chodziło.

Kiedyś czytałem artykuł, w którym argumentowano, że dużo programistów na początku uczy się bardzo dużo, a potem osiada na laurach i przestaje się rozwijać, tylko klepie. Czyli ludzie z wieloletnim doświadczeniem są dalej juniorami, jeśli chodzi o skille.

Napisałem, że jeżeli ktoś jest dobry i nadal pracuje (więc piszę kod), to nawet jeżeli przestanie czytać o tych wszystkich śmiesznych patternach i frameworkach, to nie spadnie z seniora na juniora w tym co robi.

Bo chyba sytuacja, gdy ktoś przechodzi z np. desktopa do webówki lub jeszcze czegoś innego i nagle musi nadrobić nie jest czymś dziwnym, czyż nie?

2
mr_jaro napisał(a):

bo wszystko ponad podstawy to doświadczenie, które osiągasz po przepracowaniu tysięcy godzin.

Dodałbym jeszcze potrzebę ciągłego doskonalenia się, nauki nowych technologi i wzorców etc. Doświadczenie samo w sobie również po pewnym czasie zatrzyma nas w rozwoju, jeśli ciągle będziemy robić to samo.

5
incorrect exception napisał(a):

Dlaczego nie można podnieść efektywności nauki w pracy żeby poziom regular przeciętny programista po kursie osiągał po co najwyżej pół roku a jeszcze lepiej w krótszym czasie?

Bo celem pracy nie jest nauka juniorów tylko dostarczanie rozwiązań.

5

Jest tez inna strona medalu. Imo to coraz więcej firm szuka ludzi przeciętnych i lojalnych z kredytem i bez grymasów. "Szukamy najlepszych" ... Na pewno, jasne.

Ludzie wybitni będą im odchodzić bo za mało kasy, za mało wyzwań.

Dla mnie to całe gadanie jak to trzeba się doskonalić jest w sumie dość fałszywe... Większość firm i programistów nie jest ani wybitna ani nawet jakaś dobra. Chociaż średnio w Polsce to wypadamy dość niezle.

Ponad połowa IT to raczej nie ma nic wspólnego z inżynieria.

Tańszy gość z bootcampu, który nie marudzi pewnie dla większości firm jest spoko opcja.

Oczywiście, że żadna firma nie jest właścicielem naszego rozwoju i to od nas zależy czego szukamy. Ale trudno się naprawdę przebić do czegoś ciekawego.

2
karsa napisał(a):

Ludzie wybitni będą im odchodzić bo za mało kasy, za mało wyzwań.

Dla mnie to całe gadanie jak to trzeba się doskonalić jest w sumie dość fałszywe... Większość firm i programistów nie jest ani wybitną ani nawet jakaś dobra.

Nie trzeba być dobrym (ani tym bardziej wybitnym) devem, by chcieć kiedyś stać się dobrym. Może 70%, 85% albo nawet 98% ludzi satysfakcjonuje strategia zacumować, nie wychylać się i robić swoje byle jakoś to było - może dlatego, że na nic lepszego ich nie stać, a może dlatego, że mają potencjał, ale nie chce im się go wykorzystać, ale np. dla mnie brak wyzwań, brak możliwości rozwoju i brak jakichś relatywnie ambitnych zadań jest niesamowicie frustrujący. Takie rzeźbienie dla rzeźbienia i odhaczanie kolejnych tasków w JIRA nie daje mi zbyt wiele satysfakcji. A nie jestem nawet jakiś dobry, w najlepszym wypadku mocno przeciętny, nawet jak na korpo-biedajuniora.

1

Zalezy co trzeba zrobic. powodzenia jak sie wezmie do testow penetracyjnych albo testow wydajnosciowych czy performance tuningu tanszego goscia bez doswiadczenia.

15

Bezsens takiego rozumowania wynika z niezrozumienia że na różnych fazach rozwoju zawodowego uczymy się zupełnie innych rzeczy. Ktoś początkujący uczy sie głównie technologii, stąd też często niektórzy maja takie wrażenie że "na początku" człowiek uczy się dużo więcej niż później.
Rzeczywistość jest taka, że w pewnej chwili nie chodzi już o naukę technologii, tylko o zdobywanie doświadczenia i intuicji gdzie i co stosować. Regular wcale nie umie jakichś sekretnych słów kluczowych języka, których nie zna Junior :D Nie ma też tajnych bibliotek "tylko dla seniorów". Różnica jest taka że Senior widział juz wiele projektów i wiele rozwiązań i potrafi lepiej dobrać narzędzia i podejście do konkretnych problemów, bo widział co się może sprawdzić a co nie. Tego nie da się "przyspieszyć".
Trochę jak prawo jazdy -> na kursie uczysz się "technologii", ale potem po prostu trzeba jeździć i nie da sie tego jakoś magicznie skompresować. To że ktoś będzie np. jeździł szybciej wcale nie sprawi że będze lepszy. 9 kobiet nie urodzi dziecka w miesiąc i tyle.

0

Napisałem, że jeżeli ktoś jest dobry i nadal pracuje (więc piszę kod), to nawet jeżeli przestanie czytać o tych wszystkich śmiesznych patternach i frameworkach, to nie spadnie z seniora na juniora w tym co robi.

@WeiXiao
Nie chodzi o spadanie, tylko o to, że niektórzy nie mają nawet z czego spadać. Samo pisanie kodu i praca gdzieś nie gwarantuje rozwoju.

Bo chyba sytuacja, gdy ktoś przechodzi z np. desktopa do webówki lub jeszcze czegoś innego

Nawiązując do twojego przykładu: jak ktoś jest słabym programistą i pisze w desktopie, to będzie równie słaby w webówce, choćby miał ileś tam lat doświadczenia i stołek seniora. Ok, może inni dalej będą go nazywać seniorem, ale pod kątem poziomu będzie to poziom juniorski.

(przy czym rozróżniam senior-junior=nazwa stanowiska od senior=ktoś dobry, junior=ktoś słaby).

i nagle musi nadrobić nie jest czymś dziwnym, czyż nie?

Dla mnie to jeszcze inny przypadek. Bym powiedział, że każdy w takich sytuacjach, jak wchodzi w nowy temat staje się juniorem (i to jest fajne zarazem, bo programowanie to ciągła nauka i ciągłe wyzwania, ale z drugiej strony irytujące, bo już myślałeś, że do czegoś doszedłeś, że coś umiesz w programowaniu, a nowa technologia i okazuje się, że masz zaledwie poziom juniorski i tak jak każdy inny junior musisz przechodzić tutoriale albo czytać dokumentację i pisać Hello Worldy)

3

Im dłużej w tym wszystkim siedzę to moim największym wyzwaniem jest... utrzymanie wszystkiego w jak największej prostocie, żeby za X miesięcy również było latwe w zrozumieniu itp.

"Róbmy szybko zanim dotrze do nas, że to bez sensu"

0
karsa napisał(a):

Dla mnie to całe gadanie jak to trzeba się doskonalić jest w sumie dość fałszywe...

Większość ma podejście: doskonalcie się się, ale po pracy :D

Tańszy gość z bootcampu, który nie marudzi pewnie dla większości firm jest spoko opcja.

Goście po bootcampie marudzą bardziej niż ludzie po studiach IT. Ci pierwsi wsadzili kupę hajsu za to, że ktoś im powtarzał "jesteś zwycięzcą", "wyjdziecie stąd jako programiści 15k" oraz "wam się ta kasa po prostu będzie należała".

2

W zasadzie to od dawna jest prosty i znany sposób.
Poszukaj pracy w hiszpanii -> z automatu zostaniessz Señor developer.

A do tego jeszcze klimat jest ok.

0

W United States of America (USA) studenci IT są rozchwytywani w trakcie studiów. Wystarczy że koleś ma odrobinę chęci i dostaje się gdzieś do Janusz softu gdzie jest szkolony by później podpisać umowę o pracę. Jeśli odrabiają staż to zawsze płatny. Polska niestety nie ma na to pieniędzy by ryzykować w świeżaka, doszkalać go itp :)

1

@au7h:

A czy w United States of America (USA) jest taki sam boom na ten zawód jak w Polsce (Poland)?

1

Bez przesady u nas też kto ma "trochę oleju w głowie" ma pracę już na studiach. Kończyłem studia w zeszłym roku i była masa ofert o staże na tablicach z ogłoszeniami masa firm na targach pracy (w porównaniu z innymi branżami) i raczej wątpię że przez ten rok coś w tej kwesti się zmieniło. Jak ktoś chciał to pracował, racja koksów nie było ale jeśli oczekujesz koksów na starcie to powodzenia. Przykłąd jeden stwierdził że za 1k brutto (przykład, 4k czy nawet za darmo nieistotne) to on na staż nie idzie bo on przecież IT i przez rok nigdzie nie poszedł tylko "szukał i marudził", drugi poszedł i po rok on był z rokiem doświadczenia (co jest mega istotne na początku) a ten drugi dalej szukał.

Oczywiście mówimy o ludziach ogarniętych bo uwaga może niektórzy nie wiedzą ale to że studiujecie informatyke czy cokolwiek innego nie czyni od razu z was z automatu kimś z im warto nawiązać współprace :)

3
au7h napisał(a):

W United States of America (USA) studenci IT są rozchwytywani w trakcie studiów.

W Polsce również, tyle że nie wszyscy.

Polska niestety nie ma na to pieniędzy by ryzykować w świeżaka, doszkalać go itp :)

Z drugiej strony USA nie ma pieniędzy na to, aby prowadzić tyle bezpłatnych uczelni.
To jest prawdopodobnie ten detal, który Ci umknął.

0
au7h napisał(a):

W United States of America (USA) studenci IT są rozchwytywani w trakcie studiów. Wystarczy że koleś ma odrobinę chęci i dostaje się gdzieś do Janusz softu gdzie jest szkolony by później podpisać umowę o pracę. Jeśli odrabiają staż to zawsze płatny. Polska niestety nie ma na to pieniędzy by ryzykować w świeżaka, doszkalać go itp :)

Co Ty gadasz, po takim 2 roku to Cię wezmą chociażby do Comarchu. Wielu moich znajomych ma pracę a umieją tylko to co na studiach się nauczyli. Ci co cisnęli po godzinach to tym bardziej :-).

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