Wpis z mikrobloga

Z takich rad, które fajnie by było usłyszeć 5 lat temu przed rozpoczęciem nauki programowania:

1. Naucz się najpierw języka angielskiego.

Serio. Mam 4 książki po polsku do nauki programowania. Jeżeli tylko jest to tłumaczenie z angielskiego... to najczęściej są one napisane strasznie skomplikowanym językiem. Już programowanie samo w sobie ma całkiem ciężkie nazewnictwo, a jak tylko autor tłumaczenia rzuci się na tłumaczenie nazw po swojemu... to muszę powiedzieć, że jest niedobrze.

Tak więc dobrze jest się uczyć na początku angielskiego i programowania jednocześnie, ale jednak dużą wagę zwracać na ten angielski. A w jaki sposób? Czytać książki. A jeżeli wasz poziom nie jest wystarczający to zacząć od książek dla dzieci. Potem stopniowo oglądać filmy na YouTube z napisami, czytać artykuły po angielsku i generalnie przesiadywać na stronach w języku angielskim.

PS: https://news.ycombinator.com/

Fajne artykuły się czasem trafiają :)

2. Daj sobie czas.

Nawet najbanalniejsze problemy na początku sprawiają problemy. Wiem, że głupio jest jak się uczy programowania, a jedyne co umie to ify, pętle, ma problemy ze wskaźnikami, albo dziwi się czemu program ciągle wywala błąd StackOverflow.

Ale to na początku jest normalne. Ważne, aby przez ten okres przejść i potem jakoś to będzie.

3. "Jeszcze nie opanowałem dobrze technologii X więc nie ma sensu, abym zabierał się za technologię Y.

Używasz tego narzędzia, które w danym momencie ma najwięcej sensu. Jeżeli masz za zadanie złożyć szafkę z IKEI to przydałby się zestaw śrubokrętów i kluczy. Młotkiem i gwoździami na upartego taką szafkę też da się złożyć... ale po co jak młotek i gwoździe nie są wymienione w instrukcji?

Dobrze jak nauczysz się na początek jednego języka na podstawowym poziomie (przerobić podstawy technologii X).
Wiele języków programowania jest do siebie bardzo podobnych :) Więc jeżeli umiesz tą Javę, a akurat masz ochotę zaprogramować coś okienkowego pod Windowsa i może coś z wykorzystaniem .NETa to nie ma problemu, żebyś zabrał się za C#.

4. Za dużo czytasz za mało programujesz.

Pułapka początkujących. Programowanie to nie jest typowo teoretyczna dziedzina. Prawda. Jest dużo tutaj teorii. Algorytmy, wzory, struktury danych, nazewnictwo specjalistyczne i matematyka... ale głównie programowanie opiera się na rozwiązywaniu problemów. Bo każdy problem jest inny. Nie da się przewidzieć i nauczyć się na przyszłość wszystkich możliwych kombinacji problemów. I to chyba jest powód dlaczego przy rekrutacji tak wiele osób odpada.

Jeżeli przy rekrutacji dostaniecie zadanie, które was przerasta, to nie poddawajcie się od razu.

Rekruterzy często nie chcą od was abyście rozwiązali zadanie (dobra, to też). Oni bardziej chcą zobaczyć jak podchodzicie do rozwiązania problemu.

Bo to jest nieodłączny element pracy zawodowej programisty (w sumie w XXI wieku praktycznie każdej pracy wymagającej myślenia, ale jednak w programowaniu jest tego dużo).

5. Odkładasz swój wielki projekt "na później".

Chcesz koniecznie zaprogramować coś bardziej skomplikowanego, ale wciąż myślisz, że twoja wiedza jest wciąż za mało wystarczająca, więc przerabiasz kolejny kurs w internecie. Jednak te problemy z kursów często są banalne.

Daj sobie jakieś większe zadanie. I spróbuj je rozwiązać. Nawet jeżeli będzie trwało to tydzień, bądź miesiąc.
Masz problemy? To zacznij:

6. Dzielić problemy na części.

Ciężko jest zjeść 10kg kilo frytek na raz. Ale jeżeli podzielimy te 10kg na 20 porcji i rozłożymy to w czasie na 20 dni... to nie wydaje się być to takie trudne. Podobnie jest z problemami i zadaniami.

Jeżeli coś dla ciebie jest zbyt trudne, to znajdź słaby punkt. Masz rozbudować program w firmie, który używa programowania wielowątkowego, Swinga, komunikacji z siecią i telefonem?

Jeżeli jedno z wyżej wymienionych pojęć sprawia najwięcej problemów to od niego należałoby zacząć.

https://www.packtpub.com/packt/offers/free-learning

Polecam tą stronę dla książek. Nie raz mi dużo dało, że zapisałem sobie książkę "na później".
A potem się okazało, że akurat używaliśmy Frameworka, który kiedyś trafił do darmowego dnia książki :)

7. Dziel się wiedzą.

Najwięcej się człowiek uczy jak musi wytłumaczyć koncepcję osobie, która danej koncepcji nie rozumie. Wtedy nasza wiedza się utrwala. Jeżeli nie potrafisz w prosty sposób czegoś wytłumaczyć, to istnieje duże prawdopodobieństwo, że sam tego nie rozumiesz.

8. Odpowiedz sobie na pytanie czemu akurat zacząłeś się uczyć programować.

Każdy ma różne cele w życiu. I dobrze jest się ich trzymać. Ja muszę przyznać, że programowanie dało mi sporo w życiu i cieszę się, że wybrałem tą drogę kariery mimo naprawdę wielu problemów :)

To tyle :)

BONUS
Zadania programistyczne:
https://s-media-cache-ak0.pinimg.com/originals/e3/a4/ef/e3a4ef2bb014fce26fd754dd22b0ed05.png
https://rosettacode.org/wiki/Category:Programming_Tasks
https://www.coderbyte.com/
https://projecteuler.net/

#naukaprogramowania
  • 43
@Rezix: Sam wpis mi się podoba. Myślę, że komuś się przyda.
Proponuję, aby stworzyć wpis w którym będą linki do pozostałych poradników - ułatwi to komuś życie.