Wpis z mikrobloga

10 rzeczy, których żałuję, że nie wiedziałem, gdy zaczynałem programować

1, Miniprojekty mogą przerodzić się w biznes

Każdy, kto lubi programować pisze swoje miniprojekty. Ja robiłem to dla zabawy i nauki nowych rzeczy (nadal to robię). Jednak nikt mi nie powiedział, że mogą one przerodzić się w realne biznesy. Gdybym to wiedział, to po pierwsze bym robił więcej mini projektów, a po drugie bym je doprowadzał do stanu, w którym inni mogą ich używać.

2, Można programować w wieku 35 lat

To może brzmieć absurdalnie. Ale gdy byłem młody i nie było dużo starszych programistów, sądziłem, że programistą można być tylko jak się jest młodym. Na szczęście okazało się, że to nieprawda. Jeśli się na bieżąco uczy nowych rzeczy i nie zamyka na rozwój, można programować jak długo się chce.

3, Bycie początkującym to przywilej

Gdy byłem początkującym programistą bardzo martwiłem się, gdy coś mi nie wychodziło i bardzo to przeżywałem. Jednak z perspektywy czasu widzę, że to normalne i nawet teraz po 20 latach zdarzają mi się błędy, pomyłki, czasem nie jestem czegoś w stanie rozwiązać, albo pojawia się jakiś niespodziewany problem z kodem. Jednak gdy jesteś początkujący, każdy wie, że nie wiesz prawie nic, że będziesz popełniał dużo błędów. Trzeba po prostu się nie poddawać i spokojnie iść powoli do przodu. Jak już jesteś doświadczony to się to bardziej przeżywa, bo “powinno się wiedzieć”.

4, Wąska specjalizacja to pułapka

Poświęciłem w swoim życiu parę lat na programowanie aplikacji mobilnych i desktopowych. Mógłbym wyspecjalizować się bardziej w desktopie. Ale to by była zła inwestycja, ponieważ teraz dużo aplikacji jest w sieci. Dogłębne poznawanie jakiejś technologii nie ma sensu w dłuższej perspektywie, bo zaraz inna technologia ją wyprze. I wtedy znajomość frameworka na pamięć nie będzie do niczego potrzebna. Może lepiej jest uczyć się koncepcji, oraz uczyć się “uczenia” niż poświęcać lata na coś, co stanie sie bezużyteczne.

5, Programiści potrafią być wredni

Akurat w całym swoim życiu zawodowym miałem i mam przyjemność pracy z bardzo ogarniętymi ludźmi. Ale też działam w różnych grupach wsparcia od właściwie początku mojej pasji. I zawsze zdarzało się, że w tych grupach pojawiały się czarne owce, albo niektóre grupy wręcz zniechęcały do programowania. Nie ma sensu przejmować się, co inni myślą. Jeśli na przykład zadasz pytanie na grupie i ktoś wyzwie Cię od idiotów, to nie znaczy, że wszyscy programiści tacy są. Po prostu trafiłeś na gościa, który sam nigdy nie doświadczył wsparcia i teraz sam nie umie go dać innym. Ostatecznie gdy zadasz nawet najgłupsze pytanie i uzyskasz w końcu pomoc, to jesteś do przodu. A ten, kto nie zadał nadal nie zna odpowiedzi. Programowanie wydaje się elitarnym zajęciem, ale to zawód jak każdy inny, mnóstwo super ludzi i trochę szumowin.

6, Nauka programowania nie jest najważniejsza

Ludzie, którzy programują spędzają mnóstwo czasu sam na sam z monitorem. Najbardziej cierpią na tym umiejętności komunikacyjne i interpersonalne. Sam wiem o tym i sam to obserwowałem. Rozmawianie o trudnych technicznych problemach, stresujących, pod presją czasem czasu to wyzwanie. Gdy jeszcze nie jest się ekspertem od komunikacji. To musi rodzić problemy. Dlatego paradoksalnie nauka nowego języka programowania, czy biblioteki nie jest najlepszym, co możesz zrobić dla zawodowego rozwoju. Warto poświęcić dużo czasu na poprawienie umiejętności miękkich. Nie mogę wystarczająco podkreślić, jak bardzo poprawia to pracę, swoją satysfakcję z niej, ale też jak bardzo wyróżni Cię nawet jako kandydata spośród innych ubiegających się o pracę.

7, Ani kasa ani rozwój nie jest najważniejszy

Generalnie z dyskusji, które wiedzę w sieci, kształtują się dwie postawy. Pierwsza to, aby zarabiać jak najwięcej w pierwszej pracy. To fajne zarabiać dużo. Ale nie ma co liczyć na kokosy w pierwszej pracy od początku. Kasa dopiero przyjdzie z czasem, jeśli będziesz się rozwijać. Poza tym, można dostać więcej kasy, ale to oznacza większe wymagania. Co jeśli im nie sprostasz? Jak wpłynie to na Twoją samoocenę na początku kariery zawodowej? Z drugiej strony niektórzy tak rozumując skupiają się na rozwoju. Biorą pracę nawet za niską kasę, ale która daje dużo rozwoju. Trochę bym się skłaniał ku temu, ponieważ inwestujesz w siebie długoterminowo. Ale tu też można trafić na pułapkę. Pułapkę ciągłego rozwijania się. Wybierasz sobie “bezpieczna” pracę, gdzie nie będzie za dużo presji. Niby się uczysz, ale nie masz satysfakcji. Idziesz do kolejnej i to się powtarza i nie możesz wyrwać z pętli. Dlatego uważam, że trzeba wyważyć to i nie stosować podejścia kasa jest najważniejsza, albo rozwój jest najważniejszy. Tylko coś pośrodku. Praca powinna dawać trochę tego i tego. Ale nie ma co oczekiwać, że da w 100% to i to. Praca to przede wszystkim praca.

8, Rozwiązuj więcej problemów niż tworzysz

Programowanie jest skomplikowane. Każdy ma swój sposób, jak coś zrobić. Jeden da spację przed klamrą, a drugi nie. Nie ma na to recepty. Jest za to mnóstwo uwarunkowań, które powodują, że są wybierane takie, a nie inne rozwiązania. I obojętnie ile kursów, studiów byś nie przerobił, może się okazać, że Twoi guru coś dla Ciebie uprościli, żebyś mógł się programowania nauczyć. I wtedy idziesz z taką teoretyczna wiedzą do pracy i okazuje się, że wszyscy robią wszystko źle. No i proponujesz przebudowanie wszystkiego. Ale nikt nie widzi potrzeby i przechodzi nad tym do porządku dziennego. To przykład, gdy można robić problemy, które są niepotrzebne. Czasem lepiej dowiedzieć się, czemu jakieś decyzje zostały podjęte, zamiast zakładać, że się wie lepiej. Będąc programistą jest mnóstwo sytuacji, gdzie możesz stworzyć problem, zamiast rozwiązać jakiś. Jednak bilans powinien być taki, że rozwiązujesz problemy zamiast je tworzyć. W sumie na tym polega Twoja praca…

9, Nie musisz *tego* znać, by być dobrym programistą

Gdy zaczynałem programować panowało przekonanie, że *dobry* programista powinien znać assemblera. Zobacz, gdzie teraz są ci dobrzy programiści. Nikt nie pisze w assemblerze. Później, że powinien rozumieć wskaźniki i operacje bitowe. Czy teraz ta wiedza jest potrzebna w większości przypadków? Później wyśmiewano się z PHP chociaż duża część sieci z niego korzysta. Kpiono z programowania w JavaScriptu, a stał się kamieniem węgielnym sieci jaką znamy. Non stop ktoś tam wymyśla, co trzeba znać, żeby być tym *lepszym*. Albo którzy programiści są gorsi. Jednak przeważnie to są błędne, źle motywowane twierdzenia. Nie ma co planować na nich swojego rozwoju.

10, Programowanie jest nadal fajne po 20 latach

Gdy zaczynałem marzyłem o programowaniu gier wideo. Mimo iż trochę ich napisałem, zająłem się programowaniem zawodowo czego innego. Jednak nie żałuję i nadal mam dużo satysfakcji z bycia programistą. Nigdy nie zakładałem zresztą, że będę programować całe życie. Ale spróbowałem i tak się stało, że robię to już dosyć długo. Nie urodziłem się programistą, bo nikt się nim nie rodzi. A jednak koduję. Nie miałem jakiś super predyspozycji w stylu liczenia w pamięci liczb binarnych, a jednak tu jestem. Programowanie jest naprawdę ciekawym zajęciem i życzę wszystkim, którzy zaczynają, by mieli motywacje by iść dalej.

Programowanie to przechodzenie od bugu do bugu bez nadmiernej utraty optymizmu :)

#programowanie #programista15k
tomaszs - 10 rzeczy, których żałuję, że nie wiedziałem, gdy zaczynałem programować

...

źródło: comment_A3Yk1hNh8lQohatxyxWDMxnbykponr8U.jpg

Pobierz
  • 11
  • Odpowiedz
@tomaszs: Sporo prawdy, ale są rzeczy z którymi bym mocno dyskutował

1. Miniprojekty mogą przerodzić się w biznes, ale szanse na to są super mizerne. Na każdego programistę którego miniprojekt przerodził się w biznes przypada tysiące (a może i dziesiątki tysięcy) takich którym się nie udało. Dobrze robić mini projekty bo to pewne przybliżenie prawdziwej pracy nad jakimś "produktem", ale nie należy żyć nadzieją że będzie z tego biznes.

2. i 3. Absolutnie
  • Odpowiedz
@tomaszs:

1. Miniprojekty mogą przerodzić się w biznes


Jest na to szansa, ale bardzo, bardzo mała. Jednak to fakt - lepiej zachęcać ludzi do tworzenia czegoś kreatywnego, niż kolejnej to-do listy czy biblioteki w ramach nauki. Tak samo ważne jest powiedzenie:
"Better done
  • Odpowiedz
Tylko że teraz przesadzą się w drugą stronę i od dawana to już nie jest wymaganie bycia komunikatywnym, tylko przebojowym, wygadanym gościem, nawet jeżeli jest to sprzeczne z czyimś charakterem i powoduje dyskomfort. Totalnie nie kupuję tego trendu na robienie ekstrawertycznych programistów i gardzenie introwertyzmem, jak gdyby to było coś złego.

Moim zdaniem umiejętności miękkie powinny być tak samo ważne jak twarde. Aczkolwiek obecnie panuje trend na kult umiejętności miękkich kosztem twardych,
  • Odpowiedz
via Wykop Mobilny (Android)
  • 4
@tomaszs: moje zasady, których młody człowiek może nie pojąć, a tym bardziej młody człowiek, który zaczyna zarabiać kokosy:
Praca to nie wszystko
Pieniądze to nie wszystko
Programowanie jest tak samo ważne jak drożne rury kanalizacyjne

Pozdro programiści, nie hejtujcie.
Simula coder here (po godzinach)
  • Odpowiedz