Portal biznesowy – Wiadomości / Informacje / Porady
Internet

Zachowaj spokój i zacznij  kodować: jak walczyć z lękiem przed programowaniem 

codegym

Czy programowanie brzmi dla ciebie jak stresująca praca? Ludzie uważają, że nie powinno tak być, ponieważ wydaje się, że wszyscy programiści siedzą przed ekranem i piszą kod. 

 Nie ma sytuacji życia lub śmierci, nie ma ogromnej odpowiedzialności w porównaniu z medycyną, bankowością czy księgowością. Z technicznego punktu widzenia tworzenie oprogramowania powinno być jednym ze spokojniejszych zawodów.

 Jednak okazuje się, że lęk przed kodowaniem jest prawdziwy. Kiedy rozmawiam ze swoim studentem programowania, okazuje się, że większość ludzi nie są w stanie skupić się na pracy dłużej niż na godzinę i odczuwają duży stres związany ze znalezieniem pracy w IT.

 Dlatego chciałem podzielić się wskazówkami, które pomogą uczniom programowania nie stresować się podczas edukacji. Stosowanie ich da ci więcej pewności siebie i pomoże cieszyć się każdą godziną spędzoną w nauce.  

Dlaczego uczniowie programowania są zestresowani? 

 Na początek przyjrzyjmy się bliżej głównym przyczynom stresu wśród osób uczących się technologii. Aby nie zanudzać Cię długimi listami, skróciłem listę powodów dla których programiści nie mają spokoju, do trzech:

  •  Syndrom oszusta. Mediana pensji programisty jest dość wysoka (71 000 EUR rocznie, według Payscale), programiści często myślą, że ich umiejętności nie są warte swojej wypłaty. Praca w zespołach również zwiększa presję – zawsze pozostajesz w kontakcie z rówieśnikami, którzy wydają się bystrzejsi, lepiej zorientowani w technologii, nastawieni na szerszy obraz lub zwracają uwagę na szczegóły. Wszystko to sprawia, że ​​programiści nie doceniają wartości i zaczynają podkreślać, że pewnego dnia inni mogą ich nazwać pretendentami.
  •  Niebycie „prawdziwym programistą”. Jeśli wystarczająco długo interesowałeś się technologią, nie jest ci obcy archetyp „prawdziwego programisty”. Często możesz zobaczyć tych programistów w grupach na Facebooku, na Reddit lub Stack Overflow, mówiąc, jak dużo pracują i jak mało obchodzą ich weekendy lub wolne. Postrzeganie programistów jako ludzi, którzy nie żyją, stało się tak powszechne, że początkujący uczniowie zaczęli się zastanawiać: „Nie potrafię programować przez 8 godzin – może tworzenie oprogramowania nie jest dla mnie?”. Prawda jest taka, że ​​16-godzinna praca w ciągu dnia przynosi duże skutki odwrotne do zamierzonych – według badań Stanforda 40-godzinni pracownicy pracują trzy razy wydajniej niż ci, którzy wykonują 60-godzinne szaleństwo.
  •  Zaczyna się za późno. Chociaż moim zdaniem kodowanie nie ma ograniczeń wiekowych, o ile chcesz się uczyć i przyswajać nowe technologie, niektórzy moi uczniowie nie myślą w taki sposób. Rzeczywiście, historie o 14-letnich inżynierach AI mogą przestraszyć i zniechęcić kogokolwiek. 30+ -letni uczniowie programowania czują się zagrożeni przez młodsze cudowne dzieci, zaczynają nie doceniać swojej biegłości i nie ryzykują proszenia o wyższą pensję w pracy.
  •  Jeśli Ty też zmagasz się z tymi problemami (a my wszyscy znamy ten sam ból), dobrą wiadomością jest to, że zawsze istnieją proaktywne sposoby radzenia sobie z lękiem związanym z kodowaniem i sposoby na zwiększenie efektywności uczenia się.

4 wskazówki, jak nauczyć się programowania bez stresu 

Jak sprawić, by nauka kodowania była przyjemna i spójna? Jak upewnić się, że sukcesy i porażki rówieśników nie wzbudzają zazdrości ani zniechęcenia? 

 Oto wskazówki, które wdrażałem przez lata nauki języków programowania i pracy z początkującymi programistami Java:  

Porada # 1. Wybierz podstawowy język programowania 

Czy lepiej jest opanować jeden język programowania, czy być programistą na średnim poziomie w wielu z nich  to powszechna debata w tworzeniu oprogramowania. Osobiście nie mam nic przeciwko w zastosowaniu wielu języków. Uważam jednak, że każdy programista powinien mieć jedną technologię, którą zna jak własną kieszeń.

 Pomyśl o językach, którymi mówimy – jest wielu ludzi, którzy znają dwa, trzy lub pięć. Jednak większość z nas ma najwyższą biegłość w jednym (co najwyżej dwóch) języku – tym, w którym myślimy i rozmawiamy z większością osób w naszym kręgu społecznym. Programowanie jest podobne pod tym względem – w wielu językach można być zaawansowanym – jednak , upewnij się, że masz jeden język, w którym „myślisz” jako programista.

 Którego języka student programowania powinien się najpierw nauczyć? Osobiście polecam wziąć pod uwagę liczbę zasobów edukacyjnych, rynek pracy i wszechstronność technologii. Proponuję osobom uczącym się programowania rozpoczęcie przygody z tworzeniem oprogramowania w języku Java – niżej widzimy dlaczego.  

Java jest liderem pod względem liczby ofert pracy

 Według Indeed, największego na świecie agregatora ofert pracy, Java, Python i Javascript są wiodącymi językami programowania pod względem liczby ofert pracy.  

Lekko jest szkolić w języku Java

 Osoby uczące się programowania często są zestresowane i przytłoczone, ponieważ nie ufają źródłom, które znajdują online. Aby upewnić się, że uczysz się języka programowania zgodnie z najwyższymi standardami branżowymi, warto zapoznać się z najlepszymi uniwersytetami i praktykami edukacyjnymi.

 Jeśli chcesz używać materiałów akademickich do nauki, wybranie języka Java jest dobrym wyborem, ponieważ znalazło się na 10 miejscu wśród najlepszych kierunków informatycznych w całym kraju, wybieranym jako język wprowadzający (Python prowadzi z niewielkim odstępem, ma 13 dostępne programy). 

Deweloperzy Java są dobrze opłacani

 Jednak, brak pewności, że Twoja praca jest dobrze wynagradzana, doprowadza Cię do stresu. Dlatego zapewnienie pracy w języku programowania, którego się uczysz, jest opłacalne finansowo,i to ma kluczowe znaczenie. Jeśli chodzi o Javę, jest to jedna z najlepiej opłacanych dziedzin informatyki. Według PayScale przeciętny programista Java zarabia 62 000 EUR rocznie.  

Porada # 2. Zaplanuj swoją edukację 

 Początkujący programiści często od razu zagłębiają się w naukę języka programowania, nie mając pojęcia o jego podstawach. Za bardzo dużo czasu poświęcają na kontent edukacyjny, które znajdują w Internecie – najczęściej jest to prosta droga do bałaganu. Większość początkujących zbyt wcześnie zaczyna wtrącać się w zaawansowane koncepcje i zniechęcają się złożonością języka i brakiem postępów.

 Dlatego wyznaczenie krzywej uczenia się jest kluczowe, jeśli chcesz odnieść sukces jako programista, w jak najkrótszym czasie.

 Jak stworzyć skuteczny program nauczania, którego faktycznie będziesz się trzymać?

 Na początek zapisz pojęcia, z których składają się język, którego chcesz się nauczyć, w kolejności rosnącej złożoności. 

W przypadku języka Java lista będzie wyglądać następująco: 

  1. Podstawy Java
  1. Główne koncepcje programowania obiektowego
  1. Kolekcje i struktury danych
  1. Bazy danych
  1. Współbieżność i wielowątkowość
  1. JVM i zarządzanie pamięcią
  1. Znajomość ekosystemu Java

 Podziel każdą z tych koncepcji na mniejsze moduły – będą to tematy do codziennej nauki. Tu znajdziemy jak wygląda Java syntax .:

 Pojęcia dotyczące Java Syntax : 

  1. Zmienne
  1. Typy danych
  1. Operatory if-else
  1. Pętle
  1. Instrukcje Continuous i Break

 Jeśli nie jest to post dotyczący języka Java, nie będę tutaj przedstawiał całego programu nauczania. Jednak w Internecie dostępnych jest wiele map drogowych do nauki – koniecznie sprawdź je.

 Ustal konkretny termin dla każdego z tych modułów – w ten sposób będziesz mieć jasne zrozumienie, ile czasu potrzebujesz na ukończenie części programu.

Bądź hojny w swoich szacunkach – koncepcja języka programowania może okazać się bardziej złożona niż myślisz. Lepiej napisać kod nieoptymalny, niż stresować się nie robiąc nic.  

Porada # 3. Zbierz odpowiednie zasoby 

 Konieczność zastosowania wiedzy zdobytej podczas uczenia się w warunkach rzeczywistych jest główną przyczyną dziwactwa wśród studentów. 

Użytkownik forum Freecodecamp doskonale podsumował ten niepokój:

„Niedawno zdałem sobie sprawę, że im więcej programuję, zaczynam się obawiać, że pewnego dnia będę mieć rozmowę rekrutacyjną z innym profesjonalnym programistą”.

Jeśli Ty również boisz się, że masz deficyt czegoś, aby udać się na rozmowy kwalifikacyjne, przyczyną mogą być narzędzia, których używasz do nauki. Podczas gdy książki i kursy wideo są ważne dla wchłonięcia esencji języka, jestem przekonany, że programiści powinni zwracać więcej uwagę i poświęcać więcej czasu na praktykę podczas nauki.

 Kiedy rozmawiam z początkującymi programistami Java, zazwyczaj sugeruje następujący stos źródeł.  

Książki i tutoriale – 20% wszystkich zasobów, głównie dla bibliografii

 Statystycznie większość programistów nie czyta książek. Rozumiem dlaczego – większość z nich jest nudna, przestarzała i nie trzyma się w głowie wystarczająco dobrze. Jeśli jednak utknę podczas pracy nad projektem, z przyjemnością dowiem się, do których książek, źródeł dokumentacji i tutoriali należy wrócić, szukając rozwiązania mojego problemu. Moim zdaniem nie powinieneś dokładnie czytać książek jeden po drugim – ale zapoznanie się z parą daje solidną fundację teoretyczne języka.

 Tu są moje ulubione książki i tutoriale dotyczące języka Java:  

Książki

  1. Head First Java – wciągająca, przyjazna dla początkujących lektura, która pozwala szybko zrozumieć, w jaki sposób używany jest język i jego podstawową strukturę.
  2. Effective Java to jedyna w swoim rodzaju książka dla doświadczonych programistów, którzy chcą jak najlepiej wykorzystać zestaw narzędzi języka.
  3. Java Puzzlers – uczciwy przewodnik o pułapkach i wyzwaniach Javy. Czytanie tej książki pozwoli Ci zaoszczędzić wiele godzin zajmowania się zagrożeniami po wdrożeniu.

Poradniki: 

  1. Java Code Geeks – dobrze zorganizowana lista postów związanych z Javą, która jest łatwa w użyciu podczas pracy nad nowymi projektami.
  2. Tutoriale Java Oracle – oficjalne tutoriale Oracle jest najczęściej używanym wśród programistów (ja też na co dzień korzystam z tych instrumentów ).
  3. Programming Creek – kolejna intuicyjna i łatwa w użyciu baza danych z tutorialami Java – ta zdecydowanie zasługuje na to, aby znaleźć się na Twojej liście ulubionych.

Kursy online – głębsze spojrzenie na język, mix teorii i praktyki – 30% wszystkich narzędzi 

 Kursy wideo online są kolejne na mojej liście narzędzi do nauki tworzenia oprogramowania. 

 W przeciwieństwie do książek są one bardziej praktyczne i wciągające. Wykładowcy często przedstawiają kejsy z codziennego życia i udostępniają aplikacje językowe z których korzystamy. Poza tym istnieją platformy edukacyjne, które umożliwiają uczniom kontakt z nauczycielami w celu zadawania pytań.

 Podczas gdy kursy wideo online nie zapewniają wystarczającej ilości miejsca na praktykę, aby być pewnym umiejętności kodowania, są one zdecydowanie dobrym sposobem na stworzenie kontekstu dla pojęć, o których czytasz w książkach.  

Moje ulubione kursy Java:   

  1. Programowanie obiektowe w Javie autorstwa Coursera
  1. Podstawy języka Java firmy Pluralsight
  1. Programowanie w języku Java dla kompletnie początkujących od Udemy.

Platformy praktyczne – 50% wszystkich instrumentów  

W kodowaniu praktyka czyni mistrza. Dlatego rozwiązywanie problemów z życia codziennego jest tak samo ważne, jak wchłanianie podstaw języka z książek i kursów online.

Zdecydowanie zalecam studentom poświęcenie czasu i zbadanie gier i platform, które pomogą Ci być lepszym  w dowolnym wybranym języku programowania. Tu są moje ulubione dla Javy:  

  • CodeGym – potężna platforma do ćwiczeń, dzięki której możesz zostać profesjonalnym programistą Java. Oferują ponad 1200 zadań praktycznych połączonych z krótkimi wykładami, które pomagają odświeżyć teorię stojącą za każdym problemem. Codegym obejmuje wszystkie aspekty języka – Java Core, kolekcje, wielowątkowość, usługi i JSP, a nawet obsługę baz danych i SQL.

 codegym

  • HackerRank – to łatwa w użyciu i dobrze zorganizowana platforma z praktycznymi kejsami w Javie. Jeśli chcesz porównać się z innymi uczącymi się programowania, jest to właściwe miejsce, aby konkurować między sobą, wykonując krótkie wyzwania. Istnieją zadania o różnym stopniu złożoności – pomogą one zarówno początkującym, jak i zaawansowanym programistom.

HackerRank
 

  • Codewars -  to oparty na społeczności zasób ćwiczeń Java, w którym programiści tworzą dla siebie wyzwania i ćwiczą zadania. Poza Javą platforma obsługuje JS, C, C ++ i wiele innych języków.

Codewars
 

4. Nie dołączanie się do społeczności  

Jednym z fatalnych błędów, które popełniają studenci programistów, jest próba samodzielnego pokonania trudności związanych z programowaniem. Kodowanie jest trudne i samotne i istnieje szansa, że ​​twoja rodzina będzie miała trudności ze zrozumieniem twoich trudności edukacyjnych.

 Aby upewnić się, że nie internalizujesz wyzwań i nie zniechęcisz się drobnymi niepowodzeniami, wezwij współpracowników o pomoc. Osobiście jestem wielkim fanem Reddit, Freedcodecamp i Stack Overflow – ale musisz znaleźć to, co działa dla Ciebie.  

Lista społeczności programistów, które warto sprawdzić jako punkt wyjścia: 

 Reddit: 

  • r/codetogether 
  • r/ComputerScience 
  • r/dailyprogrammer 
  • r/compsci 
  • r/java 
  • r/learnpython 
  • r/machinelearning 

inne platformy: 

  • Freecodecamp forum 
  • StackOverflow 
  • GitHub 
  • PHP Programming Forum 
  • JavaScript Forums 
  • Gamedev.net 

Wnioskując

 Jeśli jesteś studentem programowania, który walczy z niepokojem związanym z kodowaniem, pamiętaj, że nie jesteś sam. Chociaż istnieją różne sposoby radzenia sobie ze stresem związanym z uczeniem się, z mojego doświadczenia wynika, że ​​konkretny cel i plan edukacji w zakresie CS pomogą ci podchodzić do każdego dnia nauki ze spokojnym umysłem.

 Na początek wybierz język, w którym chcesz się biegle posługiwać, stwórz szczegółowy program nauczania oparty na terminach. Znajdź odpowiednie instrumenty – książki, kursy i platformy ćwiczeń – aby przyspieszyć naukę. Nie zapomnij również nawiązać kontaktu z innymi programistami – łatwiej jest pokonać trudności związane z nauką programowania wspólnie z innymi deweloperami.