Przewodnik dla absolutnych nowicjuszy.
(Przyp. tłum.: to porady od autora- Hindusa, ale wydają się sensowne. Uzupełnijcie w komentarzach.)

Miesiąc to dużo czasu. Jeśli poświęcisz codziennie 6-7 godzin na naukę, możesz osiągnąć wiele.
Cel na miesiąc:
- Zapoznać się z podstawowymi pojęciami (zmienna, warunek, lista, pętla, funkcja)
- Opanować praktycznie ponad 30 problemów programowania
- Zbudować dwa projekty, aby zastosować nową wiedzę w praktyce
- Zapoznać się przynajmniej z dwoma frameworkami
- Rozpocząć pracę z IDE (środowiskiem programistycznym), Github, hostingiem, usługami itp.
Tak staniesz się młodszym programistą (junior) Python.
Teraz plan na tygodnie.
Artykuł został przetłumaczony przy wsparciu firmy EDISON Software, która , a także .
Pierwszy tydzień: zapoznaj się z Pythonem
Zrozum, jak wszystko działa w Pythonie. Sprawdź, jak najwięcej rzeczy.
- Dzień 1: 4 podstawowe koncepcje (4 godziny): wejście, wyjście, zmienna, warunki
- Dzień 2: 4 podstawowe koncepcje (5 godzin): lista, pętla for, pętla while, funkcja, importowanie modułów
- Dzień 3: Proste problemy programowania (5 godzin): zamienić miejscami dwie zmienne, przeliczyć stopnie Celsjusza na Fahrenheita, policzyć sumę wszystkich cyfr w liczbie, sprawdzić liczbę na pierwszość, wygenerować losową liczbę, usunąć duplikaty z listy
- Dzień 4: Problemy programowania średniej trudności (6 godzin): odwrócić łańcuch (sprawdzić na palindrom), policzyć największy wspólny dzielnik, połączyć dwie posortowane tablice, napisać grę w zgadywanie liczb, policzyć wiek itd.
- Dzień 5: Struktury danych (6 godzin): stos, kolejka, słownik, krotki, lista powiązana
- Dzień 6: OOP — Programowanie obiektowe (6 godzin): obiekt, klasa, metoda i konstruktor, dziedziczenie OOP
- Dzień 7: Algorytm (6 godzin): wyszukiwanie (liniowe i binarne), sortowanie (metodą bąbelkową, wyborem), funkcja rekurencyjna (silnia, szereg Fibonacciego), złożoność czasowa algorytmów (liniowych, kwadratowych, stałych)
Nie instaluj Pythona:
Rozumiem, brzmi to sprzecznie. Ale uwierz mi. Znam mnóstwo ludzi, którzy stracili wszelką chęć do nauki czegokolwiek po tym, jak nie mogli zainstalować środowiska programistycznego lub oprogramowania. Doradzam natychmiast zajrzeć do aplikacji na androida, jak lub na stronie i zacznij badać język. Nie stawiaj sobie za zadanie, aby na początku zainstalować Pythona, jeśli nie masz zbyt wielu umiejętności technicznych.
Drugi tydzień: zacznij rozwijać oprogramowanie (zbierz projekt)
Uzyskaj doświadczenie w programowaniu. Spróbuj wykorzystać wszystko, czego się nauczyłeś, aby stworzyć prawdziwy projekt.
- Dzień 1: Zapoznaj się ze środowiskiem programistycznym (5 godzin): Środowisko programistyczne to interaktywne środowisko, w którym będziesz pisać kod do największych projektów. Musisz dobrze znać przynajmniej jedno środowisko programistyczne. Polecam zacząć od lub Jupyter Notebook
- Dzień 2: Github (6 godzin): Poznaj , utwórz repozytorium. Spróbuj dodać, wypchnąć kod, obliczyć różnicę między dwoma dowolnymi drzewami Git. Zapoznaj się także z gałęziami, scalaniem i pull requestami.
- Dzień 3: Pierwszy projekt: Prosty Kalkulator (4 godziny): Zapoznaj się z Tkinter. .
- Dzień 4, 5, 6: Osobisty projekt (5 godzin dziennie): Wybierz jeden z projektów i zacznij nad nim pracować. Jeśli nie masz pomysłów na projekt, sprawdź tę listę:
- Dzień 7: Hosting (5 godzin): Zrozum serwer i hosting, aby . Skonfiguruj Heroku i wdroż swoje aplikacje.
Dlaczego projekt:
Samo ślepe podążanie za krokami w lekcji lub filmie nie rozwinie twojej umiejętności myślenia. Musisz zastosować swoją wiedzę w projekcie. Gdy tylko poświęcisz wszystkie siły na poszukiwanie odpowiedzi, zapamiętasz ją.
Trzeci tydzień: opanuj się jako programista
Twoim celem w 3. tygodniu jest uzyskanie ogólnego zrozumienia procesu tworzenia oprogramowania. Nie musisz doskonalić swoich umiejętności. Musisz jednak znać pewne podstawy, ponieważ wpłyną na twoją codzienną pracę.
- Dzień 1: Podstawy baz danych (6 godzin): Podstawowe zapytanie SQL (Create Table, Select, Where, Update), Funkcje SQL (Avg, Max, Count), relacyjna baza danych (Normalizacja), Wejście wewnętrzne, Wejście zewnętrzne itd.
- Dzień 2: Użyj baz danych w Pythonie (5 godzin): Wykorzystaj framework bazy danych (SQLite lub Pandas), połącz się z bazą danych, utwórz i dodaj dane do kilku tabel, odczytaj dane z tabeli.
- Dzień 3: API (5 godzin): Naucz się wywoływać API, zgłębić JSON, mikroserwisy, REST API.
- Dzień 4: Numpy (4 godziny): i przećwicz jego użycie w
- Dzień 5, 6: Portfolio strony (5 godzin dziennie): Naucz się Django, , również zerknij na framework Flask
- Dzień 7: Testy jednostkowe, logi, debugowanie (4 godziny): Zrozum testy jednostkowe (PyTest), naucz się pracować z logami i je sprawdzać oraz używaj punktów przerwania
Prawdziwa skala czasu (Sekret):
Jeśli naprawdę pasjonujesz się tym tematem i poświęcasz mu cały swój czas, możesz zrobić wszystko w miesiąc.
- Ucz się Pythona cały czas. Zacznij o 8 rano i rób to aż do 17. Weź przerwę na lunch i przekąski (łącznie godzina)
- O 8 rano sporządź listę rzeczy, które zamierzasz dzisiaj studiować. Następnie poświęć godzinę na przypomnienie sobie i przetestowanie wszystkiego, czego nauczyłeś się wczoraj.
- Od 9 rano do 12 ucz się i praktykuj mniej. Po obiedzie zwiększ tempo. Jeśli utkniesz na jakimś problemie, poszukaj jego rozwiązania w Internecie.
- Codziennie poświęcaj 4-5 godzin na naukę i 2-3 godziny na praktykę. (maksymalnie możesz pozwolić sobie na jeden dzień wolny w tygodniu)
- Twoi przyjaciele pomyślą, że jesteś szalony. Nie rozczarowuj ich – dostosuj się do wyobrażenia.
Jeśli pracujesz na pełny etat lub studiujesz na uniwersytecie, potrzebujesz więcej czasu. Jako student potrzebowałem 8 miesięcy, aby zrealizować wszystko z tej listy. Obecnie pracuję jako starszy programista. Mojej żonie, która pracuje w centralnym banku USA, zajęło pół roku, aby ukończyć wszystkie zadania z listy. Nieważne, ile czasu to zajmie. Ukończ listę.
Czwarty tydzień: podejmij to poważnie, aby zdobyć pracę (stażystę)
Twoim celem czwartego tygodnia jest poważne przemyślenie podjęcia pracy. Nawet jeśli nie chcesz teraz pracować, wiele się nauczysz w trakcie rozmów kwalifikacyjnych.
- Dzień 1: CV (5 godzin): Stwórz jednostronicowe CV. Na górze CV umieść krótkie informacje o swoich umiejętnościach. Z pewnością dodaj listę swoich projektów z linkami do Github.
- Dzień 2: Portfolio strony (6 godzin): Napisz kilka blogów. Dodaj je do wcześniejszego portfolio strony, które stworzyłeś.
- Dzień 3: Profil LinkedIn (4 godziny): Stwórz profil na LinkedIn. Przenieś na LinkedIn wszystko, co masz w swoim CV.
- Dzień 4: Przygotowanie do rozmowy kwalifikacyjnej (7 godzin): Wyszukaj najczęściej zadawane pytania na rozmowach kwalifikacyjnych. Ćwicz rozwiązywanie 10 problemów programistycznych, które są poruszane na rozmowach. Rób to na papierze. Pytania z rozmów kwalifikacyjnych można znaleźć na stronach takich jak Glassdoor, Careercup.
- Dzień 5: Networking (~ godzin): Wyjdź z szafy. Zacznij chodzić na meetupy, targi pracy. Poznaj się z rekruterami i innymi programistami.
- Dzień 6: Po prostu aplikuj na oferty pracy (~ godzin): Wyszukaj „praca Python”, zobacz jakie oferty są na LinkedIn i lokalnych stronach z ogłoszeniami o pracę. Wybierz 3 oferty, na które się aplikujesz. Dostosuj swoje CV do każdej z nich. Znajdź 2-3 rzeczy w wymaganiach, których nie znasz. Spędź następne 3-4 dni, aby się w nich zorientować.
- Dzień 7: Ucz się na podstawie odmów (~ godzin): Za każdym razem, gdy otrzymasz odmowę, znajdź 2 rzeczy, które musisz znać, aby zdobyć pracę. Następnie spędź 4-5 dni, aby doskonalić swoje umiejętności w tych kwestiach. W ten sposób po każdej odmowie staniesz się lepszym programistą.
Gotowość do pracy:
Prawda jest taka, że nigdy nie będziesz w 100% gotowy do pracy. Wszystko, czego potrzebujesz, to bardzo dobrze nauczyć się 1-2 rzeczy. I zapoznać się z innymi pytaniami, aby pokonać barierę rozmów kwalifikacyjnych. Kiedy już zdobędziesz pracę, wiele się na niej nauczysz.
Ciesz się procesem:
Nauka to proces. Na twojej drodze zapewne napotkasz trudności. Im więcej ich będzie — tym lepszym programistą się staniesz.
Jeśli uda ci się zakończyć listę w ciągu 28 dni, to jesteś naprawdę świetny. Ale nawet jeśli wykonasz 60-70% listy, rozwiniesz kluczowe cechy i umiejętności. Pomogą ci one w zostaniu programistą.
Gdzie się uczyć:
Jeśli nadal nie wiesz, od czego zacząć,
- (fascynująca aplikacja na Androida do nauki Pythona)
- (darmowe zasoby do nauki w wersji webowej)
- (oglądaj filmy i ucz się)
Życzę ci fascynującej podróży. Przyszłość jest w twoich rękach.
Tłumaczenie: Diana Sheremiewa
Źródło: habr.com
