fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
5 minut

"Prawdziwy programista" w pogoni za nowościami


03.11.2016

Nasz zawód jest absolutnie pasjonujący. Oferuje ogromną różnorodność, wystarczy się tylko odrobinę postarać. Ja nadal jestem programistą (no dobra, według niektórych już nie jestem :) ), choć w tym roku napisałem baaaardzo mało kodu. “Typy” dev-różnorodności są przynajmniej dwa. Najbardziej oczywisty to: nowe technologie.

Akcja: BLOGvember! Post nr 2.
W listopadzie w każdy roboczy poranek na devstyle.pl znajdziesz nowy, świeżutki tekst. W sam raz do porannej kawy na dobry początek dnia.
Miłej lektury i do przeczytania jutro! :)

Pamiętam czasy, gdy w 2008r. rodził się .NET 3.5. LINQ, var, lambdy, extension methods… Prawdziwa rewolucja! Jakież to było wspaniałe. Tyle nowych możliwości! I co? Przychodzę do roboty z płonącym z wrażenia licem, i od razu kubeł zimnej wody: ty chyba śnisz, LINQ to użyjesz u nas najwcześniej za 2 lata. WHAT???

Zmieniłem pracę. Poszedłem do firmy, która używała LINQ2SQL jeszcze gdy była to beta. Bleeding edge, nie baliśmy się tam niczego. Działało… średnio. Firmy już nie ma na rynku. Hmm…

Rozwój: 4 fun & profit

Z upływem lat zmieniają się priorytety, zmienia się postrzeganie technologii. Zmienia się wreszcie pojęcie wartości czasu.

W ubiegłym roku pisałem o idei Pet Projects, wcześniej o Dniu Pracy Własnej. Jedno i drugie rozwiązanie ma służyć “ostrzeniu programistycznej piły“, czyli zdobywaniu nowych umiejętności. Podnoszeniu swoich kwalifikacji. Zbieraniu doświadczeń.

Uwielbiasz dżawaskrypty? Co tydzień masz rewolucję, jea! Programujesz obiektowo? To na pewno warto zerknąć w stronę programowania funkcyjnego. A do tego: co to jest R i dlaczego tak głośno ostatnio o “big data”, jak ugryźć ten temat?

Poszerzanie horyzontów jest potrzebne, to oliwa naszych programistycznych trybów. Bawiąc: uczy. Prawie jak: łakocie i witaminy.

Więc na co czekać… lecimy z tym na produkcję?

Hold your horses

Tutaj pojawia się problem. Jeden zapaleniec zapali drugiego zapaleńca i wrzucą w projekt coś, co nie do końca działa. Jakąś bibliotekę w fazie beta, jakiś produkcik dopiero-co wypuszczony. Jazda, MOC!!!

Można się tym jarać, oczywiście. Sam bym się jarał. Kiedyś. Dawno temu. Teraz: chyba bym łby tym zapaleńcom pourywał.

Poszerzanie horyzontów jest fajne, dopóki można je rozpatrywać w kategoriach zabawy. Bez zobowiązań. W momencie pojawienia się autentycznego ryzyka: to już przestaje być zabawą, a zaczyna być podejmowaniem odpowiedzialnych decyzji.

Co się stanie, jeśli grupka rozwijająca projekt nagle przestanie go rozwijać? Albo sprzeda i trzeba będzie za jego używanie słono płacić?

A co się stanie, jeśli jeden i drugi zapaleniec, w ferworze technicznych dyskusji, wjadą furą w drzewo? Albo przeskoczą do innej firmy, która pozwala wrzucać na produkcję nie tylko bety, ale i alfy? Kto utrzyma projekt?

To są realne problemy. Bardzo przyjemnie jest ich nie zauważać. Jednak ignorancja nie sprawia, że problemy znikają. Wręcz przeciwnie: mogą się boleśnie ujawnić w najmniej odpowiednim momencie.

Królik doświadczalny

Ryzyko ryzykiem, ale to nie jedyny wymiar problemów w “pogoni za nowym”. Jest jeszcze… czas.

Kto dotnetowiec ten pewnie chociaż mniej więcej orientuje się, co Microsoft robi z nowym dzieckiem: dotnetcore. Nie tknąłem tego kijem nawet, nie zainstalowałem. I wcale mnie tam nie ciągnie. Nie zamierzam marnować życia na takie rzeczy. Wystarczyło mi zobaczyć kilka prezentacji Gutka i innych osób na ten temat. Zmiany co tydzień, BETA2 zachowująca się jak niestabilna ALFA. Kompletny chaos i brak poszanowania dla ludzi inwestujących czas w tę grę w kotka i myszkę.

Przestało mnie to BAWIĆ. Wolę POBAWIĆ się z Córeczką. Bo w pewnym momencie jest to decyzja do podjęcia właśnie na tym poziomie: będę królikiem doświadczalnym dla nieodpowiedzialnych twórców oprogramowania, czy tatą dla swojej Córeczki? Obu ról nie jestem już w stanie obsadzić.

Na jednej z niedawnych konferencji (nie pamiętam której, trochę tego było), ktoś grzmiał ze sceny: TO jest właśnie nasz zawód! TO nasza powinność! TO nasza odpowiedzialność!

Sorry, ja podziękuję. Z mojej perspektywy to fucha darmowego testera. Za stary na to jestem.

Olać to?

Więc: co? Rdzewieć, zagrzybieć, olać, dusić się ciągle w tym samym sosie? Właśnie nie, ale… z głową. Z umiarem. Gnanie po falach kolejnych niewypałów niczym Bohun po stepie na pewno może dać radość. Nie jest jednak darmowe. Ani bezpieczne.

Warto trzymać rękę na pulsie. Orientować się, jakie są trendy, co się ogólnie dzieje dookoła. Ale czy inwestować czas w każdą nowinkę tylko dlatego, że “chcę mieć ostrą piłę”? Polemizowałbym. Prędzej: siwe włosy.

I wiesz co? Jeśli jesteś taką głodną alf i bet dziewoją bądź napalonym na nowości junakiem: tak trzymaj. Jednak gdy spotkasz się z odmiennym podejściem to niekoniecznie myśl: “Ale dziad! Utracił dev-ikrę! Na emeryturę go!”. Sam tak kiedyś myślałem, a teraz próżno szukać u mnie tej ikry. Tej iskierki radości, gdy wszystko się wywala, a ja muszę znaleźć przyczynę. Zbawić świat. Zbyt wiele nocy nad tym spędziłem.

Ikrą płaci się za doświadczenie. System naczyń połączonych. I chyba tylko dzięki temu nasza tech-cywilizacja jeszcze jako-tako funkcjonuje.

0 0 votes
Article Rating
27 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Kaczus
7 years ago

Co fakt, to fakt, w 2005 postanowiłem poznać coś nowego, wybrałem C#, nawet zlecenie złapałem (tak dla motywacji przy nauki), by wykonać jakąś aplikację w tym języku. No i od tamtej pory był to jedyny projekt w tym języku jaki zrobiłem. Choć z drugiej strony będąc na rozmowie o nową pracę, fakt,że cokolwiek robiłem w C# policzono mi za plus, mimo, iz zdawano sobie sprawę, że temten C# i obecny to 2 różne języki, ale jednak :)

Feagorn
Feagorn
7 years ago

Trudno się nie zgodzić z tym, że ciągła pogoń za nowościami prędzej lub później musi skończyć się katastrofą. A jednak… ten syreni śpiew nowych technologii, nowych rozwiązań jest czasami nie do zagłuszenia. I chyba to dobrze, bo trochę takiego szaleństwa zawsze jest potrzebne. Ale tylko trochę, bo jednak umiar jest i tutaj wskazany.
Dlatego jak najbardziej popieram Twoje konkluzje, mimo że wydają mi się nieco zbyt kategoryczne.

A tak na marginesie, muszę wtrącić uwagę bo mój wewnętrzny “grammar nazi” zaczyna wyć. “Ignorancja” to brak wiedzy na w jakiejś dziedzinie, a nie przymykanie na coś oka. Sorry, NMSP.

trackback
7 years ago

“Prawdziwy programista” w pogoni za nowościami

Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl

Michał
7 years ago

Też wcześniej nie rozumiałem dlaczego duże firmy często są “zacofane” i nawet nie rozważają przejścia na nowe technologie.
Fajny wpis.

Tomek
Tomek
7 years ago

No nie do końca tak jest: jak to powiadają wszytko zależy. Przesiadka do dotnetcore ma sens tylko jak potrzebujesz uruchamiać aplikacje na innych platformach niż Windows. Ale np przesiadka z technologi do których nie ma już dobrych narzędzi ma duży sens. Nie mylmy zmiany technologi z pogonią za nowinkami – są to dwa różne problemy.

Tomek Onyszko
7 years ago

OMG! % pisze to co ja zawsze powtarzałem … nie sztuką jest nadziergać każdy projekt w najnowszym frejmowrku – tylko pytanie kto to potem utrzyma :).

I to poniekąd jest też odpowiedź na pytania w stylu “ale czemu ku.. oni używają tego Sharepoint/WebSphere/Tomcat/InnyBadziew?”. Ano właśnie też dlatego, że może i kiepskie ale jak odejdzie jeden dev to mu tam nagle dev kariera wyskoczy w inne rejony, to znajdzie się inny, który będzie w stanie to przejąć.

Marek
Marek
7 years ago

Jak ten tekst ma się do Twojego wystąpienia na temat mikroserwisów, gdzie mówiłeś, że to takie fajne podejście, bo każdy moduł może być w nowej technologii i daje to możliwość zabawy programistom i potestowanie nowych frameworków?

Co do ASP core, to niestesty zgadzam się w 100% Sami w to poszliśmy, z myślą, że nie zmigrujemy nigdy do nowszej wersji. Jednakże to co było rok temu siłą Core’a teraz jest be i MS odchodzi od tego. Wkurzające. Bardzo.

Tomek
Tomek
7 years ago

A ja się tak trochę nie zgodzę z wami. Trochę doświadczenia już mam (10+) i spotkałem się z takimi projektami które zaczynały się końcem zeszłego tysiąclecia (początkiem lat dziewięćdziesiątych ) i pracowały w oparciu o bazy Oracle. Jako że w tedy nie było wielu rzeczy w bazach( nie była prawie że niczego) które są teraz to miały zaimplementowana w logice aplikacji (np klucze obce) – i co z tego że aplikacja działa na Oracle 11 skoro działała jak na Oracle 8. Co do utrzymania to też tak bywa że w końcu ludzie się wykruszają i potem jest problem bo nikt nie wie co i jak – nawet jest problem ze zbudowaniem projektu bo nie wiadomo jakiej wersji użyć.
Tak więc ja jestem za stopniowym sukcesywnym odświeżaniem aplikacji, łącznie ze zmianą technologi. Aplikacje które działają bardzo długo nie ruszane potem są trudne do ruszenia – bo gdzie się nie ruszy to się sypie. I jestem też przeciwny “poratowaniu” aplikacji – czyli przenoszeniu aplikacji prawie że 1 do 1 do nowej (innej) technologi. Takie coś to przypomina pudrowanie guw.. a praca z czymś takim przypomina pływanie w szambie – ale ciężko utrzymać się na powierzchni.
Z czym się zgodzę to z tym że używanie bety w projekcie jest jazdą gołą dupą po nie heblowanej desce. Tak z doświadczenia to mi się wydaje, że dopiero jak wyjdzie pierwsza paczka poprawek do oficjalnej wersji to warto zaczynać się w to bawić komercyjnie – co nie przeszkadza żeby wcześniej zrobić jakiś “reaserch”.

Wojtek Domagała
7 years ago

Amen! Święte słowa, chociaż mnie się jeszcze czasami, w przypływie zbytniego entuzjazmu, zdarza zagalopować. Usprawiedliwiam to zwykle tęsknotą za młodością, nieprzebranymi ilościami wolnego czasu i chęcią chociaż małego nadrobienia tego, na co mogą sobie po nocach pozwolić młodsi koledzy po fachu. Kondycja też już nie ta, więc na szczęście galopowanie szybko się kończy i po cichutku wracam na swoje sprawdzone, stabilne poletko :)
Tak troszkę poważniej natomiast to poruszyłeś zagadnienie, które od pewnego wieku mnie wydaje się jednym ze smutniejszych aspektów życia programisty (oraz prawie dowolnego innego technicznego cżłowieka pracującego w IT) – technologia odjeżdza i pasjonatom często pozostaje tylko ze smutkiem odprowadzić ją wzrokiem. Co prawda jeśli się sprawdzi to być może uda się ją dogonić, ale to już nie to samo, nie ma tego dreszczyku emocji z bycia pionierem.
Jakimś rozwiązaniem (wymagającym jednak wykrojenia odrobiny czasu poza pracą zarobkową) jest wygenerowanie sobie na boku takiego hobbystycznego, prywatnego projekciku, w który można rzucać wszystkim co nam się akurat podoba bez szczególnych obaw.
A żeby nie być takim jednostronnym tetrykiem, to ja tam trochę doceniam tych, którzy mimo wszystko jadą na dzikim ośle robiąc za darmowych testerów bo oni jednak też mają konkretny wkład w pchanie wózka technologii naprzód. Skąd byśmy się inaczej dowiadywali, że coś się nie nadaje? ;)

miguel
miguel
7 years ago

Ja chyba też już się starzeję, bo podejście do nowinek mam coraz bardziej sceptyczne;) Ile w ciągu mojej kariery pojawiało się Frameworków, API, języków i innych cudów, które miały zmienić świat, zrewolucjonizować programowanie itd. Większość z nich teraz pewnie gnije w piwnicach gdzie je tworzono, nic o nich nie słychać;)
To zdanie Maćku jest genialne: “Co się stanie, jeśli grupka rozwijająca projekt nagle przestanie go rozwijać? Albo sprzeda i trzeba będzie za jego używanie słono płacić?”. No właśnie, co? Ja w firmie nie mogę sobie pozwolić na użycie czegoś, co zniknie za pół roku, a już szczególnie nie mogę na tym budować całej aplikacji, bo najpierw wyleci aplikacja a ja razem z nią, chyba że wcześniej klienci mnie rozszarpią;)
Swego czasu pewien dev-senior (wiekowo i pod względem doświadczenia) przy okazji rozmowy o kolejnym super frameworku powiedział ze skwaszoną miną: “to wszystko już było… żadna rewolucja… 20 lat temu korzystaliśmy z tego, tylko zwało się to inaczej, ale idea była ta sama”. Wtedy się na niego oburzyłem, dziś już przyznaję mu rację;)

miguel
miguel
7 years ago

A tam od razu “dziadem”;) Powiedziałbym, że się starzejemy, ale lepszym słowem będzie “dojrzewamy”;) W życiu rodzinnym wszystko wygląda analogicznie- kiedyś wiele decyzji, zakazów i nakazów moich rodziców było delikatnie mówiąc dziwnych. Dziś kiedy sam mam dzieci widzę, że to miało sens. I chyba tak samo jest w IT, po okresie buntu, zachłyśnięcia się nowinkami i pogoni za wszystkim co ma wyższy numer wersji przychodzi czas przyznania racji dziadkom;)

rz
rz
7 years ago

Dzięki, tego oczekiwałem, sam mam małą córeczkę i trochę się już pogubiłem w tym wyścigu szczurów… Nie nadążam ;) Dobrze, że toto nie takie niezwykłe :)

Klaudia
Klaudia
7 years ago

Tak jak normalnie w dobrym tonie jest kreować się na fana wszelkich nowinek i szeroko komentować po internetach nadejście każdej alfy i zapowiedzi, tak teraz wszyscy przyznają że tak naprawdę to nie jest potrzebne i żal im na to życia:-)

mała
mała
7 years ago

Uff, myślałam, że jestem ostatnim dinozaurem, który jeszcze nie podnieca się Corem i Angularem 2.

Robert
Robert
7 years ago

Polecam Angulara2,
Migracja wersja RC4 na RC6 trwała 3 dni.
Wersja stabilna, wcale nie jest stabilna.
Kod przenoszony z 2.0.0 na 2.1.1 się wysypuje.
Biblioteki zmieniają się co dwa tygodnie.
Błąd z widocznością komponentów w ngIf leży od stycznia.

Ale to nowość :) więc heja piszmy w tym bo to trendy. Całość w chmurze bo trendy.

Zamiast użyć czegoś co działa i jest stabilne, firmy bawią się w nowości i co sprint review wrzaski że tak mało zrobione.
Nie przegadasz, że siedziałeś trzy dni na problemem, którego nawet na SO nie było :) a jak jest to do wersji niższej i rozwiązanie nie działa.

Robert
7 years ago

Angular is sooooo 2015 ;-)

Polecam na poprawienie humoru wszystkim tym którzy wyrośli już z codziennych aktualizacji debiana SID na swoim desktopie :)

https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.79govefrs

trackback

[…] Prawdziwy programista w pogoni za nowościami […]

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również