Cezary Walenciuk Programowanie

KlawiszeNarzędzie NR.10Skróty klawiszowe. Pora zmierzyć się z prawdą i zadać sobie pytanie :

”Czy ja rzeczywiście korzystam ze skrótu klawiszowego jak ALT-CTRL-K, a potem ALT-CTRL-L”

Kto normalny by pamiętał skróty klawiszowe, które jeszcze wymagają kombinacji poprzedniego klawisza.

Na pomoc przychodzą jednak specjalne klawisze, które za Ciebie kliknąć złażoną kombinacje klawiszy za Ciebie. Jak jednak te specjalne klawisze wyczarować? Kupić specjalną klawiaturę z takimi magicznymi klawiszami jak G1…G10.

A może by tak kupić specjalną klawiaturę do tego. To jest fascynujący problem.

Czy nie byłoby to wspaniałe mieć specjalne klawisze które :

  • Odpalają odpowiednią stronę www
  • Uruchamiają odpowiedni program
  • Uruchamiają określoną linie poleceń
  • Piszą określoną frazę
  • Za ciebie uderzają skomplikowane skróty klawiszowe
  • Odtwarzają dźwięk

Jak jednak zrobić to tanio i wygodnie?

Pobierz z YTNarzędzie NR.8Od wielu wielu lat zawsze się zastanawiałem jak pobierać filmy z YouTube. Przez lata instalowałem wiele dodatków do przeglądarki. Przez wiele lat instalowałem na swoim komputerze wiele programów by tą zawartość pobierać. Przez wiele lat szukałem stron, które pozwalają mi pobierać zawartości z YouTube

Ale…

...

To wszystko było irytujące.

Dodatki do przeglądarek przestają działać, bo polityka Google tego widocznie zabrania. Wiele programów na komputer stara się coraz bardziej nieznośna i każe sobie płacić. Strony, gdy pobierasz coś z  YouTuba chcą przy okazji wyświetlić Ci tonę reklam i jeszcze narzekają, że masz AdBlocka zainstalowanego.

Jak też pobierać całe playlisty? Mam ręcznie wpisywać adresy URL każdego klipu do magicznych pól tekstowych pobieraczy?

4Developers 4Developers konferencja, na której miałem okazje być dwa razy jako uczestnik teraz dla mnie osiągnęła nowy wymiar. W lutym stwierdziłem, a co tam zgłoszę pomysł na prelekcję i przynajmniej spróbuje. Nie przypuszczałem jednak, że uda mi się przejść przez proces weryfikacji . W końcu zrobiłem wszystko na ostatnią chwilę.

4Developers nie zmieniło się przez lata. Jednak już na start widziałem mega poprawę w organizacji. Gdy jednak pojawiłem się w budynku zobaczyłem, że dumne panie, które ogarniały bardzo dobrze pojawiający się tłum z biletami.

Pierwszy raz na 4Developers nie stałem w kolejce. Co więcej, udało mi się zarejestrować pomimo tego, że zapomniałem o wydrukowaniu biletu.

WDINa targach Warszawski Dni Informatyki byłem prelegentem, wystawcą swojego pracodawcy oraz także zwykłym człowiekiem.Na prelekcji sala była pełna i pytałem się ludzi przed wystąpieniem jak i po czego oczekują – czy spełniłem ich cele.

Według niektórych widać, że mam za sobą poważny warsztat mówcy dzięki Toastmasters. Widziałem , że inni znani prelegenci popełniają także błędy w stylu :

- za mała czcionka na slajdzie
- przedłużanie prelekcji i wykraczanie poza czas
- brak chwytaków raz na jakiś czas by publiczność nie spała

Ja też nie byłem idealny, ale głos ludu powiedział mi, że byli zadowoleni.Dla takich momentów warto prowadzi bloga i było ćwiczyć przemawianie.

Najlepszy rarytasem tej konferencji dla mnie okazali się ludzie. Zwykli programiści, którzy kojarzą moją twarz, ponieważ prowadzę bloga.  Każdy z nich miał ciekawą historię.

Jako studenci mają ambitne plany i pomysły życiowe.

Ćwiczą ciekawe sporty . Narzekają na JavaScript. Mają swoje sposoby na siedzący tryb życia.

Był także koleś, który jest po procesie przebranżowienia się z studenta medycyny na programistę. Śmiesznie wyszło, że właśnie z nim poruszyłem temat, że może już jestem za stary na to wszystko.

Na konferencji także byli licealiści, którzy zastanawiają się jak ułożyć sobie przyszłość.

Nie było osoby na tej konferencji, z którą nie mogłem pogadać o ciekawych rzeczach. Były momenty, w których myślałem, że łezka mi popłynie ze szczęścia

Po latach przemawiania w Toastmasters i w grupach programistycznych te 2 dni zapamiętam bardzo dobrze.

ZimnoRada 3 Jeden z moich znajomych w ostatnim czasie zaczął morsować. Z każdym tygodniem wyglądał on na coraz to szczęśliwszego . Stwierdziłem, że dopóki jest sezon zimowy to też skorzystam. Kąpiel w zimnej wodze w okresie zimy jest sportem ekstremalnym. Wydaje się to dziwne, ale taka forma spędzenia wolnego czasu ma dużo zwolenników.

Rozbierasz się do prawie naga. Przyzwyczajasz się do zimna na dworze, a potem przez 60 sekund absorbujesz zimną wodę.

CmderNarzędzie NR.7 W dzisiejszym świecie bardzo często korzystamy z wiersza poleceń. Git i GitHub. Obecne technologie JavaScript wymagają dużo klepania w wierszu poleceń. AngularCLI, React, VueJs, NMP.

Nie mówiąc już o pracy z ,NET Core, który też ma swój wiersz poleceń. Jest to dobra alternatywa dla całego środowiska Visual Studio. 

 

W Windows mamy także Chocolatey zbiór skryptów instalacyjnych różnych programów.  

Na co dzień też może korzystasz z PowerShell-a .

Jest tego trochę. Bez wiersza poleceń w dzisiejszym świecie prawie nic nie zrobisz.

VsCode  W poprzednim wpisie dokonaliśmy fuzji aplikacji ASP.NET Core z Angular. Stworzyliśmy hybrydę aplikacji MVC  z SPA Angular. Jak podobny proces wyglądałby, gdybyśmy jednak chcieli do tego użyć Visual Studio Code.

Tym razem przy pomocy ASP.NET Core 2 stworzę aplikację REST, która zwróci mi listę gier. Angular pobierze te dane z usługi i wyświetli je na stronie.

Nie będę korzystał z gotowego szablonu ASP.NET Core 2 z Angular. Stworzymy wszystko od podstaw.

Fuzja Jako programista, który pracuje z najnowszymi trendami to oczywiste, że chcesz użyć Angular w swoich projektach ASP.NET.  Angular w przeciwieństwie do bibliotek jak jQuery wymaga wielu kroków. Czasy ściągania plików JS ze stron internetowych dawno minęły.

Te same kroki powinny działać nie tylko do aplikacji ASP.NET Core 2. Jest możliwe dołączenie Angulara do każdej aplikacji ASP.NET nawet do Web Forms. Ja jednak się skupię tylko na najnowszej odsłonie ASP.NET.

PornoRada 2 Każda przyjemność jest wspaniała…jednakże fatalnym pomysłem jest ustawiania życia na takie hedonistyczne wartości. Zapytaj się narkomana jak dążenie do przyjemności pomogło mu w życiu. Zapytaj się alkoholika jak picie pomogło mu zapomnieć o jego problemach. Zapytaj się hazardzisty, jaką przyjemność czerpie z tego, że nie ma pieniędzy.

Ludzie, którzy kierują swoją energię na powierzchniowe przyjemności ostatecznie są pełni lęku i niestabilni emocjonalnie.

Świat oczywiście został stworzony tak, by te powierzchniowe przyjemności spełniać  i zapychać czarne luki w życiu. Jest to łatwe i daje to innym ludziom pieniądze.

OpenSpaceAktywny NR.9 Otwarta przestrzeń. Każda duża firma ma dużo pracowników. Każdy pracownik lub grupa pracownicza nie może mieć swojego pomieszczenia. Dlaczego więc ich wszystkich nie wrzucić do jednego gigantycznego  pomieszczenia? Bez ścian. Bez barier.  W tym gigantycznym pomieszczeniu jest obok kuchnia, toaleta oraz wyście z tego pokoju. Czy w takim pomieszczeniu można efektywnie pracować?

 

Oczywiście, że nie. Ludzie bez przerwy wchodzą i wychodzą. Korzystają z toalety lub kuchni. To jednak nic. Najgorszym problemem pomieszczeń Open Space są dyskusje przy biurkach pracowniczych. Poziom hałasu w promieniu 6 metrów wzrasta trzykrotnie.  

ZdrowieRada 1 Może wydawać Ci się nieco dziwne czytanie wpisu na temat siłowni na blogu programistycznym. Nie ma jednak w tym nic dziwnego. Stereotyp programisty wiesz, jaki jest. To chudy bądź gruby karzeł z białą koszulką i okularkami.

Stereotypy to wielka bzdura. Pisałem o tym wcześniej. Jednak tak, jak ja być może myślisz i ty. Czyli ćwiczenia i siłownia to nie dla ciebie. Ja też tak myślałem.

 

Extensions Na tym blogu to prawie już tradycja by zrobić wpis na temat dodatków do Visual Studio. Tym razem jednak przyjrzałem się dokładnie dodatkom do edytora Visual Studio Code.

Wpis urósł do kosmicznych rozmiarów. Nie będę jednak ukrywał, że na wypadek re-instalacji systemu Windows warto by było zrobić sobie gigantyczny skrypt instalacyjny wszystkich potrzebnych dodatków. 

Linki do dodatków są podpięte do obrazków. Postanowiłem także na końcu każdej sekcji dodać komendy instalacyjne, które można wykonać w Wierszu poleceń bądź w terminalu Visual Studio Code

Java

Maven Na potrzeby poprzedniego wpisu musiałem zainstalować Maven. Maven jest to narzędzie stworzone do zarządzania projektami Javy. Maven potrafi ściągać szablony projektów Javy – kompilować je oraz nawet tworzyć dokumentacje.

W świecie programowania bardzo stało się popularne tworzenie wszystkiego przy pomocy komend tekstowych. Nic dziwnego, że takie narzędzie jest także w środowisku Javy.

Instalacja tego narzędzia w Windows jest bardzo złożona. Postanowiłem więc napisać o tym wpis.

Trzeba pobrać zawartość Maven ze strony http://maven.apache.org/download.cgi i wypakować w folderze, w którym chciałbyś aby Maven się znajdował.

To oczywiście nie wszystko. Jest trochę zabawy z ustawieniem zmiennych środowiskowych w systemie Windows.

VsCode Java Visual Studio Code całkiem niedawno ogłosił możliwość edytowania kod Javy. Jak jednak to wygląda w rzeczywistości. Zawodowo nie programuje w Javie, ale na potrzeby bloga czasami chce sprawdzić proste fragmenty kodu Javy. Przykładowo robiłem to dla cyklu na blogu o tytule “C# i Java: Porównanie składni i szybkie przypomnienie”.

Istnieje dużo artykułów a nawet prelekcji mówiących o tym jak Visual Studio Code z Javą jest cudowne i wspaniałe. Rzeczywistość jest jednak trochę inna. Otóż rozpoczęcie pracy nie było dla mnie takie intuicyjne. W pewnym momencie nawet chciałem się podać, ponieważ nie ma artykułu, który krok po kroku pokazał co trzeba zrobić by to wszystko działało.

Według blogów i filmików odpalasz Visual Studio Code przy folderze z projektu Javą i wszystko magicznie działa. Co, jednak jeśli chcesz zacząć pracę od zera. Co, jeśli świat Javy nie jest ci znany?

Chciałbym ci pokazać tą krótką podróż. Jak mi się udało stworzy środowisko pracy w Visual Studio Code do pracy z Javą oraz jak zrobić prosty szablon projektowy.

Zanim zaczniesz musisz do Visual Studio Code pobrać następujące dodatki.

NPM TaskNr. 4 Teraz gdy transkompilujemy kod JavaScript przy użyciu Babel  oraz wprowadziliśmy modułowość do naszej aplikacji JavaScript przy użyciu Webpack rodzi się to, co nam jeszcze zostało?

Mam jeszcze mały problem z usystematyzowaniem tego wszystkiego do jednego polecenia. Osoba, która pobierze naszą aplikację przykładowo może nie wiedzieć, że musi uruchomić polecenie webpack.

Dlatego w środowiskach pracy JavaScript powstała idea by uruchamiać to wszystko jako zadania.

W naszej aplikacji mamy proces budujący naszą aplikację. Chcielibyśmy by ten proces budujący wykonywał nasze polecenie webpack oraz inne polecenia, które by zminimalizowały kod, zoptymalizowały zdjęcia, przetłumaczyły pliki SASS na CSS i inne.

To, że obecnie w naszej aplikacji ich nie ma wcale nie znaczy, że one nie wystąpią.

BabelNr. 3 Transpiling to jest fachowe określenie procesu konwersji z jednego kodu na drugi. Oba kody jednak posługują się podobnym językiem. Jest to ważna część pracy współczesnego webdevelopera.

Po co istnieją narzędzia tłumaczące JavaScript na inny kod JavaScript? Problem leży w przeglądarkach oraz w różnych wersjach JavaScript.

Przeglądarki nie są w stanie gonić najnowszych wersji języka JavaScript i być zawsze na czasie. Z drugiej strony pewne nowe funkcjonalności w samym JavaScript, ale w wyższej wersji bardzo ułatwiają kodowanie.

Nie jest to nic nowego. Dla styli CSS mamy takie rozszerzenia jak LESS i Sass, które potrafią generować lepsze i bardziej złożone style CSS.

Dla JavaScript kiedyś najbardziej popularnym transpilatorem był CoffeScript. Dziś ludzie używają albo transpilatora Babel lub TypeScript. Istnieją też różnice pomiędzy nimi.

CoffeScript starał się ulepszyć JavaScript swoją własną składnią. Opcjonalne nawiasy, białe znaki i tak dalej.

Babel nie tworzy nowej składni dla JavaScript. Kompiluje najnowszy kod JavaScript do starszej wersji, która jest rozumiana przez wszystkie przeglądarki.

WebpackNr. 2 Większość języków programowania posiada swój sposób na importowanie kodu z jednego pliku do drugiego. JavaScript oryginalnie nie posiadał takiej funkcjonalności i nie został stworzony z myślą, aby taka funkcjonalność była. JavaScript z założenia powinna być uruchamiana tylko z poziomu przeglądarki bez dostępu do plików z komputera użytkownika przeglądarki.

Dlatego jak do tej pory kod JavaScript był organizowany w wielu plikach. Każda funkcjonalność była współdzielona dzięki zmiennym globalnym.

Skrypty NPMNr. 1 Nauka JavaScript obecnie jest trudna. Zwłaszcza jeśli nie analizowałeś tego, co się działo przez ostatnie 3 lata. Ekosystem, liczba narzędzi ciągle rośnie. Ekosystem i narzędzia ciągle się zmieniają. Powoduje to brak zrozumienia, co właściwie ten ekosystem robi? Jakie problemy narzędzia rozwiązują, skoro ktoś stwierdził, że muszą one powstać.

JavaScript już dawno nie jest językiem służącym do prostej obsługi elementów strony jak slidery.

Rok temu napisałem ten wpis, w którym nabijałem się trochę z tego, że JavaScript i jego narzędzia stały się absurdalnie trudne i skomplikowane do tego stopnia, że same początki i pierwsze kroki wydają się wyprawami na księżyc.

Dla kogoś, kto zacząć pracę z JavaScript albo nauczył się budować strony internetowe od podstaw, to wszystko to wydaje się żywym koszmarem. Sam, mimo iż mam już 6 lat doświadczenia skaczę po tutorialach i uczę się z nich fragmentów współczesnego JavaScript. Problem polega na tym jednak, że te tutoriale często wymagają jakiejś wiedzy bazowej.

Dlatego zaczynając swoją przygodę z JavaScript czułem, że krążę w kółko tak długo, aż wszystko będzie miało sens jako całość.

Postanowiłem więc stworzyć ten wpis czytelniku byś ty nie miał takich problemów. Zacznijmy więc od podstaw i rozwiążmy problemy inkrementalnie tak, aby zrozumieć co my właściwie robimy.

VS ReactSzablon 3 React.js jest to popularny framework JavaScript stworzony przez Facebook. Visual Studio Code nie potrzebuje żadnych dodatków aby mieć Intellisense do React.

Jest to trzeci wpis z cyklu “jak zacząć z gotowym szablonem”. W poprzednich wpisach  omówiłem jak zacząć pracę z Vue.js i Angular. Teraz przyszedł na trzeciego tytana, czyli React.js.

Vs VueSzablon 2 W poprzednim wpisie pokazałem jak szybko zacząć pracę z Angular i Visual Studio Code. Obecnie jednak istnieje wiele innych popularnych framework-ów javascript. Jednym z nich jest Vue.js. Jest on dużo prostszy niż Angular i React.js. Dlatego często jest wybierany jako alternatywa.

Zobaczmy więc jak łatwo z nim przygotować środowisko do pracy nad pierwszą aplikacją Vue.js

Vue.js podobnie jak Angular i React używa komponentów, routingu i itp. Jego zaletą jest fakt, że sam sobie nie dodaje mnóstwa bibliotek. Zamiast tego później wybierasz z czego chcesz korzystać.  Przykładowo, jeśli chcesz korzystać  z menadżera stanów, to go instalujesz.

Vue.js powstał więc z myślą o szybkości. Ten fakt dotyczy też  tego, że nie wciska ci wszystkich funkcjonalności za jednym zamachem .

VS AngularSzablon 1 Jak zacząć naukę z Angular 5 i wyżej? Po pierwsze trzeba wybrać edytor. Ja wybrałem Visual Studio Code. Jest to bardzo dobry edytor, który jest dostępny na wielu platformach nie tylko Windows. Wcześniej na blogu przygotowałem osobny wpis na temat Visual Studio Code.

Jako programista .NET odniosłem też wrażenie, że programowanie w Visual Studio Code, jeśli chodzi o współczesne aplikacje JavaScript jest bardziej wygodne niż Visual Studio.

Współczesne frameworki JavaScript jak: Angular, React.js wymagają sporego przygotowania środowiska. To może być bardzo duża pigułka do połknięcia. Zrozumienie, co muszę zainstalować i jakie komendy uruchomić, nie było łatwym doświadczeniem.

Wszystko po to, aby uruchomić aplikację z gotowym szablonem.

Prelekcja Miałem okazje całkiem niedawno zrobić prezentacje na targach pracy IT w Warszawie. Dobrze było zobaczyć innych prelegentów IT jak Konrad Koksa. Mogłem też po raz kolejny zobaczyć mowę inspirującą Łukasza Jakubiaka, którą widziałem już 3 razy  w kolejnej przerobionej formie. Widziałem jego przemówienia na festiwalach inspiracji – konferencji koncentrujących się na jak sama nazwa wskazuje “inspiracji”.

Tablice W większości języków programowania tablica reprezentuje układ elementów przypisanych do odpowiedniego adresu w pamięci komputera. W JavaScript tablice takie nie są.

W JavaScript tablica to prosty obiekt zachowujący się jak tablica poprzez wbudowane metody.

Tablice w JavaScript są wolniejsze niż zwykłe tablice. Tablice w JavaScript nie są też używane przez nas prawidłowo. Istnieją w nich pewne pułapki. Musimy się ich wystrzegać. Jak się jednak czegoś ustrzec, gdy się tego nie zna. Oto lista

PodstwowyJavaScript…JavaScript ostatnie lata swojej kariery zawodowej poświęciłem na pracę ze starym kodem JavaScript.

JavaScript nie jest na pewno idealnym językiem programowania. JavaScript zawiera dziwne pułapki, na które każdy programista wpada. Czasem te pułapki są oczywiste, a czasem nie.

W tym wpisie omówię podstawowe zjadacze serc programistów, które zapewne już znasz. Krótkie ich omówienie jednak na pewno oszczędzi Ci wiele bólów głowy.

SOAP XML WCF służy do  tworzenie usług sieciowych w .NET . ASP.NET MVC fantastycznie nadaje się do tworzenia aplikacji sieciowych REST. Co znaczy, że WCF w  wypadku usług typu REST nie jest  już tak bardzo potrzebny. Ma on jednak wciąż swoje miejsce w rodzinie .NET jako framework do tworzenia usług typu SOAP.

 

Protokół SOAP został stworzony przez Microsoft i mimo swojej nazwy nie jest jednak taki prosty jak mydło.  SOAP wysyła wiadomości wyłącznie w formacie XML. Microsoft stworzył SOAP z myślą o zastąpieniu jeszcze starszych technologii jak DCOM,  czy protokołów binarnych przekazu informacji, jak np. CORBA. (Common Object Request Broker Architecture).  

SOAP dostał swój standard i śmiało można z niego korzystać nawet dziś. Główną jego zaletą jest  większe bezpieczeństwo niż w usługach typu REST. Posiada też wbudowaną obsługę błędów. 

SOAP w swoich komunikatach zwrotnych, jak i zapytaniach wymaga dużej ilości informacji w formacie XML. Komunikaty więc są dużo pojemniejsze niż w usługach REST. Co więcej, przez to skomplikowanie powstała idea, aby na podstawie pliku WSDL tworzyć obiekty klas w Javie i w C#, które później za nas zostały przetłumaczone na odpowiedzi lub zapytania XML do usługi SOAP.

Taki styl programowania jest preferowany. Pisanie swojego kodu wysyłającego XML do usługi wydaje się dodatkową pracą, ale czy zawsze tak jest?

WCF I IISMasz nową maszynę testujesz aplikację WCF na swoim serwerze IIS i… i nic bo leci błąd 404.3 – no found.

W czym jest problem?

IIS w ogóle nie wiem jak interpretować plik SVC. Dlaczego tak jest?

Nie masz zainstalowanego WCF w swoim systemie operacyjnym.

SOAP UINarzędzie NR.6 Jak testować swoją aplikację SOAP lub REST? Pisząc swojego klienta? Korzystając z mało intuicyjnych narzędzi  Visual Studio? Teraz nie ma już takiej potrzeby!

Wystarczy skorzystać z narzędzia SoapUI.

SoapUI to fantastyczne narzędzie i szczerze żałuje, że nie poznałem go wcześniej. Służy mi ono jednak od 3 lat jako doskonały tester usług sieciowych.

ŚnijSerce NR.8 Marzenia. Gdzie ja by był teraz, gdyby nie miał swojego marzenia o byciu programistą albo o byciu mówcą.  Bez marzenia o pisaniu bloga nie byłoby tego tekstu.

Marzenia są ważne dla każdego, a zwłaszcza dla programistów. Ostatnio zauważyłem u siebie, że moje umysły analityczne i krytyczne działa aż za dobrze. 

Każdy nowy pomysł zostaje zabijany w momencie jego powstania.

Niestety nie jest to dobre. Ostatecznie nic nowego w moje głowie nie powstało od jakiegoś czasu. Brak pomysłu oznacza brak motywacji, a brak motywacji oznacza brak działania, a brak działania oznacza lenistwo i nudę.

Teraz jak patrzę za siebie, na swoje marzenia widzę jak, to wszystko było szalone. Przemawianie jako człowiek, który boi się ludzi. Programowanie jako ktoś, kto ledwo rozumie pętlę w PASCALU. Pisanie bloga jako dyslektyk.

Żadne z moim marzeń nie miało sensu. Mogłem te pomysły zabić w momencie ich tworzenia i teraz być jakąś sierotą, która mieszka z mamą w małym mieście jak Biała Podlaska.

SellZarobki NR.5 Co tak naprawdę określa nasz status społeczny. Materialne przedmioty, czy to, co mamy w środku i kim jesteśmy. Czy marzenia, zwłaszcza te materialne nie mają swojej ciemnej natury? Wszystko ma swoją ciemną stronę, nawet  każdy zakupiony przedmiot.

Każdy zakupiony przedmiot zajmuje  miejsce. Każdy przedmiot zabiera energię lub ją oddaje.

 

Każdy przedmiot pochłania twoją uwagę, nawet na poziomie podświadomości. 

Reklamy nam mówią, że szczęście można kupić. Niestety prawda jest zupełnie  inna. Każdy przedmiot wiąże się ze stresem - ze stresem, że to, co kiedyś zakupiliśmy w końcu się zepsuje. Pamiętam jak nowo zakupiona AMIGA 1200 zepsuła się po tygodniu użytkowania. Strata pieniędzy i złamane serce moich dziecięcych marzeń po raz drugi.  Przedmioty więc nie powinny określać naszego samopoczucia. Jest to złudne.

Przekonałem się o tym w brutalny sposób. 

W filmie Fight Club Tyler Durden mówi ostro : “Rzeczy, które posiadasz w końcu zawładną tobą”. Moim zdaniem każdy z nas ma rzeczy, które nie są mu potrzebne a utrudniają mu życie.

PytaniaPyt NR.1 Cześć! Dzisiaj postanowiłem napisać coś na temat rozmów kwalifikacyjnych. Ludzie prosili mnie o to, od kiedy napisałem wpis na temat szukania pracy w Warszawie po raz pierwszy. Ciekawa lektura dla tych, którzy skończyli studia inżynierskie i szukają pracy w wielkim mieście.

Przejdźmy jednak do pytań. Bo jakie pytania możesz dostać szukając po raz pierwszy pracy jako programista. Jeśli więc szykujesz się rozmowę mam nadzieję, że to ci pomoże.

Pytania są banalne. Postanowiłem na razie opisać te najbardziej oczywiste.

DebugowanieAktywny NR.8 Jestem programistą od 5 lat i pracując – zwłaszcza przy aplikacjach legacy zdałem sobie sprawę jak ważne jest debugowanie kodu. Można by powiedzieć, że debugowanie kodu jest ważniejsze niż jego pisanie. Nie ma co ukrywać w dużych firmach bardziej dbamy o gotowe aplikacje niż pisanie nowych.

Nie ma co ukrywać to będzie główne zajęcie w twojej karierze. Jak jednak tę aktywność zamienić w produktywność.

Debugowanie kodu to nie sztuka.  Debugowanie kodu to cierpienie. Trzeba jednak znaleźć swoją drogą w tym wszystkim.

PłuapkiPyt NR.1 Pamiętam swoje pierwsze przygody z językiem C# i swoje błędy. Pamiętam jak z kolegą pisaliśmy algorytm ewolucyjny i zastanawialiśmy się, dlaczego mamy przepełnienie stosu. Zdecydowanie wtedy obaj o czymś zapomnieliśmy.  Często zdarzało mi się zapomnieć, że istnieją inne kolekcję w C# niż tablice. Korzystałem więc z tablic, bo przy nich czułem się bezpiecznie i to one były najczęściej używane na zajęciach.

Jak widać nie byłem takim zdolnym programistą w czasach studenckich. Postanowiłem więc zrobić listę pospolitych pomyłek nowicjusza.

MobbingKariera NR.16 Praca programisty wydaje się rajem. Obecnie na LinkedIn prawie codziennie ktoś wysyła do mnie wiadomość z ofertą pracy. GoldenLine ostatnio zaczął mi spamować pocztę z ofertami niby dopasowanymi do mnie. Otrzymuję też wyszukiwane oferty związane z blogiem.

Sytuacja ta trwa już od roku i czuję się bezpiecznie. Żyjąc w Warszawie prawdopodobnie byłbym w stanie znaleźć nową pracę w przeciągu 1 dnia.

Ofert pracy jest dużo. Programistów z doświadczeniem jest niewielu. Pracodawcy więc się starają i stają na głowie aby pokazać, że mają lepsze warunki pracy od konkurencji. Nic tylko się cieszyć.

Wcale jednak nie znaczy, że raj programistyczny jest wszędzie i dla każdego. Mobbing w pracy programisty istnieje. Nikt nie mówi o tym głośnio, bo jest to wstydliwy temat dla ofiary. Pomyśl ile codziennie generujemy pozytywnych historii sukcesu, gdzie wszystko się udaje. Gdzie każdy może znaleźć pracę w ciągu jednego dnia. Gdzie to pracodawca rozwija przed nami swój czerwony dywan.

ZmianaKariera NR.15 Czasami przychodzi czas by zmienić pracę. To smutne, ale prawdziwe. Czasami praca, którą obecnie wykonujemy nie daje już nam tego płomienia.

Może jesteś szczęśliwym pracującym człowiekiem i współpracownicy są mili. Możesz pracować w domu, możesz pisać na temat technologii i kodów. Nie zawsze tak jest, ale warto to docenić. Naprawdę zmiana pracy to poważna decyzja, która będzie miała wpływ na to, jak będziesz spędzał swój czas między 8-16.

KrętaczKariera NR.14 Zanim opiszę ten problem warto zaznaczyć ważny punkt.

Programowanie jest niezwykłe trudne. Nie ma skrótów  do zostania jakimkolwiek programistą. Inteligencja, mądrość, śmiałość, ciężka praca, popełnianie błędów, uczenie się na podstawie tych błędów. Programowanie to także umiejętność nauki i przyswajania wiedzy z różnych źródeł.

Niestety są ludzie, którzy wierzą w skróty. To będzie o nich.

ChceszList NR.9 Witam. Mam na imię ****** i jestem osobą dosyć młodą. W tym roku kończę 18 lat. Chodzę to technikum informatycznego, w którym żadnych problemów nie mam.

Chciałbym zacząć przygodę z programowaniem. Pomimo, że zostały mi jeszcze 2 lata nauki już myślę o studiach programistycznych. Wiedzę przyswajam dosyć łatwo chociaż zależy to od przedmiotu i rodzaju wiedzy. Tylko nie wiem od czego zacząć .

Czym zajmować się na początku. Czego uczyć się pierwszego i czego w następnej kolejności. Chciałbym prosić o poradę dotyczącą początków z programowaniem.

Gorzej Programowanie mogłoby być gorsze? Programowanie wciąż przechodzi swoją ewolucję. Narzędzia, języki, biblioteki nie są idealne. Mimo to warto być wdzięcznym za to, co mamy. Łatwo narzekać na obecne czasy, gdy człowiek nie jest świadomy tego, jak programowanie wyglądało kiedyś. 

Każdy miał swoje najgorsze doświadczenia. Każdy ma swój najgorszy język programowania? Warto jednak się zastanowić i rozszerzyć swoją perspektywę.

Co to znaczy najgorsze doświadczenie? Co to znaczy najgorszy język programowania?

Ś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.

PominięcieKariera NR.12 Raz na jakiś czas pojawiają się nowe: Język programowania, Framework, Metodologia.

Zdobywają one potem popularność jak wszystko dzisiaj. Strach czujemy od zawsze na temat jednego problemu. Co, jeśli przegapię tę falę i moje zdolności przestaną być użyteczne na rynku pracy. Nikt nie chce być starym dziadem.

Świat JavaScript powędrował z takim butem w 2016 roku, że osobiście zacząłem kwestionować, czy zasługuje na tytuł web developera.

Dynamic C# 4.0 przedstawił nowy typ “dynamic”. Istnieje on już od pewnego czasu, ale pytanie, dlaczego nie jest tak często używany? Odpowiedź jest oczywiście prosta, ponieważ słowo kluczowe dynamic przydaje się w wybiórczych przykładach.

Przykładowo typ dynamic jest używany do wiązania danych na samym dnie C#. Kiedyś te operacje wykonywały się na napisach bądź obiekcie System.Object, teraz to wszystko wędruje do dynamicznej zmiennej, która może określać wszystko.

Dynamic też przyda się bardzo przy operacjach z bibliotekami COM. COM w końcu to system, który jest w połowie dynamiczny. Wiele metod COM zwraca więc dynamiczny obiekt. Przed C# 4.0 zostawał zwracany obiekt, co trochę komplikowało sprawę. Trzeba było wtedy rzutować i zgadywać czym ten obiekt jest. 

W sumie tak samo jest z typem dynamic, ale jeśli mam pewność, że wszystkie obiekty umieszczone w tym typie zawsze będą miały tę jedną wspólną właściwość, to wszystko jest w porządku.  Właściwie typ mnie nie interesuje bardziej zakładam, że dana właściwość lub pole pojawią się bez względu na wszystko. 

PierwszyList NR.8 Hej,

Mam pytanie blogerskie - co było lub co jest Twoim problemem numer 1? Co było najtrudniejsze na początku? I jakie było rozwiązanie tego problemu?

Chodzi mi o kwestie techniczne, jak i wizualne, czy też te związane z czytelnikami.

 

[Koniec listu]

Jaki był problem numer jeden? Ciężko wybrać jedną przeszkodzę w tworzeniu tego bloga. Myślę, że będzie dobrze jak poruszę parę kwestii. 

Jest Moc Nadszedł czas, aby poszerzyć swoją wiedzę na temat C#. Istnieje kilka ciekawych funkcjonalności, które mogą ci ułatwić pracę z kodem

Raz na jakiś czas warto odnowić swoją wiedzę.

KsiążkiKariera NR.11 Każdy kiedyś zaczynał swoją przygodę z programowaniem. W roku 2010 kupiłem wiele książek do C#, ASP.NET i wiele z nich okazało się niestety śmieciem niewartym nawet papieru toaletowego.

Na początku roku 2016 zrobiłem wielki porządek w domu i wyrzuciłem niektóre książki na makulaturę.  Nie ma sensu takich książek trzymać. Chociaż przyznam, że niektóre z nich służyły mi za podstawkę do telewizora.

Dlaczego piszę o tym, że warto się zastanowić jakie książki kupujemy, a nawet ściągamy. Ostatecznie bezużyteczna książka zabiera nam czas i tworzy pewien chaos.

Pokażę więc niektóre z tych książek, które kupiłem w 2010 roku, a które bardziej mi przeszkodziły na ścieżce kariery niż pomogły.

WypalenieSerce NR.7 Większość z nas podchodzi do nowego projektu z wielkim entuzjazmem. Niestety z czasem ta pasja gaśnie i wywołuje u nas różne formy obrzydzenia. Większość ludzi nazywa ten stan wypaleniem. Czym ono jednak jest? Zwłaszcza w branży programistycznej.

W swojej karierze zawodowej liczącej już 5 lat wydaje mi się, że wypaliłem się co najmniej ze 3 razy. Nie liczę wszystkich przypadków, ponieważ uważam, że są one w większości czymś normalnym.

Jak się w ogóle wypalamy.

2017 JS Jak się uczymy JavaScriptu? A raczej czym jest dzisiaj JavaScript. To jest dobre pytanie, ponieważ w ostatnich latach znowu dużo się zmieniło i, mimo iż staram się śledzić nowinki mam wrażenie, że zaspałem jakieś 2 lata.

Jak się okazuje 2 lata to bardzo dużo w tej branży i jak się okazuje, znam na tyle dobrze JavaScript, by wykonywać swoją pracę, ale czy znam na tyle dobrze JavaScript, aby nie zgubić się w dzisiejszym świecie. Nie jestem futurystą (nie mam tego demona), ale co robić, gdy przyszłość zlewa się z teraźniejszością bez przerwy w świecie programowania w JavaScript.

Programuję w C# i strony internetowe nie są moją główną działką, ale jestem w szoku z faktem co się obecnie dzieje.

Zadaję sobie pytanie czy ty jesteś web developer na czasie. Ja piszę ten wpis w  grudniu w roku 2016, ale dla JavaScriptu technicznie jest już 2017. Szkoda, że to nie może biec jeszcze szybciej.

PracoholizmSerce NR.6 W poprzednich wpisach mówiłem o tym, jak ważna jest ciężka praca. Z tą ciężką pracą wiąże się także pewien problem. Problem, który jest zawszę osobisty i emocjonalny. Praca jest fundamentem każdego sukcesu, ale może się też stać narzędziem do walki z problemami innego rodzaju. Dlatego, aby wszystko miało sens muszę zacząć od swojej historii.

 

Rok 2016 nie był dla mnie przyjemnym rokiem. W roku 2015 zacząłem kwestionować swoje marzenia o byciu mówcą oraz “dobrym” programistą.  Rok 2014 był nowym początkiem i również końcem wielu nieprzyjemnych przygód. Rok 2013 był emocjonalną kolejką pomiędzy ludźmi, których wtedy znałem.

W każdym roku pojawiała się jakaś “sprawa”, która zmuszała mnie aby iść dalej, a z nią jakaś forma pracoholizmu. Później ten pracoholizm przemienił się w bombardowanie się różnymi zajęciami tak, abym mógł czymś zająć swój umysł.

Praca więc stała się formą  lekarstwa na głębsze problemy. Pracoholizm nie wydaje się wielkim problemem, dopóki te lata ucieczki nie zaczną się odbijać na tobie w inny sposób.

ASP.NET CORE ASP.NET Core w końcu grzebał się ze swojej wersji beta i istnieje w wersji 1.0.X. Czy warto się nim zainteresować? Na pewno, ponieważ wprowadza dużo zmian do frameworku ASP.NET MVC.

Udało się zebrać 11 powodów za tym frameworkiem, więc jest dużo zmian na lepsze. Z drugiej strony warto też pamiętać, że jest to wersja 1.0.X i ciężko stwierdzić czy framework dobrze by sobie poradził w środowisku produkcyjnym wielkiej firmy.

Moim zdaniem jednak warto zacząć swoją przygodę z programowaniem w ASP.NET Core, ponieważ ta technologia szybko dojrzeje i na pewno nie zostanie skasowana bądź zastąpiona czymś nowym.

Do przodu Czas na podsumowanie roku 2016. Jeśli chodzi o prelekcje to w tym roku okazało się, że moje marzenie o byciu mówcą, który jeździ po kraju i przemawia ma swój potencjał. Jestem z tego faktu bardzo szczęśliwy, bo mobilizuje mnie to do jeszcze większego wysiłku. W roku 2015 moje prelekcje średnio mi wychodziły i zacząłem mieć wątpliwości.

Dziś widzę u siebie postęp.

W końcu moje doświadczenia z Toastmasters przełożyły się na wystąpienia publiczne dla programistów.  Aby bardziej zmotywować się do dalszych działań postanowiłem stworzyć listę moich wystąpień z  roku 2016.

Postanowiłem nie dodawać do listy konwentów fantastyki Polkon i Pyrkon, ponieważ tam nie przemawiałem. W liście prelekcji, czyli mów także nie uwzględniłem wystąpień w klubach Toastmasters. Gdybym to zrobił to ta lista urosłaby dwukrotnie. Technicznie licząc od czerwca, to w każdy poniedziałek w klubie Toastmasters Vistula Leaders udzielałem się w jakiś sposób.

Gdzie więc byłem i przemawiałem w roku 2016.

Currying howCzęść NR.8 W poprzednim wpisie widzieliśmy przykłady jak Currying działa. Przykłady te były opisane na zmiennych zadeklarowanych, albo jako anonimowe metody, albo jako wyrażenia lambda. Zmieniliśmy te funkcje do postaci łańcucha wywołań funkcji, które przyjmują zawsze tylko jeden parametr.

Jak to jednak by wyglądało w C# , w kontekście klas. Jak mieć metodę Currying w stylu języków funkcjonalnych.

Jakie ja napotkałem problemy pisząc ten prosty przykład edukacyjny.

CurryingCzęść NR.7 Gdzie leży serce programowania funkcjonalnego. Oczywiście w jego funkcjach, które są składową większego algorytmu. Haskell Curry był matematykiem i to od niego wywodzi się termin Currying, jak i cały język programowania Haskell.

Currying sprawia, że jesteśmy w stanie zobaczyć wszystkie funkcje jako funkcje jednoparametrowe bez względu na to, ile parametrów tak naprawdę potrzebujemy do wyliczeń i działania.

Jak to jest możliwe? Przecież gdzieś te parametry muszą być? Jest to jednak prostsze niż się wydaje.

Otwiera nas to na dzielenie aplikacji  na mniejsze elementy. Jest to jedna z głównych esencji każdego języka funkcjonalnego.  Jak to wygląda w C#, który do końca nie jest językiem funkcjonalnym.

RekurecjaCzęść NR.9 W funkcjonalnych językach programowania rekurencja jest narzędziem z dużą tradycją. Wiele oryginalnych języków funkcjonalnych nie miało konstrukcji pętli. W takich wypadkach była używana rekurencja.

Obecnie wiele języków funkcjonalnych ma definicję pętli w swojej składni.

Nie zmienia to jednak faktu, że rekurencja wciąż jest używana przez wielu programistów.

Future C# Czy warto uczyć się C#? Oczywiście język dojrzał i – co więcej – czeka na niego świetlana przyszłość.

C# ma już 16 lat. Przy pomocy C# możemy tworzyć strony internetowe, aplikacje na Androida, iOS i aplikacje na Windows 10. Mam też aplikacje na systemy Windows jak Windows Forms i WPF. Do tego stosu też można dodać usługi Windows, które działają w tle systemu.

Na koniec możemy wspomnieć o aplikacjach na systemy Office i SharpPoint.

StereotypSerce NR.5 Programista ma pewien swój stereotyp. Nie ma w tym nic złego. Moim zdaniem każdy z nas powinien mieć dystans do siebie. Dlatego umiem żartować nawet z siebie. Same dowcipy o programistach nie są więc takie szkodliwe.

Tak jak wszystko inne, definicja programisty ma pewien swój szablon, do którego inni, a także i my sami się umieszczamy.

No wiecie, że programista ma koszulę w kratę. Ma zapewne okulary, bo oślepł od monitora. Zna się na komputerach, ale nie ma pojęcia jak rozmawiać z ludźmi.

Tak siebie postrzegamy i tak mogą postrzegać nas inni ludzie, którzy z programowaniem nie mają styczności. Nie widać w tym niczego złego, dopóki nie zjawią się osoby, które zaginają ten stereotyp do absurdu na sposób negatywny.

Stereotyp nie opisuje prawdy. To, że jesteś programistą wcale nie znaczy automatycznie, że jesteś gruby i oglądasz Start Treka, albo grasz w gry z mistrzem gry.

Niestety są ludzie, którzy programistę od razu zaszufladkują jako: ciamajdę, brzydala, ciepłe kluchy, socjalnego idiotę i tak dalej. Programista jest wtedy wiązany ze stereotypem nerda.

CreateCzęść NR.6 Pomówmy o wyrażeniach drzewiastych raz jeszcze. Wyrażenia drzewiaste są naprawdę potężnym narzędziem, ponieważ traktują kod jak dane. W poprzednim wpisie przyjrzeliśmy się jak wyrażenia drzewiaste są zbudowane i jak je wykorzystać.

W tym wpisie skoncentrujemy się na tworzeniu wyrażeń, jak i ich zmianie.

Tematyka ta jest dosyć obszerna dlatego postanowiłem przygotować tylko parę ciekawych przykładów, które wykazują pewną użyteczność tworzenia dynamicznych wyrażeń.

Zaufanie?Kariera NR.10 Lojalność wobec pracodawcy. Dla programistów to śliski temat. Wiem co sobie myślisz, że napiszę, że szefa trzeba szanować i być wobec niego sprawiedliwym.

Muszę ci przyznać rację, bo rzeczywiście warto tak się zachowywać wobec swojego pracodawcy. Twoja lojalność oczywiście może też być użyta przeciwko tobie, dlatego też opiszę gdzie leżą jej granice.

Nie każdy pracodawca okaże się złym i będzie chciał cię wykorzystywać. Możesz znaleźć takich pracodawców i wobec takich twoje zachowanie powinno być podobne, jak nie nawet lepsze.

Dlatego nie szantażuj i nie rób nieczystych zagrywek, nawet dla swojego dobra.

DekoratorWzór.1 Dekorator. Śmiało mogę powiedzieć, że jest to jeden z najważniejszych wzorców projektowych. Można powiedzieć, że jest on prawie częścią każdego systemu, ponieważ nie ma co ukrywać, jest on pożyteczny i użyteczny nawet do dzisiaj.

Dekorator pozwala dodać istniejącej klasie nowe zachowanie.  Nie zmienia on jednak działanie klasy podstawowej. Oznacza to, że spełnia następujące zasady S.O.L.I.D:

 

  • pojedynczej odpowiedzialności
  • zasady otwartej-zamkniętej

Dekorator, jak i jego klasa bazowa mają tylko jedno zadanie. Dekorator pozwala nawet rozbić zachowanie klas, jeśli widzisz, że te rozbicie jest potrzebne. W tym przykładzie to pokażę.

Chciałbyś się zapewne nauczyć tego wzorca. Zamiast tego przyjrzymy się przykładzie Pizzy. Kod jest do pobranie na końcu artykułu.

Wyobraź sobie, że masz następujący zestaw klas.

MiłośćSerce NR.4 Niedługo będę miał 5 lat doświadczenia zawodowego i mogę się do czegoś przyznać. W swojej karierze miałem dużo momentów, w których moja pasja do programowania prawie umarła.

W takich chwilach czasem się zastanawiam, dlaczego w ogóle lubię programować albo – co gorsza – lubiłem. Wiele razy moja miłość była wystawiana na próbę.

Wiele razy byłem tak wypalony, że rzygałem na samą myśl uruchomienia Visual Studio. Miłość, pasja dobrze ją mieć, ale i ona ma swoje reguły i zasady.

Nie możesz wrzucić serca do jakiejś magicznej maszyny tylko po to, by dostać jakiś wydruk pieniężny. A może właśnie tak trzeba. Przecież za pisanie hobbistycznego kodu nie dostaniesz kasy?

Tags Ostatnio ulepszając swojego bloga miałem proste zadanie. Chciałem przy pomocy swoich własnych znaczników modyfikować tekst w postach.

Nie jest to nic odkrywczego. Blog WordPress ma dużo swoich własny znaczników i tagów, które mają ułatwić ci wstawanie n.p filmików z YouTube albo TED-a.

Ten blog jest napisany w C# przez mnie, a to znaczy, że jeśli czegoś w nim nie ma to znaczy, że muszę to napisać.

ICommandCzęść.2 W poprzednim wpisie stworzyliśmy prostą aplikację WPF, która implementuje Inversion of Control przy pomocy kontenera Castle.Windosor.

Przykład był prosty, ponieważ na końcu powiązaliśmy tylko odpowiednie właściwości do odpowiednich etykiet.

 

Czas jednak zabrać ten przykład na wyższy poziom, gdyż napiszemy kod, który powiąże metody z odpowiednimi przyciskami,

Aby to zrobić będę musiał mieć klasy implementujące interfejs ICommand. Jak to jednak zrobić w miarę dobrze?

Na początku też zaznaczę, że postanowiłem zignorować fakt, że techniki związane z ICommand posiadają pewien specyficzny styl przesyłania parametrów, jak i rezultatu działania metod.

ThreadingCzęść NR.5 Jak można wykorzystać programowanie aspektowe w pożyteczny sposób?

Interceptory mogą się przydać przy tworzeniu nowych wątków. Pisząc aplikację w WPF lub Windows Forms łatwo zauważyć tę sytuację. Podczas wykonywania jakiejś długiej czynności w kodzie możesz zauważyć, że cały wątek UI został zatrzymany. Oznacza to, że nie możesz ruszyć okna, nie możesz skrolować okna i nie możesz na nic klikać, bo cały wątek odpowiedzialny za to jest zajęty.

IOCCzęść.1 Analizując ruch na swoim blogu postanowiłem zrobić wpis na temat wstrzykiwania zależności i kontenerów IOC, czyli kontenerów Inversion of Control. Dzisiaj skoncentruję się na kontenerze Castle.Windsor, chociaż w przyszłości planuję także użyć Ninject.

Co zrobię w tym wpisie? Zainstaluję Castle.Windsor z NuGet i przygotuję aplikację WPF do nowej architektury.

Push on Tak jest panie i panowie ten blog, ten programistyczny ma 500 wpisów. Gdyby na początku ktoś mi powiedział, że ten prosty pomysł na bloga tak się rozwinie, to bym nie uwierzył. Były przerwy. Były wypalenia. Mimo to, ten moment się właśnie wydarzył.

Od 1 listopada po migracji na MiniBloga i moim powrocie na tym blogu były tylko 413 wpisy. Postanowiłem to nadrobić po moich ostatnich zawirowaniach życiowych. Jak na ironię nie miałem spokoju, ale uparłem się i udało mi się osiągnąć kolejny ważny poziom na tym blogu.

ŻycieAktywny NR.7Wielozadaniowość, czyli robinie wielu rzeczy równocześnie. Zapewne o tym coś słyszałeś. W końcu dobrze byłoby robić wiele czynności w tym samym momencie, aby zaoszczędzić czas. Oczywiście nie wygląda to tak pięknie, jak mogłoby się wydawać. Z drugiej strony wielozadaniowość “istnieje” i może być osiągnięta do pewnego stopnia.

Fakt wielowątkowość naszego umysłu jest bardzo ograniczona. Co więcej, nie każde zadanie może zostać wykonane równocześnie z innym.

Badani naukowe są jednak bezlitosne. Robienie kilku czynności równocześnie oczywiście obniża ich produktywność. Oznacza to, że pracując nad kilkoma rzeczami jednocześnie tylko oszukujemy siebie, że robimy coś lepiej.

PorażkaSerce NR.3 Czy masz serce programisty? Zaraz się przekonamy. Istnieje coś, co musisz mieć w swojej niematerialnej formie by przetrwać coś, czego ludzie boją się najbardziej. Porażki.

Moje życie to w pewnym sensie pasmo porażek. Moje pierwsze prezentacje IT pokazały jak bardzo boję się być na scenie.

Wiele razy jedno słowo przekreśliło cenną znajomość, która mogłaby dać mi w przyszłości lepszą ścieżkę rozwoju.

W życiu zawodowym wiele razy popełniłam błędy, które miały swoje konsekwencje.

Kiedyś ktoś powiedział mi prosto w twarz, że jestem żałosny, jeśli myślę, że kiedyś zostanę osobą, która może uczyć innych programowania.

Tyle tego jest. Popełniłem tyle błędów i odniosłem tyle porażek. Gdy przyjechałem do Warszawy nie byłem gotowy na nic. Nawet na sukces w postaci pracy, bo słuchałem przez wiele lat o tym, jak trudno znaleźć pracę i jak to w tym kraju jest mówiąc po młodzieżowemu zjebane.

KobietySerce NR.2 Co może się okazać największą zmorą programisty? Oczywiści jego życie prywatne, a mówiąc konkretnie, to chodzi kobiety. Wszystko wraca do stereotypu programisty, który jest nerdem i dziwakiem. Nie dotyczy to każdego z nas, ale jest to coś, o czym warto pomówić.

W internecie jest wiele memów na temat samotności, braku poczucia męskości i przysłowiowego walenia konia. Problem na pewno istnieje, skoro jest ciągle ośmieszany w postaci głupich obrazków. 

ŻycieSerce NR.1

Co może decydować o twoim sukcesie zawodowym? Ciężka praca? Spryt? Niestety nie tylko. To jak ci wychodzi w jednej sferze życia jest zależne także od innych sfer. Mówiąc krótko nie możesz być mistrzem programowania, jeśli ignorujesz życie osobiste lub go po prostu nie masz.

Praca to nie wszystko. Do normalnego funkcjonowania potrzebni ci są przyjaciele i chwile luzu niezwiązane z programowaniem, czy innym twoim hobby numer jeden.

Wiem, że w innych wpisach pisałem jak ważna jest ciężka praca, ale nie będziesz robił tego cały czas. Poza tym, co z tego, że osiągniesz sukces skoro emocjonalnie potem umrzesz bo zdasz sobie sprawę, że twoje życie prywatne nie istnieje.

Nie jesteś robotem i nawet nie próbuj nim zostać. Musisz się z tym pogodzić, że sukces w twoim życiu zawodowym nie przeniesie się na inne sfery życia i uczyni cię szczęśliwym człowiekiem.

Wszystkie Kategorie