Od zera do butkampera challenge!

5

Cześć wszystkim,
w związku z tym, że pracuje w serwisie komputerowym i składam PCety na zamówienie, to sporo grzebię w necie na temat komputerów, przez co reklam butkampów wyświetla mi się wszędzie srylion. Znam opinię programistów na temat butkampów, natomiast postanowiłem sprawdzić, co oferuje jedna z mocniej reklamujących się szkół programowania.
I teraz tak szkoła CodersLab chwali się, że w cenie 14 900zł dostajemy prawie 570 godzin kursu. Super tzn. 26 zł za godzinę! tanio tanio. No dobra, ale zagłębiając się w harmonogram szkolenia, okazuje się, że praca z nauczycielami czy też grupami ludzi to tylko 360 godzin, reszta to "nauka własna". Generalnie ok. wiadomo, że swoje projekty trzeba pisać z grubsza samemu, natomiast tak naprawdę "naukę własną" można sobie samemu za 0zł przygotować. Tzn. generalnie płacimy 41 zł za godzinę kursu nie 26. Do tego jest to praca w grupach, tak więc indywidualnego podejścia nauczyciela do każdego kursanta raczej nie zobaczymy.

Urodził mi się pomysł, aby w 650 godzin przerobić ten sam materiał albo bardzo zbliżony we własnym zakresie, poszukałem trochę materiałów, z których mogę się uczyć i niedawno zacząłem.
Innymi słowy, robię wyzwanie, od 0 do butkampera w 650 godzin! Jaki jest cel tego? Ano taki by pokazać często zdesperowanym ludziom, że butkamp za 15k, to strata kasy i można się uczyć we własnym zakresie równie skutecznie.

Główne założenia:

  1. Budżet na książki i kursy 500zł.
  2. Uczę się 2 godziny dziennie, praktycznie codziennie z małymi wyjątkami jak coś wypadnie.
  3. Kończę wyzwanie z początkiem lipa 2022.
  4. Staram się iść na kilka rozmów o pracę / ewentualnie odbyć kilka udawanych rozmów o pracę z feedbackiem jak mi poszło i czy jestem na poziomie butkampowca :)

Czego chcę się nauczyć w rok:

Poznać podstawy programowania w języku python dzięki książce - "Automatyzacja nudnych zadań z pythonem - wydanie 2"
Poznać podstawy baz danych, znalazłem bardzo przyjemną pozycję z głupią nazwą co prawda, ale fajnie się przerabia - "SQL w mgnieniu oka - wydanie V"
Poznać podstawy zasad działania programów komputerowych i generalnie komputerów i sieci komputerowych wraz z książką - "zrozumieć programowanie"
Dalej przymierzę się do książki - "Zaawansowany Python. Jasne, zwięzłe i efektywne programowanie"
Podstawy algorytmów - "Algorytmy. Ilustrowany przewodnik"
A na koniec zacznę się uczyć Django ( jeszcze nie wybrałem z jakiego źródła, na ten moment nie ma to znaczenia.

Wiem, że materiału jest za dużo, tak więc będę wybierał co ważniejsze rzeczy, np. nie będę robić 10 "projektów z książki, które wykorzystują wiedzę z pierwszych 10 rozdziałów. Zrobię kilka i dalej będę robić swoje projekty w oparciu o wiedzę, którą zdobyłem.

Metoda nauki:
Przez 1 miesiąc przerabiam 1,5h pythona i 30-40min SQL'a
Do każdej pozycji istotniej w książkach robię notatki w postaci pytań o dana rzecz (czasem jest to pytanie a czasem zadanie, żeby coś zaprogramować). I co 3 dni staram się odpowiadać na te pytania, testując swoją pamięć. Gdy nie udaje mi się rozwiązać jakiegoś problemu przez dłuższy czas, sprawdzam rozwiązanie, staram się zapamiętać schemat rozwiązania, a nie samo rozwiązanie (robię notatki).
Po miesiącu robię sobie sam egzamin z notatek zapisanych w postaci pytań. Jeśli większość zagadnień będę rozumiał to pora na 1 "większy" projekt czas na realizacje projektu będzie wynosić 7 dni. Do realizacji projektu, postaram się wykorzystać praktycznie wszystko, czego się do tej pory dowiedziałem + jeśli coś będzie mi dodatkowo potrzebne, do realizacji projektu to wiadomo, dokumentacja.

I tak co miesiąc, zmieniając oczywiście proporcje i tematy nauki w zależności od przerabianego materiału.

Dodatkowo w tym wątku pewnie będę zamieszczać właśnie linki do moich "projektów" z prośbą o krytykę i zwrócenie uwagi jak coś mógłbym zrobić lepiej. Generalnie zależy mi na jak najszybszym feedbacku, aby nie powielać swoich błędów i jak najszybciej je eliminować.

Podsumowując, życzcie mi powodzenia!

PS. Nie myślę nad zmianą pracy, robię to głównie 4fun. Jeśli serio przez te 650 godzin, nauczę się tyle, aby móc pracować jako junior to super, jeśli nie to mniej super, ale też super. W końcu uczę się czegoś nowego!

10

Życzę szczerze powodzenia, ale mogłeś ten temat założyć po np. miesiącu, a najlepiej trzech, bo trochę już takich sytuacji tu było, na ogół na tym pierwszym poście się kończyło ;).

I tak serio powodzenia, to nie było napisane po to żeby załagodzić to co po ale :P

3

Bootcampowicze, to pewnie by chcieli, żeby im ktoś młotkiem do głowy wbił tą wiedzę, w końcu płacą 15 koła XD

Niemniej jednak 2 godziny dziennie to mało. Mi się zdażyło 4 godziny buga szukać w toku nauki :p
Tylko nie przerabiaj cały rok kursów, bo tak naprawdę nie nauczysz się niczego. Ja na początku robiłem jakieś kursy, ale jak zobaczyłem, że po 4h kursie mam problem z napisaniem trzech własnych linijek, to zwątpiłem.

Ogólnie ja bym nie ustalał żadnych sztywnych ram czasowych, bo piszesz o 7 dniach na 'większy' projekt co daje 14 godzin. W tyle, to nic poważnego nie zrobisz.

1

Jak stoisz z angielskim? Bo to też należy uwzględniać. A przez rok można fajnie nadrobić pewne ewentualne braki.

Tzn. generalnie płacimy 41 zł za godzinę kursu nie 26. Do tego jest to praca w grupach, tak więc indywidualnego podejścia nauczyciela do każdego kursanta raczej nie zobaczymy.

To ma sens, bo trudno oczekiwać indywidualnego podejścia za 41zł / h.

2

Z doświadczenia, co prawda skromnego wiem, że ustalanie na sztywno czasów na zrobienie czegoś lubi się rozjeżdżać :P Niespodziewany bug lub walka z biblioteką (bo coś działa inaczej niż się wydawało) i już mamy obsuwę. Ja np. założyłem, że spoko będzie użyć programiku X do przetestowania czegoś. Na początku było ok, ale po krótkim czasie okazało się, że coś jednak nie pasuje i musiałem szukać zamiennika. Wziąłem inny program, niby spoko, ale znowu po drodze coś wyszło czego wcześniej nie przewidziałem, bo niby skąd (z Piątnicy? #pdk) i zacząłem od nowa. Obecnie sprawdzam kolejny program i na razie wydaje się robić to co ma.

Wracając do tematu nauki. Ciekawi mnie jaki masz plan odnośnie powtórek. Ja np. mam wiele rzeczy, które kiedyś raz napisałem (rozwiązałem problem), ale nie pamiętam tych rozwiązań, bo nigdy nie potrzebowałem do tego wracać. Gdybym ponownie miał zrobić coś identycznego to albo skopiowałbym stare rozwiązanie albo na nowo się uczył :P W sumie ciekawi mnie jak podchodzą do tego inni, gdyż może ja jestem ułomny bardziej niż mi się wydaje, że jestem.

Na koniec odnośnie książki "zrozumieć programowanie". Słyszałem (nie wiem czy prawda), że to bardziej książka pod niskopoziomowe sprawy, trzeba dobrze ogarniać C z tymi strasznymi assembler-related rzeczami i to bardziej pozycja dla koksów niż nowicjuszy. Ktoś się wypowie?

0

@revenger:
Co do powtórek, to pomysł jest taki, aby co 3 dni odpowiadać na notatki. Tzn., dzień 13 powtarzam materiał z dnia nr 10. Dodatkowo, jeśli mi to nie wychodzi, przerabiam ten materiał raz jeszcze, tak aby go zapamiętać. Każdą powtórkę staram się wykonać, nawet jeśli po 3 dniach jest idealnie to jeszcze przynajmniej 1-2 razy. Notatki do powtórek piszę w mniej więcej ten sposób:
Dzień x
Python

  1. napisz program, który wyświetla 8 gwiazdek i przesuwa je po konsoli o maksymalnie 20 wierszy, gdy to zrobi, gwiazdki mają zacząć wracać do początku linii. Wykorzystaj do tego x y z.
    w ten sposób, nawet jeśli powtórzę to tylko 2x, za każdym razem pewnie inaczej troszkę ten kod napisze, przez co mam nadzieję, jest większa szansa, gdy napotkam podobny problem, to będę wstanie przypomnieć sobie rozwiązanie problemu, a raczej jego schemat. Bo w końcu nie ma co się uczyć, przepisywać kodu tylko trzeba rozumieć, co się robi i jak to działa (tzn. ja mam takie podejście).
    A jakby tego było mało, to kolejną rzeczą bardzo popularną u ludzi jest zachowanie typu "chyba rozumiem, bo mi raz wyszło, więc idę dalej". Staram się sobie zadawać kilka pytań do każdego zagadnienia i testować coś, co niby rozumiem, na wszystkie sposoby, które mi tylko do głowy przyjdą. Wraz ze zrozumieniem przychodzi też pamięć.

Co więcej, przy powtarzaniu materiału nie zaglądam do książek, zostało to udowodnione, że przypominanie sobie z pamięci tego, czego się uczyłeś, jest dużo skuteczniejsze jeśli chodzi o zapamiętywanie niż próba przypomnienia - 10 sec - sprawdzenie w książce/ dokumentacji. Metoda upierdliwa, pewnie frustrująca, ale skuteczna.

0

@Dzikiwąż: A to nie jest tak, że powinieneś nauczyć się samego rozwiązywania problemów i jak to robić, a nie rozwiązywania konkretnego problemu?

0

Moim zdaniem to wszystko bez sensu. Książki typu "SQL w mgnieniu oka" to można przekartkować w dwa wieczory, a nie rozkładać na tygodnie nauki. Postaw sobie cel co tak naprawdę chcesz osiągnąć bo ja jako administrator pomagam sobie właśnie pythonem przy automatyzacji pewnych zdań (ale już do serwerów Windows używam powershella), ale to nie są typowe zadania dla programisty, a jak rozumiem nim chcesz chyba zostać. Zacznij pisać np. program do obsługi wypożyczalni samochodów równocześnie ucząc się i rozwiązując konkretne problemy. Ostrzegam jednak, że w takich "domowych" projektach nie zdobędziesz całej wiedzy potrzebnej przy komercyjnym programowania (nie ta skala i nie masz wielu problemów zaczynając od organizacji pracy zespołu, poprzez analizę projektu kończąc na testach i wydajności)

0

Popieram i trzymam kciuki!

A jeszcze mocniej będę trzymał kciuki jakbyś napisał tu jakąś fajną konfigurację do 5k PCta (z monitorem) do programowania. Wyrobi się w tym budżecie czy bardziej 10k trzeba szykować?

1

@cw:
tzn. przekartkować pewnie tak, staram się po prostu ćwiczyć to co kartuje i dlatego rozłożyłem sobie to na jakiś czas. Co do pisania programów typu wypożyczalnia samochodów, to po to chcę realizować sobie różne projekty. Generalnie wezmę sobie Twoje uwagi do serca. Miesiąc dokończę zgodnie z planem, jeśli zobaczę, że faktycznie przy realizacji projektu domowego, nauczyłem się 3x więcej niż przy przerabianiu książki w tym samym czasie, to zmienię podejście. O takich rzeczach też będę w tym temacie pisał ;) Co do tego czy chce zostać programistą, to odpowiem całkiem szczerze, nie wiem.
Nie wiem na ile mi się to spodoba, na ten moment chce wykonać jakieś tam wyzwanie zgodnie z pewnymi założeniami (które w trakcie nauki będę optymalizować). Jak po roku stwierdzę, że to jest super i chce w tym pracować, to będę kontynuować naukę / szukać bardziej "agresywnie" pracy. Jeśli nie to skończę na kilku rozmowach, nawet z forumowiczami jeśli ktoś zechce mnie "egzaminować" do pracy na niby ^_^.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0