Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[PL] Od zera do developera

[PL] Od zera do developera

karol.galanciak

June 22, 2016
Tweet

More Decks by karol.galanciak

Other Decks in Programming

Transcript

  1. Od zera do developera
    czyli jak zostać programistą bez studiowania informatyki
    Karol Galanciak
    Full Stack developer at
    Twitter: @Azdaroth
    Github: Azdaroth
    https://karolgalanciak.com

    View Slide

  2. Czy studia to jedyna słuszna
    droga?

    View Slide

  3. Skąd się tu wziąłem…

    View Slide

  4. Skąd się tu wziąłem…
    • Studiowałem nanotechnologię na Wydziale
    Chemicznym Politechniki Łódzkiej

    View Slide

  5. Skąd się tu wziąłem…
    • Studiowałem nanotechnologię na Wydziale
    Chemicznym Politechniki Łódzkiej
    • Programuję od lutego 2012

    View Slide

  6. Skąd się tu wziąłem…
    • Studiowałem nanotechnologię na Wydziale
    Chemicznym Politechniki Łódzkiej
    • Programuję od lutego 2012
    • Profesjonalnie od czerwca / lipca 2012 (koniec
    sesji letniej ;))

    View Slide

  7. Skąd taka zmiana?

    View Slide

  8. Skąd taka zmiana?
    • Środowisko akademickie nie sprostało mojej
    wyidealizowanej wizji

    View Slide

  9. Skąd taka zmiana?
    • Środowisko akademickie nijak się miało do mojej
    wyidealizowanej wizji
    • Wypalenie

    View Slide

  10. Burnout?

    View Slide

  11. Burnout…

    View Slide

  12. Skąd taka zmiana?
    • Środowisko akademickie nijak się miało do mojej
    wyidealizowanej wizji
    • Wypalenie
    • Chęć spróbowania czegoś innego

    View Slide

  13. Co znałem z programowania?

    View Slide

  14. Co znałem z programowania?
    • Podstawy HTML, CSS

    View Slide

  15. Co znałem z programowania?
    • Podstawy HTML, CSS
    • Podstawy PHP

    View Slide

  16. Początki z programowaniem

    View Slide

  17. Początki z programowaniem
    • Python

    View Slide

  18. Początki z programowaniem
    • Python
    • http://learnpythonthehardway.org

    View Slide

  19. Początki z programowaniem

    View Slide

  20. Co dalej?

    View Slide

  21. Co dalej?
    • Django framework

    View Slide

  22. Co dalej?
    • Django framework
    • Sklep internetowy od zera

    View Slide

  23. Wskazówki na początek

    View Slide

  24. Wskazówki na początek
    • Czytaj wszystko co się da (blogi, newslettery)

    View Slide

  25. Wskazówki na początek
    • Czytaj wszystko co się da (blogi, newslettery)
    • Google i StackOverflow to Twoi przyjaciele

    View Slide

  26. Wskazówki na początek
    • Czytaj wszystko co się da (blogi, newslettery)
    • Google i StackOverflow to Twoi przyjaciele
    • Znajdź mentora?

    View Slide

  27. Wskazówki na początek
    • Czytaj wszystko co się da o języku / frameworku /
    ekosystemie (blogi, newslettery, książki)
    • Google i StackOverflow to Twoi przyjaciele
    • Znajdź mentora?
    • Forum (np. https://forum.rubyonrails.pl)

    View Slide

  28. Wskazówki na początek
    • Czytaj wszystko co się da o języku / frameworku /
    ekosystemie (blogi, newslettery, książki)
    • Google i StackOverflow to Twoi przyjaciele
    • Znajdź mentora?
    • Forum (np. https://forum.rubyonrails.pl)
    • Czytaj kod pisany przez innych developerów

    View Slide

  29. Wskazówki na początek
    • Czytaj wszystko co się da o języku / frameworku /
    ekosystemie (blogi, newslettery, książki)
    • Google i StackOverflow to Twoi przyjaciele
    • Znajdź mentora?
    • Forum (np. https://forum.rubyonrails.pl)
    • Czytaj kod pisany przez innych developerów
    • Przyzwyczaj się, że jest masa rzeczy, których nie wiesz i
    wszystko nowe jest wyzwaniem

    View Slide

  30. Wskazówki na początek
    • Czytaj wszystko co się da o języku / frameworku / ekosystemie
    (blogi, newslettery, książki)
    • Google i StackOverflow to Twoi przyjaciele
    • Znajdź mentora?
    • Forum (np. https://forum.rubyonrails.pl)
    • Czytaj kod pisany przez innych developerów
    • Przyzwyczaj się, że jest masa rzeczy, których nie wiesz i wszystko
    nowe jest wyzwaniem
    • Jak najszybciej zajmij się kodowaniem profesjonalnie

    View Slide

  31. Początki profesjonalnego
    kodowania

    View Slide

  32. Początki profesjonalnego
    kodowania
    • Koniec czerwca / początek lipca 2012

    View Slide

  33. Początki profesjonalnego
    kodowania
    • Koniec czerwca / początek lipca 2012
    • Rubiego zacząłem się uczyć pod koniec maja,
    Railsów w czerwcu ;)

    View Slide

  34. Początki profesjonalnego
    kodowania
    • Koniec czerwca / początek lipca 2012
    • Rubiego zacząłem się uczyć pod koniec maja,
    Railsów w czerwcu ;)
    • Jak to się mogło udać?

    View Slide

  35. Jak zacząć programować
    profesjonalnie?

    View Slide

  36. Jak zacząć programować
    profesjonalnie?
    • Problem: brak backgroundu w IT, mała
    wiarygodność?

    View Slide

  37. Jak zacząć programować
    profesjonalnie?
    • Problem: brak backgroundu w IT, mała
    wiarygodność?
    • Znajomości (np. z LRUGa ;))

    View Slide

  38. Jak zacząć programować
    profesjonalnie?
    • Problem: brak backgroundu w IT, mała
    wiarygodność?
    • Znajomości (np. z LRUGa ;))
    • Na początku pieniądze nie mają żadnego
    znaczenia (staż za free też jest dobrą opcją)

    View Slide

  39. Jak zacząć programować
    profesjonalnie?
    • Problem: brak backgroundu w IT, mała
    wiarygodność?
    • Znajomości (np. z LRUGa ;))
    • Na początku pieniądze nie mają żadnego
    znaczenia (staż za free też jest dobrą opcją)
    • Priorytet: rozwój, wyrobienie sobie marki

    View Slide

  40. Jak wyglądało to u mnie?

    View Slide

  41. Jak wyglądało to u mnie?
    • Mały, samodzielny projekt

    View Slide

  42. Jak wyglądało to u mnie?
    • Mały, samodzielny projekt
    • Nastawienie przede wszystkim na rozwój

    View Slide

  43. Jak wyglądało to u mnie?
    • Mały, samodzielny projekt
    • Nastawienie przede wszystkim na rozwój
    • Lol, estymacje na początku

    View Slide

  44. Jak wyglądało to u mnie?
    • Mały, samodzielny projekt
    • Nastawienie przede wszystkim na rozwój
    • Lol, estymacje na początku
    • Więcej czytania tutoriali i czytania StackOverflow
    niż kodowania

    View Slide

  45. Jak wyglądało to u mnie?
    • Mały, samodzielny projekt
    • Nastawienie przede wszystkim na rozwój
    • Lol, estymacje na początku
    • Więcej czytania tutoriali i czytania StackOverflow
    niż kodowania
    • Po 2 tygodniach udało się skończyć pierwszy
    projekt ;)

    View Slide

  46. Jak wyglądało to u mnie?

    View Slide

  47. Jak wyglądało to u mnie?

    View Slide

  48. Jak wyglądało to u mnie?
    • Ale…

    View Slide

  49. Jak wyglądało to u mnie?
    • Ale…
    • Apkę trzeba zdeployować na VPSa

    View Slide

  50. Znajomość Linuxa do tej pory

    View Slide

  51. Znajomość Linuxa do tej pory
    • cd

    View Slide

  52. Znajomość Linuxa do tej pory
    • cd
    • mkdir

    View Slide

  53. Znajomość Linuxa do tej pory
    • cd
    • mkdir
    • mv

    View Slide

  54. Znajomość Linuxa do tej pory
    • cd
    • mkdir
    • mv
    • cp

    View Slide

  55. Znajomość Linuxa do tej pory
    • cd
    • mkdir
    • mv
    • cp
    • rm

    View Slide

  56. Znajomość Linuxa do tej pory
    • cd
    • mkdir
    • mv
    • cp
    • rm
    • sudo apt-get install

    View Slide

  57. Devops skillz?

    View Slide

  58. Devops skillz?

    View Slide

  59. Devops skillz

    View Slide

  60. Devops skillz
    • Udało się postawić serwer i zdeployować apkę
    po… 16h

    View Slide

  61. Devops skillz

    View Slide

  62. Cenne wnioski

    View Slide

  63. Cenne wnioski
    • Nie można bać się wyzwań

    View Slide

  64. Cenne wnioski
    • Nie można bać się wyzwań
    • Rób wszystko co możesz, żeby nauczyć się jak
    najwięcej

    View Slide

  65. Cenne wnioski
    • Nie można bać się wyzwań
    • Rób wszystko co możesz, żeby nauczyć się jak
    najwięcej
    • Nie przejmuj się, jeśli wydaje Ci się, że się nie
    nadajesz do programowania, miałem tak długo ;)

    View Slide

  66. Co dalej?

    View Slide

  67. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)

    View Slide

  68. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code
    reviews, exercism.io)

    View Slide

  69. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code
    reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się
    w któryś zaangażować

    View Slide

  70. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code
    reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się
    w któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie
    marki)

    View Slide

  71. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code
    reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w
    któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora
    później

    View Slide

  72. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code reviews,
    exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w
    któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora później
    • Priorytet: rozwój

    View Slide

  73. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code reviews,
    exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w któryś
    zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora później
    • Priorytet: rozwój
    • Ucz się innych języków: JavaScript, C, Elixir

    View Slide

  74. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora później
    • Priorytet: rozwój
    • Ucz się innych języków: JavaScript, C, Elixir
    • Nadrób zaległości z podstaw CS: algorytmy, struktury danych etc.

    View Slide

  75. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora później
    • Priorytet: rozwój
    • Ucz się innych języków: JavaScript, C, Elixir
    • Nadrób zaległości z podstaw CS: algorytmy, struktury danych etc.
    • Strzeż się Impostor Syndrome

    View Slide

  76. Co dalej?
    • Czytaj jak najwięcej! (książki, blogi, newslettery)
    • Konfrontuj swoją wiedzę (pair-programming, code reviews, exercism.io)
    • Czytaj kod opensourcowych projektów, spróbuj się w któryś zaangażować
    • Załóż bloga (najlepszy sposób na wyrobienie sobie marki)
    • Nie nastawiaj się na dużo $$$, na to przyjdzie pora później
    • Priorytet: rozwój
    • Ucz się innych języków: JavaScript, C, Elixir
    • Nadrób zaległości z podstaw CS: algorytmy, struktury danych etc.
    • Przeczytaj: https://karolgalanciak.com/blog/2015/07/12/embarking-on-
    programming-journey/ ;)

    View Slide

  77. Studia vs samodzielna nauka

    View Slide

  78. Studia vs samodzielna nauka
    • Studia:

    View Slide

  79. Studia vs samodzielna nauka
    • Studia:
    • (+) Lepszy background techniczny (podstawy)

    View Slide

  80. Studia vs samodzielna nauka
    • Studia:
    • (+) Lepszy background techniczny (podstawy)
    • (+) Znajomość zagadnień do których ciężko
    samemu usiąść

    View Slide

  81. Studia vs samodzielna nauka
    • Studia:
    • (+) Lepszy background techniczny (podstawy)
    • (+) Znajomość zagadnień do których ciężko
    samemu usiąść
    • (+) Łatwiejszy start w profesjonalnym
    programowaniu

    View Slide

  82. Studia vs samodzielna nauka
    • Studia:
    • (+) Lepszy background techniczny (podstawy)
    • (+) Znajomość zagadnień do których ciężko
    samemu usiąść
    • (+) Łatwiejszy start w profesjonalnym
    programowaniu
    • (-) Uczenie "od końca" (czy pisząc API do Railsowej
    apki potrzebujesz wiedzieć jak działa kompilator?)

    View Slide

  83. Studia vs samodzielna nauka
    • Studia:
    • (+) Lepszy background techniczny (podstawy)
    • (+) Znajomość zagadnień do których ciężko samemu usiąść
    • (+) Łatwiejszy start w profesjonalnym programowaniu
    • (-) Uczenie "od końca" (czy pisząc API do Railsowej apki
    potrzebujesz wiedzieć jak działa kompilator?)
    • (-) 3,5 roku studiowania - jeżeli nie pracujesz w trakcie
    studiów to tracisz dużo czasu

    View Slide

  84. Studia vs samodzielna nauka
    • Samodzielna nauka:

    View Slide

  85. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki

    View Slide

  86. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej
    interesuje

    View Slide

  87. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej
    interesuje
    • (+) Dużo szybsza możliwość rozwoju

    View Slide

  88. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej
    interesuje
    • (+) Dużo szybsza możliwość rozwoju
    • (+) Przyzwyczaja do wychodzenia z comfort-zone
    (wszystko jest wyzwaniem przed długi czas)

    View Slide

  89. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej interesuje
    • (+) Dużo szybsza możliwość rozwoju
    • (+) Przyzwyczaja do wychodzenia z comfort-zone
    (wszystko jest wyzwaniem przed długi czas)
    • (-) Wymaga dyscypliny

    View Slide

  90. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej interesuje
    • (+) Dużo szybsza możliwość rozwoju
    • (+) Przyzwyczaja do wychodzenia z comfort-zone (wszystko
    jest wyzwaniem przed długi czas)
    • (-) Wymaga dyscypliny
    • (-) Trzeba nadrobić kiedyś brak podstaw

    View Slide

  91. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej interesuje
    • (+) Dużo szybsza możliwość rozwoju
    • (+) Przyzwyczaja do wychodzenia z comfort-zone (wszystko jest
    wyzwaniem przed długi czas)
    • (-) Wymaga dyscypliny
    • (-) Trzeba nadrobić kiedyś brak podstaw
    • (-) Trudniejszy start (mniejsza wiarygodność)

    View Slide

  92. Studia vs samodzielna nauka
    • Samodzielna nauka:
    • (+) Ogromna efektywność nauki
    • (+) Można skupić się na tym, co Cię najbardziej interesuje
    • (+) Dużo szybsza możliwość rozwoju
    • (+) Przyzwyczaja do wychodzenia z comfort-zone (wszystko jest wyzwaniem przed
    długi czas)
    • (-) Wymaga dyscypliny
    • (-) Trzeba nadrobić kiedyś brak podstaw
    • (-) Trudniejszy start (mniejsza wiarygodność)
    • (-) Impostor Syndrome?

    View Slide

  93. Dzięki i powodzenia ;)

    View Slide