Odbywająca się ostatnio konferencja connect() spowodowała zapalenia się kilku czerwonych lampek u mnie w głowie, oraz doprowadziła do refleksji nad tym co było kiedyś, jest dzisiaj i będzie jutro. A wszystko to przez szereg nowości jakie zostały opublikowane. Od nowego VS po nowe narzędzie po kolejną modyfikację ASP.NET Core… Tyle, że aby większość ogarnąć to nagle potrzeba kilka nocek które umożliwią nam przetestowanie wszystkiego. Kilka? Tfu, pewnie z dwa tygodnie. I tak wszystkie raczej się nie ogarnie. To nie wszystko, jak chce się być na czasie z chmurą to jest podobnie, tych informacji jest tyle, że aż w którymś momencie następuje stack overflow.

Z jednaj strony napływ informacji, z drugiej my próbujący przetworzyć te informacje, z trzeciej utrwalenie wiedzy. Napływ nie może zrobić stack overflow, a tylko zalewa nas coraz większą liczbą informacji. Bottleneck jest u nas, nie jesteśmy wstanie przeczytać/zobaczyć wszystkich tych informacji, musimy iść jednowątkowo. Przetwarzać wszystko pojedynczo, i ustawiać priorytety nauki czegoś by potem to utrwalić w pamięci. Co powoduje, ze kolejka informacji rośnie, bo jak utrwalamy, to nie przetwarzamy nowych. A napływ informacji nigdy się nie skończy. A to potrafi nas odrzucić od technologii na dobre kilka dni, tygodni czy nawet miesięcy.

Do tego, przeważnie jesteśmy  tymi pierwszymi, pierwszymi do technologii, narzędzia, rozwiązania. A co za tym idzie, czas przetworzenia/utrwalenia wydłuża się bo to my doświadczamy pierwszych problemów z softem, językiem rozwiązaniem. Więc siła rzeczy jeszcze więcej czasu musimy nad tym spędzać. Oczywiście, jak przetrwamy ten okres nawału informacji i doczekamy się stabilizacji produktu/języka narzędzi to jesteśmy kilka miesięcy jak nie więcej pracy do przodu. Inni muszą nas doganiać. Co ma swoje plusy. Z drugiej strony, często jednak te technologie i pomysły umierają, stajemy się ekspertami od niczego.

Koszt nadążania ostatnio jest za wysoki do benefitów jakie niesie. Nie tylko ten nasz zawodowy, ale i prywatny. Patrząc na sam Microsoft, to ogólnie osoby które pisały w ASP.NET Core 2 rok temu, równie dobrze mogły by pooglądać dynastię w telewizji lub spędzić te godziny z rodzinką. Z całości jedynie architektura rozwiązania pozostała nie zmieniona. W sensie, że jest jakiś middleware który przetwarza requesty. Reszta – tooling, API, instalacja uległy metamorfozie wielokrotnie. To jest cena bycia na topie nowościach. Jednak, informacji jest po prostu zbyt dużo i zbyt często wszystko ulega zmianie. Zmiany te potrafią przytłoczyć i z demotywować. Równie dobrze co dwa miesiące mogę pisać o ASP.NET Core ten sam post. Nigdy nie będzie on taki sam. Więc teraz, szczerze, czy jest sens dzielenia się tymi nowościami ze światem? Skoro i tak wiemy, że to ulegnie zmianie? Warto jest poświęcić nasz czas i czytelnika by pokazać, jak fajny jest project.json (a jest), skoro już wiadomo, że go nie będzie? – to takie moje własne pytania, które ostatnio sobie zacząłem zadawać. Po co pisałem o ASP.NET vNext z k runtime, potem o dnx skoro teraz jest dotnet? Czemu mi przez głowę nie przeszło, że to może całkowicie ulec zmianie? A jak przeszło to czemu tego nigdzie nie zaznaczyłem? Ciekawe.

Wybierajcie mądrze nowości w które chcecie zainwestować swój czas i nigdy nie wierzcie w niezmienność rzeczy. Wybierajcie takie informacje, które pokażą wam zasady działania, a nie sposób. Dzięki temu, jest większa szansa, że wasz czas nie zostanie zmarnowany.

Ślepa pogoń za nowościami kończy się zmarnowanym czasem. Pamiętajcie też o innych. Dzieląc się wiedzą, zaznaczcie możliwe, jest, że to się zmieni. Osoba was czytająca, sama podejmie decyzję o tym, czy warto inwestować swój czas w przeczytanie was. A jak osiągniecie stackoverflow… no cóż :) każdy przez to musi przejść. Ja już trochę zmądrzałem. Pewne rzeczy olewam, na pewne nie mam też tyle czasu co kiedyś. Wewnętrznie, aż mnie korci by zainstalować wszystkie nowości, napisać kod, sprawdzić, opisać, publikować. Nawet teraz mam ochotę zostawić ten post i ruszyć do nowej wersji elixira. Ale nie, poczekam. Nie potrzebuje tych nowości elixra jeszcze. Nie potrzebuje jeszcze nowego ASP.NET, na razie mam pracę w starym MVC i do tego hobby w postaci elixira. To mi już i tak czas wypełnia. A jak wyjdzie wersja stabilna ASP.NET z toolingiem i bez zmian projektowych, to z chęcią się nią pobawię.

Ceńmy nasz i innych czas :)

11 KOMENTARZE

  1. Jeden z fajniejszych Twoich postów, chyba dlatego, że bardzo się z nim utożsamiam. Kiedy czytałem wspominki procenta, to aż mnie zazdrość brała, że rozwiązywał wszystkie problemy jakie pojawiały się w sieci. Wydaje mi się, że się po prostu nie da. Poznanie wszystkich technologii to jakaś mrzonka. Można mieć świadomość ich istnienia (chociaż to już jest za wysoki dla mnie level), ale – moim zdaniem – nie da się ich wszystkich poznać.

    • Za młodu daje radę :) jak nie ma się rodziny i innych “hobby” to w całości da się poświęcić technologi. Co prawda Procent odpowiadał na polskim forum a my i tak nie byliśmy jakoś szybko z tymi nowościami. Więc też nie było aż tak źle :) odpowiedzieć na pytanie z C# na MSDN czy StackOverflow… to było coś :)

      Ale tak, wszystkiego nie damy rady, już od dawna. Nawet mam post który o tym wspomina – w zalążku, mam nadzieję, że uda mi się go zamknąć niebawem :)

  2. Gutku, tym postem właśnie utwierdziłeś mnie w moim postanowieniu, żeby swój raczkujący jeszcze projekt w asp.net core przepisać na “pełne” asp. O ile żonglerka z .projami, .xprojami, dnxami mnie bardzo nie bolała. Przy próbie tworzenia projektów na testy jednostkowe już mi zaczynała drgać powieka. Gdy EntityFramework Core nie chciał wygenerować migracji, chodziłem na długie spacery dla odprężenia. Czara goryczy przelała się gdy zobaczyłem stan SDK różnych usług dla Azure. Większość albo w wersji 0.0.0.1-preview albo w ogóle nie ma wsparcia.
    A startowałem z przekonaniem: “Po godzinach wypróbuję coś nowego, coś, czego nie przerabiałem jeszcze w pracy”. No, czegoś takiego na pewno nie przerabiałem!

    IMO na chwilę obecną do asp net core warto zajrzeć, jeśli ma się trochę wolnego czasu. Wyklepać jakąś mega podstawową stronkę, pobawić się nowościami, typu tag helpery, view componenty, pojarać się wydajnością i po kilku dniach skasować całość z dysku. Na więcej szkoda nerwów. Jeśli ktoś ma ochotę, jak ja, potestować usługi Azure, SignalR, nowe rozwiązania frontendowe, jakieś dziwne ORMy, to podstawowe ASP.NET jest 100 razy lepszą opcją.
    Dzięki za posta i pozdrawiam :)

ZOSTAW KOMENTARZ

Please enter your comment!
Please enter your name here