ŚmierćKariera NR.13 Flash umarł. No co mamy rok 2017. Dla wielu programistów oznaczało to koniec wielu produktów, a nawet koniec i początek nowej kariery. Pomyśl ktoś 10 lat inwestował w język ActionScript i technologię FLASH, aby dość do tego końca. Miałem kolegę na studiach, który był zakręcony w rozwiązaniach Flash, Flex i ColdFusion. Jak się domyślasz on już w tych technologiach nie programuje.
Mnie osobiście coś takiego się zdarzyło na początku kariery.
Dwa lata przed szukaniem pracy w Warszawie inwestowałem w naukę dwóch technologii ASP.NET i Silverlight.
ASP.NET będzie zawsze istniał i obecnie ma się lepiej niż kiedykolwiek. Silverlight natomiast jako gorszy odpowiednik Flash właściwie zginął w momencie ogłoszenia swojej 5 wersji. Silverlight był dynamiczną technologią. Co 9 miesięcy pojawiała się nowa lepsza wersja. Niestety ten wyścig był przegrany, zanim się zaczął ze względu na telefony komórkowe. Moje zainteresowanie Silverlight próbowałem przenieść na platformę Windows Phone, a potem te zainteresowanie na WinRT.
Niestety Windows Phone oraz framework WinRT pokazały, że nakręcanie sztucznie szału ponownie jest mylące. Zostałem więc przy ASP.NET i nie rozglądałem się dalej. Swoją drogą WinRT też umarło, a teraz gdy mówimy o tym co umarło - pamiętasz tworzenie gier na platformie XNA. To były czasy.
Oczywiście w latach 2011-2012 wiele osób zadawało mi niewygodne pytania, które zderzały mnie rzeczywistością, jeśli chodzi o technologię Silverlight.
Takie problemy są powszechne w świecie programowania. Zwłaszcza jeśli zainwestowałeś czas w niewłaściwy framework JavaScript n.p w ExtJS. Jestem ciekaw kto teraz pamięta o CoffeScript teraz gdy jest TypeScript.
Pasja. Pasja sprawia, że zaczynasz wierzyć , że twoja platforma jest najlepsza. No cóż, część naszej pracy polega na wyborze z tysiąca rozwiązań jedno.
Nasz wybór wiąże nas nie tylko z konkretną platformą. Nasz wybór dodaje także nam tytuł. Jestem programistą PHP. Jestem programistą Javy, .NET, iOS. Czasami nasz wybór jest bardzo zawężony i określamy się jako programista Angular. Pytanie, co teraz ten tytuł znaczy. Gdy będziemy mieli tyle wersji Angulara teraz.
Co jednak się dzieje, gdy twój framework umiera. Co robić, gdy twój framework, technologia, rozwiązanie było powiązane z twoją karierą. Jak to jest, gdy tracisz część swojej tożsamości.
To się może zawsze zdarzyć.
Co raz więcej programistów jest świadomy tego, że wszystko może się zmienić z dnia na dzień. Przykładowo Steve Jobs może powstać z grobu i jednym słowem zmienić całą branże telefonów komórkowy. Kiedyś było gorąco z prawami autorskimi do Javy i to czy będziesz programować aplikację na Androida w Javie było pod znakiem zapytania.
Nic więc dziwnego, że ludzie są sceptyczni i rzeczywiście się zastanawia
- “Ej zaraz co jeśli Java idzie złą ścieżką przez firmę Oracle?”
- Jaką mam pewność, że ta nowa technologia Microsoftu będzie żyć dłużej niż rok.
- Skąd mam wiedzieć czy ta biblioteka JavaScript się przyjmie i w ogóle jest użyteczna
Ty też powinieneś być sceptyczny. Ciekawych przykładem takiej sytuacji był język ColdFusion. Byli ludzie, którzy go pokochali. Miejsca pracy powstawały i jak na tamte czasy dla grafików wydawał się ciekawą alternatywą dla PHP. Poza tym dla miłośników Flash czy inny produktów Adobe wydawało się to słusznym wyborem.
Flex, ColdFusion, Flash to już nie są nazwy, które usłyszy na korytarzach z pogawędek programistycznych.
W każdej platformie są pewne niewiadome, które mogą umrzeć z dnia na dzień. W .NET są to rozwiązania Windows Forms, WPF. W Javie taki chwiejnych rozwiązań też jest sporo.
Nic dziwnego, że mądrze jest kierować swoją uwagę w kierunku stron internetowych, ale tam jest chaos związany z rozwiązaniami JavaScript.
Śmierć zawsze może się zdarzyć? Co więc trzeba zrobić?
1 : Otwórz się na zmiany i na inne światy
Co jest najlepsze? Angular czy React. Ruby czy Python. ASP.NET czy jakikolwiek inny framework z Javy, o którym nie mam pojęcia.
Sceptyczność warto mieć po każdej stronie. Inne opnie nie są głupie, a inni ludzie nie są idiotami. Każdy programista ma swoje tępo nauki. Nikt nie jest gorszy trzymając się tego co daje mu pieniądze i daje mu szczęście.
Warto o tym pamiętać. Bo w końcu to ty chcesz sterować swoim narzędziami, a nie odwrotnie.
Co więc zrobili programiści FLASH albo Silverlight. Skoczyli do HTML i do normalnych stron internetowych. Ci co byli zaskoczeni powoli transformowali się na coś innego.
Jak z każdą zmianą w życiu najgorszą emocją, którą przeżywam w takich chwilach jest “gniew” i “żal”. Niestety wiązanie się z tymi emocjami jest niepraktyczne. Jeśli świat idzie do przodu do niestety my też musimy. Nikt nie będzie na ciebie czekał, gdy ty będziesz siedział w swojej bańce frustracji. Obwinianie kogokolwiek też nie pomoże. Trzeba działać.
Gdy “ona” odchodzi, a miłość technologiczna chce trwać.Ty wspominasz namiętne nocne kodowania. Fakt jest jednak faktem i trzeba przelać swoją miłość do programowania do czegoś innego.
2 : Śmierć nie jest przegraną.
Twoja ulubiona technologia umarła, ale czy śmierć jej śmierć jest twoją przegraną.
Czy jednak twój czas rzeczywiście został zmarnowany? Moja nauka Silverlight akurat pozwoliła mi liznąć koncepcje wzorców projektowych jak MVVM. A wzorzec MVVM potem było mi łatwo przetłumaczyć na MVC. Jednym słowem Silverlight był moim pierwszym kontaktem z wzorcami i z koncepcją wstrzykiwania zależności, która wtedy dla mnie wydawał się kosmosem.
Doświadczenia więc mogłem przełożyć na coś innego. Prawda jest taka, że im dłużej spędzasz czasu na programowaniu tym łatwiej potem przyswajasz wiedzę z innych źródeł. Oznacza to, że stajesz coraz lepszym programistom. W takich chwilach rozumiesz jak coś działa i dlaczego bez względu na to, jak te cegiełki kodu wyglądają akurat w przypadku.
Zawsze wiec można powstać, bo śmierć danej technologii nie oznacza twojego końca. Pokaż, że twoje doświadczenie X może być wykorzystane przy rozwiązaniu Y.
3 : Spróbuj czegoś innego
Bardzo często realizujemy swój wybór jako najlepszy wybór bez względu na to, jakie są fakty. Gdy te rozwiązanie staje się częścią nas samych szukamy sposobów aby tą technologię wcisnąć wszędzie bez względu na skutki uboczne. W końcu przychodzi taki czas, gdy nasza gwiazdeczka nie jest już tą najlepszą opcją, a my nawet nie jesteśmy tego świadomi.
Pomimo różnych ogłoszeń pracy prawda jest taka, że nie musisz być ekspertem w każdej dziedzinie. To co powinieneś umieć i posiadać to elastyczność. Na bazie swoich poprzednich doświadczeń łykać nową wiedzę 10 razy szybciej niż nowicjusz programowania. Sam osobiście planuje rozwinąć swoje skrzydła na nowe horyzonty jak język Python czy Ruby. Chce poznać i zrozumieć świat dynamicznych języków. Moim zdaniem warto usiąść w domu na czymś co nie robimy codziennie w swojej pracy.
Twoim cele nie będzie zmiana swoich poglądów tylko o rozszerzenie swojego umysłu na nowe bodziecie tak aby nauka programowania czegokolwiek zawsze była szybsza i przyjemniejsza.
To jest prawdziwy sekret dobrego programisty.
4 : Zawsze można z tego wyjść
Trendy programistyczne mówią nam, że strony internetowe to pewna przyszłość. Z drugiej strony jeszcze 20 lat temu Java wydawała się nie do zatrzymania jednym słusznym rozwiązaniem.
Jaka będzie przyszłość za 10-20 lat tego nikt nie wie. Może za 20 lat wszyscy będzie egzystować w wirtualnej rzeczywistości i strony internetowe staną się zbędne.
Cokolwiek by nie było nie panikuj. Swoją wiedzą jesteś wstanie wysłać siebie w nowy świat. Poza tym stare “śmiecie” zawsze egzystują w firmach i potrzebują swoich programistów. Bądź świadom tego problemu tyle tak naprawdę jest ci potrzebne, gdy ta czarna godzina nastąpi.