Moja ścieżka do programowania.

0

Witam!

Po dłuższym namyśle postanowiłem postawić swoje pierwsze kroki w przekwalifikowaniu się w kierunku programowania. Tak jak
wielu przede mną i po mnie - zaczynam od zupełnego zera, nie mając w tej dziedzinie żadnego pojęcia, ale wiadomo... nie spróbuję, to się
nie przekonam. W związku z tym stworzyłem sobie "plan rozwoju" - zamierzam, najpierw samodzielnie, a później z pomocą kursów/szkoleń (włączając
studia zaoczne/bootcamp - tak, wiem... ;) Nie oczekuję, że zrobi to ze mnie programistę z prawdziwego zdarzenia...Ale pewnie pomoże trochę
usystematyzować to, co opanowałem sam no i przy okazji dojdzie nauka rzeczy nowych), dojść do celu jakim jest podjęcie pracy w front-endzie
lub programowaniu aplikacji mobilnych/webowych.

Po dość pobieżnej analizie kilku źródeł zdecydowałem, że zacznę od nauki Pythona, choć niektórzy zaczynają od C++. Co sądzicie?
Jednak trochę nie daje mi spokoju perspektywa posiadania wiedzy tylko z konkretnych języków programowania. Chciałbym też coś więcej wiedzieć o algorytmach, czystym kodzie, bazach danych itd. - choćby zdobyć solidne podstawy. Słyszałem też opinię, że przed rozpoczęciem nauki programowania dobrze jest najpierw poznać zaawansowanego Excela/VBA.
Zgadzacie się z tym?

Moja ścieżka

Materiały (pomijam źródła dostępne za darmo w necie)

Excel:

  1. Excel 2016 PL. Biblia; John Walkenbach
  2. Excel 2016 PL. Programowanie w VBA. Vademecum Walkenbacha; Michael Alexander, Richard Kusleika
    Powinno wystarczyć?

Python:

  1. Python Instrukcje dla programisty; Matthes Eric
  2. Automatyzacja nudnych zadań z Pythonem. Nauka programowania; Al Sweigart
  3. Python Programming: An Introduction to Computer Science, 3rd Ed; John Zelle
  4. Przewodnik po Pythonie. Dobre praktyki i praktyczne narzędzia; Kenneth Reitz, Tanya Schlusser
  5. Python dla profesjonalistów. Debugowanie, testowanie i utrzymywanie kodu; Kristian Rother

Inne:

Czysty kod. Podręcznik dobrego programisty; Robert C. Martin
Algorytmy. Wydanie IV; Robert Sedgewick, Kevin Wayne
Algorytmy. Ilustrowany przewodnik; Aditya Bhargava

A co to liźnięcia podstaw baz danych? Co ogólnie sądzicie o tym, co zaplanowałem? Ma to ręce i nogi? Dodam, że skupiam się przede wszystkim na tym, co trzeba wiedzieć zanim się do programowania weźmie na dobre.

1

Nie widzę za bardzo sensu uczenia się najpierw Excela i VBA. Taka droga jest dobra chyba tylko jeśli możesz w obecnej pracy coś w ten sposób uprościć/zautomatyzować i po prostu dzięki temu liznąć programowania bez zwalniania się od razu.
Spory plus, że od razu myślisz też o takich rzeczach jak czysty kod czy algorytmy.
Dużo osób zaczynało od C++ tylko dlatego, że to jest jeden z pierwszych języków na wielu uczelniach ;) Python jest dobry na start, a i oferty potem się jakieś znajdą. Nie myślałbym o kolejnych językach dopóki w pierwszym nie będziesz się czuł w miarę swobodnie, albo nie uznasz, że jego paradygmat lub ogólnie składnia Ci nie odpowiada.
Z baz danych na początek pewnie wystarczą tylko podstawowe zapytania SQLowe, umiejętność zainstalowania jakiegoś silnika, a potem to już w zależności jak jej będziesz używał, bo np. korzystając z ORMa nie za dużo tej bazy zobaczysz (na początku przynajmniej, bo potem warto co nieco wiedzieć). Bazy bym się uczył przy okazji robienia jakiegoś konkretnego projektu, ale to tylko moje zdanie.

1

Ciężko będzie Ci się uczyć czystego kodu na samym początku - bez wiedzy co to jest "brudny" kod. VBA pomiń, zacznij od Pythona/C++ (Python jest łatwiejszy).
Zacznij od zmiany systemu na linux jezeli jeszcze go nie masz (będzie Ci łatwiej, chociaż na początku możesz czuć opór).

Rób jakieś challange algorytmiczne (dużo jest ich w sieci), potem napisz proste aplikacje - np. gre snake, strone internetową (tutaj czytaj dużo o bazach danych, sieciach, protokołach itp.).
Dodatkowo możesz poczytać "Zrozumieć programowanie" Gynvael Coldwind - będziesz miał ogólną wiedzę jaką drogę przebywa kod z twojego edytora do faktycznego wykonania.

I najważniejsze - jak najszybciej znajdź pracę, szukaj okazji, pytaj - nawet staże za darmo jeżeli możesz sobie na to pozwolić.

0

@mar-ek1: @Markuz Dzięki za merytoryczne odpowiedzi! Czyli zacznę od Pythona - jeśli nie mam żadnego pojęcia o programowaniu, a sam język jest łatwy do opanowania, to chyba będzie to lepszy wybór?

A w którym miejscu radzicie umieścić rozpoczęcie zdobywania podstaw wiedzy o bazach, algorytmach, czystym kodzie? Po opanowaniu Pythona czy mogę to robić równolegle? Chodzi mi przede wszystkim o logikę kolejności, tak aby to miało ręce i nogi i nie mieszało mi na początku pojęć.

1

A w którym miejscu radzicie umieścić rozpoczęcie zdobywania podstaw wiedzy o bazach, algorytmach, czystym kodzie? Po opanowaniu Pythona czy mogę to robić równolegle?

Jak nauczysz się pythona to potem spróbuj pobawić się np: zapisywaniem danych do postgressa (taka baza) i przy okazji poczytasz sobie o tym, najlepiej się uczyć na bieżąco.
Możesz np: postawić sobie za cel jakąś aplkacje webową z persystecją (to sie weba pouczysz i bazy danych troche liźniesz)

0

Okej, zrozumiałem. Serdeczne dzięki. :)
W trakcie poszukiwań natknąłem się także na "Python. Uczenie maszynowe" Sebastian Raschka. Kiedy to włączyć w naukę? Po podstawach algorytmów?

1
Appleseed napisał(a):

Okej, zrozumiałem. Serdeczne dzięki. :)
W trakcie poszukiwań natknąłem się także na "Python. Uczenie maszynowe" Sebastian Raschka. Kiedy to włączyć w naukę? Po podstawach algorytmów?

Nie, dopiero jak będziesz pewny, że chcesz pracować nad czymś co będzie wymagało "uczenia maszynowego". Może się okazać, że przez całą kariere ta ksiązka Ci się nie przyda.

0

W porządku. A po opanowaniu Pythona przejść od razu do Javy czy pomiędzy dodać C++? Czy nie warto?

1

Nie umiesz jeszcze Pythona a już się martwisz co zrobisz po jego opanowaniu. Proponuję po prostu zacząć a za jakiś czas sam się zorientujesz co (i czy) chcesz się dalej uczyć :)

1
Appleseed napisał(a):

W porządku. A po opanowaniu Pythona przejść od razu do Javy czy pomiędzy dodać C++? Czy nie warto?

Jak chcesz zdobyć jak najszybciej pracę to skup się na jednym języku. Java, C++ i wiele innych języków jak najbardziej warto się uczyć, ale doba ma tylko 24h :)

0
szweszwe napisał(a):

Nie umiesz jeszcze Pythona a już się martwisz co zrobisz po jego opanowaniu. Proponuję po prostu zacząć a za jakiś czas sam się zorientujesz co (i czy) chcesz się dalej uczyć :)

Oczywiście planuję trochę na wyrost, ale dzięki waszym odpowiedziom próbuję ogarnąć coś o czym póki co mam nikłe pojęcie, stąd wiem, że pytania mogą być głupie/naiwne. :)

@wszyscy Dzięki za porady i za pomoc, na pewno dostosuję się do waszych wskazówek. :)

0
Appleseed napisał(a):

W porządku. A po opanowaniu Pythona przejść od razu do Javy czy pomiędzy dodać C++? Czy nie warto?

Zależy, co masz na myśli "opanowanie". Podstawy czy coś więcej? Po drugie zależy też, czy ci się spodoba Python, jeśli tak to warto się zagłębić, bo ma duże zastosowanie.
Przyznam, że ja zaczynałem od Javy i wcale nie jest to trudny język na początek (jeśli masz zamiar uczyć się Javy i wiązać z nim karierę zawodową) - oczywiście to moje własne odczucia.

0

przy Pythonie (jak i też przy Javie) front też musisz liznąć

0
TheLiner napisał(a):
Appleseed napisał(a):

W porządku. A po opanowaniu Pythona przejść od razu do Javy czy pomiędzy dodać C++? Czy nie warto?

Zależy, co masz na myśli "opanowanie". Podstawy czy coś więcej? Po drugie zależy też, czy ci się spodoba Python, jeśli tak to warto się zagłębić, bo ma duże zastosowanie.
Przyznam, że ja zaczynałem od Javy i wcale nie jest to trudny język na początek (jeśli masz zamiar uczyć się Javy i wiązać z nim karierę zawodową) - oczywiście to moje własne odczucia.

Zobaczę czy mi będzie szło. Jeśli tak, to nie poprzestanę na podstawach i się zagłębię.

Przy okazji znalazłem bardzo przydatny link dla początkujących klik - @czysteskarpety Jestem świadomy!

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