Niedawno miałam okazję występować na Geek Girls Carrots Poznań. Cel prezentacji prosty – opowiedzieć swoją przygodę z programowaniem, odpowiedzieć na pytanie jak wybrać język programowania i wreszcie jak zacząć programować (niekoniecznie) w 30 dni 😉 Do tego nie zanudzić publiczność i zmieścić się w 20 min (chyba dało radę). Jednak w mojej prezentacji zabrakło ważnego punktu – tego, który następuje przed wyborem języka.
Jak zdecydować czego się uczyć?
Nie przyszedł mi do głowy, mimo, że od pewnego czasu niemal w każdym tygodniu na flynerdowej skrzynce ląduje wiadomość, którą mogłabym streścić do dwóch pytań:
- „jak zacząć programować?” (zupełnie od zera)
- „czego powinnam się teraz nauczyć?” (już mam początki za sobą)
Za każdym mailem, za każdą wiadomością stoi osoba, która prawdopodobnie spodziewa się jednej uniwersalnej odpowiedzi prowadzącej do celu. Niektóre osoby przedstawiają mi swoją historię, co je pasjonuje, co do tej pory zrobiły (dzięki czemu mam jakiś pogląd i mogę chociaż trochę podpowiedzieć), ale w większości wiadomość wygląda tak:
Chcę nauczyć się programować, ale nie wiem jak.
Czy chcesz mi pomóc, może coś doradzić?
Za każdym razem staram się odpowiedziecieć. Jednak nie mając zbyt wielu informacji o drugiej osobie odpowiedzi i porady te wyglądają podobnie. Czas zebrać je w jednym miejscu 😉
Jak zacząć programować w 5 krokach
Prawda jest taka, że „jak zacząć?” czy „jak nauczyć się programować?” to nie jest pierwsze pytanie, które musisz sobie postawić zanim faktycznie zaczniesz programować. I mam tu na myśli programowanie jako karierę zawodową, a nie jako hobby (hobbistyczna zabawa jest dobra każda, która sprawia Ci przyjemność).
Najlepiej weź kartkę, zeszyt, albo utwórz nowy plik i zanotuj przemyślenia – będziesz do nich jeszcze wracać.
1. Wskaż swój cel
Postaraj się ustalić swoje cele długoterminowe.
Ouh, brzmi strasznie?
Niestety, nie radosna motywacja, a konkretnie postawione cele sprawią, że weźmiesz się do roboty 😉 Im jaśniej nakreślisz sobie swój cel, tym łatwiej będzie Ci zrozumieć czego potrzebujesz się nauczyć.
Podejdź do tego skrupulatnie i myśl o konkretach, staraj się nazywać to o czym myślisz, a nie tylko widzieć w wyobraźni.
– łączyć studia i pracę
– założyć rodzinę
– więcej podróżować
– wieźć szczęśliwe życie
…
Nadal brak konkretów? No dobrze, spróbujmy jeszcze raz.
Ogólny zarys celu długoterminowego jest lepszy niż brak go w ogóle, ale postaraj sobie odpowiedzieć na pytanie: czego tak naprawdę oczekujesz od swojej przyszłości?.
Przykładowo możesz zrobić to np. w ten sposób:
- Jak będzie wyglądał Twój idealny dzień pracy?
- Chcesz pracować w małym zespole, dla znanej marki, a może masz pomysł na własny biznes?
- Wolisz pracę w biurze, w domu, czy może w modelu: work & travel?
- Praca na pełen czy część etatu?
- Gdzie się widzisz za 5 lat, a gdzie za 3 lata? Jakie zmiany mogą nastąpić w ciągu 1 roku? Może jest coś, co chcesz zmienić jeszcze w tym miesiącu?
Ostatnie pytanie jest klasykiem rekrutacji – gdzie się Pan/i widzi za X lat? Na szczęście dzisiaj nikt nie będzie go oceniał. Odpowiedź na to pytanie jest tylko dla Ciebie. Odwróć swoją oś czasu i podziel sobie swój długoterminowy cel na mniejsze punkty, które pomogą Ci go zdobyć.
To nie jest checklista, bo życie jeszcze nie raz zweryfikuje Twoje plany. Może już za rok okaże się, że inne wydarzenia zmieniły cel długoterminowy. Nie zakładaj, że jest to jakiś 100% plan 5-letni, którego musisz się trzymać. Wszystki te punkty i wiele innych, które wymyślisz pozwolą Ci zrozumieć – jak Ty chcesz, by Twoje życie wyglądało, a nie jak przypadkowo się toczy.
Możesz sobie te notatki zachować, stworzyc z nich tablicę, zrobić kolekcję na pintereście czy wykorzystać w dowolny sposób. Jeśli udało Ci się wypisać konkrety, to masz okazję się ich twardo trzymać każdego dnia, a możesz potraktować je tylko jako wskazówki.
2. Czy programowanie pomoże Ci osiągnąć Twój cel długoterminowy?
Aktualnie trwa boom na naukę programowania – dla wielu osób to pomysł na siebie, który okaże się słomianym zapałem. Programowanie nie jest łatwe (nie jest też bardzo trudne i nie osiągalne), dlatego na pewno warto przemyśleć, dlaczego w ogóle chcemy zacząć programować.
Za nami ustalenie priorytetów. Może Twoim celem długoterminowym jest połączenie pracy z domu, tak by mieć więcej czasu dla rodziny? Może chcesz podróżować po świecie, albo założyć własną firmę?
Spróbuj odpowiedzieć sobie na pytanie: czy i jak programowanie pomoże Ci spełnić Twoje cele? Nie ważne jakie one są. Nie uczysz się programowania tylko po to by zostać programistą. Oczywiście, często chcesz zostać programistą / programistką, ale chcesz tego z jakiegoś powodu. Na programowaniu dla samego programowania się nie kończy.
Weźmy kilka przykładów:
Magda jest samodzielną matką przed trzydziestką. Obecnie pracuje w marketingu, jednak praca okazała się bardziej stresująca niż na zdjęciach kolorowych, kreatywnych zespołów. Chciała by się przeprowadzić do większego mieszkania, ale niestety obecne zarobki, mimo branych nadgodzin wciąż przeznacza na spłacanie kredytu studenckiego. Dodajmy jeszcze, że jej tytuł magistra europeistyki nie jest zbyt przydatny na rynku pracy. Jednak Magda ma plan – nauka pogramowania poszerzy jej obecne kompetencje w obecnej pracy, w przyszłości pozwoli uzyskać wyższe wynagrodzenie, a jednocześnie da jej na większą elastyczność i więcej czasu z dzieckiem.
Magda uczy się programowania z kilku powodów:
- jest zmęczona obecną pracą
- chce spłacić kredyt studencki
- chce spędzać więcej czasu z dzieckiem i poprawić swoją jakość życia
Iza prowadzi własną firmę. Odkąd pamięta chciała projektować ubrania, dlatego stworzyła swój brand, a jej firma, chociaż nieduża, zatrudnia już kilka osób. Jej pracownia i butik cieszą się coraz większym uznaniem, dlatego założyła też sklep online, by trafić do szerszego grona odbiorców. Niestety, skorzystała z usług niesolidnego podwykonawcy i cały czas ma problemy z własną stroną www. Problemy te wiążą się z szukaniem nowych webdeveloperów do każdorazowego łatania dziury (jej stresem, stratą czasu i pieniędzy). Iza chce nauczyć się programować, aby poznać swoją domenę od podszewki i świadomiej wybierać kontrahentów.
Iza chce nauczyć się programowania, gdyż:
- chce rozumieć swój sklep internetowy od strony front-end i back-endowej
- wie, że nauczenie się programowania pozwoli jej lepiej dobierać współpracowników
Teraz Ty odpowiedz sobie na pytanie jakie masz powody, by zacząć programować, czy nauka programowania poprawi coś w Twoim życiu 😉
3. Dowiedz się, czego musisz się nauczyć, aby programowanie rzeczywiście spełniło Twoje oczekiwania
Możliwe, że już masz za sobą pierwsze potyczki z kodem. Możliwe, że uczysz się programowania już od jakiegoś czasu i masz względne pojęcie co w programowaniu lubisz najbardziej, a Ci przeszkadza. Pierwsze wrażenie, może jednak okazać się mylne. Możesz rozpocząć naukę HTML, CSS i JavaScriptu, tylko po to, aby odkryć, że jednak chcesz tworzyć aplikacje mobilne czy programować w Pythonie.
To zupełnie normalne, że wraz z poznawaniem technologii będziesz odkrywać inne obszary IT, w których możesz się rozwijać. Teraz najważniejsze dowiedzieć się co z programowaniem możesz robić, co lubisz i doskonalić to!
Programowanie: jak zacząć praktycznie?
Najlepszym sposobem na odpowiedzenie sobie na pytanie „jak zacząć programować?” jest przygotowanie listy potencjalnych opcji ścieżki kariery i zgłębienie tematu.
Tym razem też staraj się podejść do tego precyzyjnie. Pomyśl o różnych stanowiskach związanych z programowaniem, ale też technologiach wykorzystywanych w pracy programisty np.
- Front-end czy Back-end development (może Full-stack)
- aplikacje mobilne: Android czy iOS?
- Testowanie (QA)?
- Analiza i obróbka danych, a może tworzenie baz danych?
- Angular czy React? (front)
- Django czy Rails (back)
- WordPress + WooCommerce czy Magento
Zawężenie opcji nie jest takie trudne. Poszukaj osoby na wybranych stanowiskach i porozmawiaj z nimi. Skorzystaj z ich doświadczenia, by dowiedzieć się jak wyglądają ich codzienne obowiązki i jaka wiedza na tym stanowisku jest przydatna (to też odpowie Ci na pytanie jak zacząć programować, od jakiego języka, jakie zadania). Skonfrontuj to ze swoimi wyobrażeniami i zobacz czy Cię wciągnie.
Oczywiście precyzja z jaką możesz wybierać w technologiach zależy jak dobrze orientujesz się w temacie IT. Nie przejmuj się, jeśli jesteś zupełnie na początku. Jest wiele sposobów, by coś wybrać jako ścieżkę kariery na początek.
- Wykorzystaj ogólne portale z ofertami pracy np. Pracuj.pl, MonsterPolska czy Glassdoor, aby znaleźć potencjalnych pracodawców, aby zidentyfikować nazwy stanowisk, ścieżki kariery czy ogólnie firmy, w których chcesz zacząć pracować
- Za pomocą LinkedIn znajdziesz osoby, które już pracują w branży IT, w tym na stanowisku, do którego dążysz (chociaż może jeszcze o tym nie wiesz) – przejrzyj ich doświadczenie zawodowe
- Dołącz do programistycznych grup na facebooku i tam zadaj pytanie o szczegóły związane z obowiązkami w pracy, może poznasz swojego mentora!
- Idź na wydarzenie tematyczne, darmowe warsztaty, poznaj ludzi osobiście. Networking może okazać bardzo przydatny – złap później kontakt też na Linkedin
Dopisz nazwy swoich potencjalnych stanowisk. Ciekawe źródła możesz zachować za pomocą aplikacji typu Pinterest czy Pocket.
Jeżeli chcesz pracować jako freelancer czy założyć własny biznes, spróbuj znaleźć osoby w branży, które mają w Twoim odczuciu pracę idealną (np. kogoś, kto łączy zlecenia jako WordPress Developer, a jednocześnie podróźuje po świecie czy pracuje jako Ruby On Rails Developer i ma spokojne życie rodzinne).
Tylko jak takie osoby poznać?
Najlepiej na żywo, w trakcie meetupów i konferencji, sesji networkingowych. Wśród poznanych osób możesz znaleźć przyszłych współpracowników czy właśnie swoją inspirację. Osoby „z Internetu” też nie są zupełnie niedostępne, a tym bardziej nie są anonimowe. Możesz kogoś poznać przez wywiad czy artykuł. Często osoby aktywne w social mediach spotkasz na wydarzeniach branżowych. Odważ się na rozmowę twarzą w twarz na tematy, co do których masz wątpliwości.
4. Wskaż umiejętności i doświadczenie jakie potrzebujesz
Znasz już potencjalne ścieżki kariery. Masz też zasób słownictwa branżowego, słów kluczy, które pozwolą Ci przefiltrować nagłówki ofert pracy. Przyjrzyj się im i znajdź umiejętności, które są wymagane, aby pracować na wybranym stanowisku czy w twojej idealnej firmie. Na tej podstawie jesteś wstanie dokładnie określić czego chcesz się nauczyć na start.
Wyszukać konkretne oferty pracy. Proponuję portale związane z branżą IT, ponieważ na nich zazwyczaj stanowiska są lepiej technicznie opisane:
- Just Join IT
- No Fluffy Jobs
- Bulldog Jobs
- Indeed
- Stackoverflow Jobs
- Github Jobs
- Authentic Jobs
Zwróć uwagę szczególnie na wymagania staży, stanowisk juniorskich. Sporo ofert, będzie miało tytuły po angielsku, ale możesz też spotkać się z określeniem polskim „młodszy specjalista” + nazwa technologii / języka programowania. Wymagania staraj się wypisywać z „górką” – płace w IT z roku na rok rosną, ale wymagania również. Na razie nie skupiaj się na konkretnym mieście, ale na samych wymaganych umiejętnościach.
Przygotuj sobie arkusz kalkulacyjny, w którym zanotujesz powtarzające się umiejętności i obowiązki na wybranym stanowisku. Ten arkusz pozwoli Ci odpowiedzieć na pytania: jak nauczyć się programować i jakich technologii potrzebujesz?
Oto przykładowy arkusz dla początkującego programisty Pythona:
(otwórz w nowej karcie, aby powięszyć)
5. Zdobądź kompetencje!
Masz listę umiejętności i obowiązków, które wiążą się z twoim wymarzonym stanowiskiem. Zacznij działać!
Znajdź kompetencje, które już masz – warto je zanotować. Za jakiś czas zaczniesz się skupiać tylko na aspektach technicznych, zapominając o cennych doświadczeniach, umiejętnościach, które możesz przenieść na nowe obszary. Nawet bez doświadczenia komercyjnego masz atuty, które można wyeksponować w CV czy na LinkedIn – pomyśl o projektach studenckich czy wolontariacie.
Wybierz umiejętności, które się najczęściej powtarzają.
Postaraj się zidentyfikować te najłatwiejsze i przechodź do coraz trudniejszych. Niektóre umiejętności na poziomie postawowym jesteś w stanie opanować w kilka dni, a przy kolejnej okazji do nich wrócić. Na przykład opanowanie podstaw SQL zajmie Ci jedno popołudnie, a później podczas nauki back-endu (np. PHP, Pythona, Ruby czy Javy) trafisz na połączenie z bazą danych i na pewno łatwiej do tematu podejdziesz mając już ogólne pojęcie o temacie.
Wiesz jaki język potrzebujesz. Jak nauczyć się programowania? Regularnie. Jedyny skuteczny sposób to nie uczenie się z doskoku raz na 2 tyg, a solidne wpisanie nauki programowania w plan dnia.
Weź też pod uwagę kolejkę priorytetów. Znajomość HTML i CSS jest podstawą ścieżki Front-End Developer. Jeśli jednak chcesz rozwijać się jako Back-end developer, HTML i CSS nie muszą być Ci konieczne na start. Wystarczy znajomość tych technologii na poziomie postawienia prostego kodu pozwalającego na wyświetlenie wyników operacji na back-endzie. Za to warto już na wczesnym etapie nauki poznać system kontroli wersji Git.
Dla przykładu tworzenia aplikacji w Pythonie możesz uczyć się tak:
ale nauka Python nie wymaga znajomości HTML’a, więc dobra, a może nawet lepsza będzie kolejność:
Ta kolejność zależy od Twoich preferencji i czego przyjemnie Ci się uczy.
Innym podejściem, może być nauczenie się tego, do czego masz najbliżej.
Załóżmy, że rozważasz kilka stanowisk związanych z programowaniem, nie możesz zdecydować się na doprecyzowanie konkretnego stanowiska, a Twój cel długoterminowy to zmiana pracy na lepiej płatną (nie zbyt konkretna). Dość dobrze czujesz się w Excelu, tylko co dalej?
Możliwe, że to dobry punkt wyjścia do pracy związanej z analizą danych (Data Science). Jeżeli masz pracę, w której wykorzystujesz Excela, może nie musisz rzucać wszystkiego i zaczynać od HTML i CSS, tylko dlatego, że front-end ma niski próg wejścia(to zależy 😉 ). Może warto poznać język VBA, a dalej spróbować swoich sił w kierunku całkowitej zmiany branży. Doświadczenie z programowaniem będzie cennym wpisem do CV.
Opcji, jest tak dużo, że bez wcześniejszego przeanalizowania i zawężenia tematów można zupełnie się w tym wszystkim pogubić. Na szczęście tym masz swój arkusz umiejętności technicznych, mniej więcej wiesz w jakiej kolejności chcesz je zdobyć i teraz też wiesz co wpisać w google. Możesz uczyć się za pomocą kursów online, chodząc na warsztaty, robiąc tutoriale, czytając blogi i książki…oraz na wiele innych sposobów!
„A co jeśli wszystko to już wiem, ale nadal nie wiem jaki język programowania jest dla mnie?”
Ciężki przypadek, jeżeli Twoim największym jest wybór języka programowania i tylko to Cię powstrzymuje przed dalszym rozwojem to się sięgnij po quiz: programming language for me.
Ponadto, jeżeli póki co chcesz tylko zacząć programować, spróbować czy programowanie jest dla Ciebie polecam naukę Pythona. Jest w mojej opinii najlepszym językiem dla początkujących. Z wpisu 10 powodów, by nauczyć się Pythona, dowiesz się dlaczego tak uważam.
Jak nauczyć się programować w języku Python?
. Czas połączyć wszystko w całość. Masz swoje notatki? Wiesz już jak zacząć programować – sprawdźmy na przykładzie:
1. Oto Hania
Po skończonych studiach z zarządzania od początku ma pracę biurową. Obecnie od kilku lat pracuje w sekretariacie w międzynarodowej korporacji. Wybór, niestety, okazał się dla niej pomyłką. Praca zupełnie nie daje jej satysfakcji – nie ma przestrzeni żeby się rozwijać, zostać docenioną, ani aby dostać awans. Ponadto jej stanowisko wiąże się z dużą liczbą nadgodzin zupełnie od niej niezależnych. Chciałaby zostawić sztywną, korporacyjną atmosferę. Zdobyć pracę, którą może zamknąć po skończonych 8 godzinach, przy której może pozwolić sobie na dłuższy wyjazd bez poczucia winy i niepokoju.
2. Hania doszła do wniosku, że może się przebranżowić, zacząć programować. Nie wiedziała jeszcze nic o programowaniu, ale słyszała, że to dobra praca wymagająca ciągłego rozwoju.
Hania:
- jest znudzona obecną pracą
- chce się rozwijać i wykazać
- potrzebuje luźniejszej atmosfery w pracy np. start-up’u
3. Jak wiele osób początkujących nasza bohaterka zaczęła się uczyć HTML i CSS, gdyż od razu widać efekt napisanego kodu. Doszła do JavaScriptu, stworzyła stronę ze sliderem i utknęła. Przeskoczenie pewnego progu w nauce okazało się dla niej wręcz niemożliwe. Dodatkowo, cały czas nie czuła się dobrze na froncie, gdyż miała ciągłe wrażenie, że brak jej poczucia estetyki.
Stąd postanowiła przemyśleć jeszcze raz ścieżkę kariery. Przejrzała oferty pracy w kategorii informatyka. Wypisała sobie nieznane pojęcia i przeczytała w Internecie opisy po szczególnych stanowisk IT. Na tej podstawie wybrała ścieżkę: back-end.
Back-end pozwoli jej na tworzenie aplikacji webowych od strony logicznej, niewidocznej dla użytkownika. W jeden weekend Hania obejrzała na youtubie kursy podstaw programowania w kilku językach back-endowych. Tak na podstawie wrażeń z tutoriali i po lekturze kilku artykułów wybrała Pythona na start. Mimo, że trudniej dostać staż czy stanowisko juniorskie, to są one często lepiej płatne.
Zaczęła od interaktywnego kursu Pythona przy okazji powtarzając język angielski.
4. Następnie wypisała sobie konieczne umiejętności:
– programowanie w Pythonie 3
– znajomość systemu kontoli wersji Git
– znajomość baz danych SQL
– znajomość frameworku webowego Flask/Django
5. Hania wybrała darmowe materiały.
Po wprowadzającym kursie sięgnęła po książkę do Pythona „Automatyzacja nudnych zadań w Pythonie” (darmowa po angielsku). Poszukała prostych i trochę bardziej skomplikowanych zadań w Pythonie.
Żeby się sprawdzić sięgnęła do 50 zadań w dowolnym języku programowania. W związku z tym postanowiła też poznać system kontroli Git. Obsługa Gita okazała się zaskakująco prosta, więc wszystie kody Hania umieszczała na bieżąco w dobrze opisanych repozytoriach. Wrzuciła też swoje dotychczasowe projekty front-endowe.
Następnie przeszła do nauki baz danych, trochę teorii i trochę interaktywnych tutoriali. Uznała, że czas znaleźć jakiś praktyczny przykład połączenia Pythona i SQL. Zaczęła szukać darmowych tutorali i odkryła, że większość z nich sugeruje użycie Flaska lub Django. Tak nasza bohaterka przeszła krok dalej, wzięła się za ostatni punkt ze swojej listy – poznanie frameworków. Zaczęła od pierwszego – Flaska, by później przejść do Django.
Nie raz utknęła na długie godziny i miała ochotę się poddać, ale miała swoje cele i powody dlaczego zależy jej na przebranżowieniu.
Postawiła na standardowe projekty, do których można znaleźć przykładowe rozwiązania: książkę telefoniczną, to-do listę, własny blogowy CMS (np. Django girls udostępnia taki tutorial) czy chat. Każdy projekt wrzuciła i opisała na Githubie, a także udostępniła je na Heroku.
Zaprojektowała też własną aplikację z wykorzystaniem zewnętrznego API oraz aplikację RESTową.
6. Hania rozsyła swoje CV do firm programujących w Pythonie, nawet jeśli nie mają w tej chwili stażu czy stanowisk juniorskich, gdyż ma mocne podstawy, by dostać się na staż 😉
Mam nadzieję, że ten post pomoże wam w wyborze ścieżki kariery i odpowie na tytułowe pytanie „Jak zacząć programować?” i jak skąd tak naprawdę wiedzieć czego się uczyć 😉
Jeżeli ten post Ci pomógł, zostaw krótki komentarz albo like na facebooku, żebym wiedziała czy takie tematy faktycznie się przydają 😉
Już napisałam na FB, ale co mi tam, tutaj też napiszę: DZIĘKUJĘ! Ja cały czas odpowiadam sobie na pytanie, co dalej po bootcampie, ale bardzo się cieszę, że szukanie odpowiedzi daje mi mnóstwo satysfakcji. I coraz więcej linijek kodu. Serdeczności!
po bootcampie na pewno utrwalanie i kodowanie! 😀 cieszę się, że się przyda i polecam się, zwłaszcza jeśli masz komu podać dalej, niech też sobie poukłada plan ^^ Pozdrawiam ciepło i trzymam kciuki
Dzięki za kciuki – na pewno się przydadzą 🙂
Czyli bootcamp nie dał pracy tak jak to reklamują?
Cześć Michał, pracy chyba nie gwarantuje żaden bootcamp no chyba, że zatrudnią kogoś u siebie 😉 sam sobie musisz znaleźć, ale wsparcie merytoryczne doradców kariery czy też „szybkie randki” z potencjalnymi pracodawcami były organizowane podczas nauki. Ja na razie planuję pracę jako podwykonawca, a nie jako osoba zatrudniona na etacie u kogoś. Jak wyjdzie, to się okaże – zapraszam po więcej info pod #kasiaikod (jeśli mogę się tak w komenatrzu zareklamować)
Zastanawiam się nad startupami, czy faktycznie da się z takich firm wyjść po 8 godzinach? Bo moje doświadczenia z mniejszymi firmami jest takie, że nie ma bata, czasami trzeba przysiąść i skończyć swoją robotę…
w każdej pracy chyba jest czasem jakiś gorący okres. Pracuję w firmie, która jest starupem i wręcz nie ma zgody na nadgodziny 😉 40h w tygodniu i trzeba wyjść mieć życie ;D dla zdrowia psychicznego
Bardzo się cieszę, że ktoś w końcu postanowił coś takiego napisać. Decyzję o programowaniu podjęłam już dawno, mam też kilka podejść do tego i mega mi się to podobało, ale nigdy nie mogłam zajść dalej, bo brakowało mi poczucia celu, no i trochę się gubiłam w tym, co chciałabym robić. Zrobiłam już swoją listę, wyobraziłam sobie konkretniej, co bym chciała robić, więc teraz już tylko o tym pamiętać, i do przodu! <3
Dziękuję bardzo!
trzymam kciuki! 😛
Dziękuję! Notatki zapisałam do zeszytu i nadałam mu tytuł SUKCES! 🙂
Trzymam kciuki, oby miał proroczą nazwę! 😀
Żeby polubić programowanie, trzeba sobie odpowiedzieć na pytanie, czym konkretnie chcemy się zajmować. W poszukiwaniu takiej odpowiedzi, przeglądałem ogłoszenia o pracę, w celu zebrania zestawu najbardziej powtarzających się wymagań. Ogromnym szczęściem, było natrafienie na ofertę szkolenia – my nauczymy Cię wszystkiego potrzebnego, co Ci się przyda do pracy, a Ty będziesz dla nas pracować, po skończonym szkoleniu. W taki sposób, właśnie znalazłem swoją pierwszą pracę i pokochałem programowanie. Nauka przez osoby, które się na tym znają i wykorzystują to na praktycznych przykładach, jest zupełnie inna, niż ta akademicka, czy też z kursów.
Jeżeli dopiero zaczynasz i szukasz swojej pierwszej pracy, polecam do zapoznania się z podstawami danego języka, linuxa, gita oraz dobrymi praktykami programowania. Dzięki temu, będziesz w stanie dostać się na staż lub na stanowisko juniora i pod opieką osób bardziej doświadczonych, rozwijać swoje umiejętności.
Dlaczego Magdalena stała się Anną, a Iza Dagmarą?
przez moje gapiostwo – nazywałam je w locie, potem coś zmieniałam i tak wyszło 😀
Rewelacja! Świetny artykuł i bardzo dobrze się czytało. Jako dopiero ucząca się podstaw i całego słownictwa młoda programistka zrobiłam dużo zakładek z Twoimi artykułami i zamierzam je wszystkie przeczytać. Powiem, że przykład z ingerencją czytelnika czyli stworzenie swojego planu na najbliższe lata oraz przykład Hanii jest megaa pomocny! :DD dziękuje.
cieszę się, że przykład rozjaśnił drogę 😀 myślę, że plan wygląda tylko tak groźnie i z najbliższe lata okażą się najbliższymi miesiącami ^^
dzięki za twoje zdanie w tej kwestii. mnie się wydaje, że już wiem, czego chcę, ale twoje konkretne postawienie sprawy jest dla mnie dodatkowym bodźcem do jeszcze lepszego zaplanowania mojego przebranżowiania się. ja po HTML i CSS oraz PHP, które liznęłam dla wiedzy: czy i jak i co chcę, stwierdziłam, że nie chcę robić stronek (choć do nauki Pythona wymyśliłam akurat…. stronkę [sic!], którą chciałabym zrobić w tym języku), wolę SQL i Bazy Danych <3 właśnie siedzę nad kursem tegoż na YT, z resztą zaczęłam od twojego wpisu o nim 😀 eh! przyznam, że przeraża mnie ilość pracy, którą trzeba włożyć w zrozumienie i używanie technologii z zakresu IT, ale jak juz powiedziałam A... dzięki raz jeszcze, pozdrawiam!
Dzięki! Właśnie tego szukałam 🙂 zaczynam roczny macierzyński i chciałam coś zmienić (praca w korpo). Trafiłam na ten artykuł i przeczytałam od deski do deski. Jednak bez porównania- kobieta pisze lepiej o programowaniu. Prosto, zwięźle i na temat a przede wszystkim składnie, logicznie i obrazowo 🙂
Świetny tekst! Inspirujący 🙂 Ja zaczynałam od gry do nauki programowania Scottie Go! Labirynt. Dzieci dostały tę grę IT od mojej kuzynki i sama się wkręciłam. Super do nauki przez zabawę. Teraz szukam czegoś dla siebie także dzięki za ten tekst 🙂
Cześć.
Myślę że pytanie które zadam ma niejeden początkujący programista w głowie.
Pytanie trochę ogólne co do programowania ale tyczy się każdego języka. 'Liznąłem’ trochę podstaw javy, pythona, kotlina …ale mam problem. Nie chodzi mi tutaj o żaden konkretny język bo według mnie 'mój’ problem tyczy się każdego języka a wzasadzie osoby która chce w nim coś potworzyć 😉 Dla przykładu, na oficjalnych stronach 'producentów’ danego języka wiadomo że jest dokumentacja oraz 'jakieś małe przykładziki’ i krok po kroku mniej lub bardziej wytłumaczone kawałki kodu. Być może nie spotkałem jeszcze takiego kursu, ale w każdym (darmowym) czy to na różnych blogach dla początkujących nikt o tym nie mówi. Tylko wymyślaj sobie programy i je rób itd. itp., co nie wiesz szukaj w necie, ktoś może już ten problem miał. Teraz po dłuższym wstępie sedno pytania. Być może nie umiem korzystać z dokumentacji do danego języka albo gdzieś (?) niedoczytałem. Skąd ja mam wiedzieć jak poprawnie napisać dany program? Przykład: prościutka aplikacja na androida która wyświetla kontakty w telefonie i pozwala zadzwonić albo wysłać smsa (taka zastępcza zamiast 'stockowej’). I tu pytanie jak się za to zabrać? Podany przykład widziałem na polskim tutku. Jakich klas użyć żeby dobrać się do kontaktów, dotego użyć jeszcze jakichś adapterów potrzebnych do danej klasy, ta klasa ma dziedziczyć po tej itd. itp. Gdzie jest ta magiczna wiedza zapisana że programista wie które dokładnie klasy, interfejsy powinien użyć. W dokumentacji przecież nie ma takich rozwiązań podanych. Nie jest napisane: weź klasę A,B,C i masz to czego chciałeś. To jest moja blokada której nie potrafię przeskoczyć. nie jeden powie że już ktoś pisał taką apkę i skorzystaj z jego rozwiązania, ale ten ktoś inny też chyba musiał to napisać i wiedzieć co konkretnie użyć. Gdzie jest ta wiedza ? A jak programy/sample pisze producent danego języka ?? przecież nie przez zgadywanie i kombinowanie. Sam ten język/składnie/klasy/interfejsy/adaptery itd. itp. skonstruował i wie jaki 'klocek’ z jakim połączyć żeby wyszło to co chce. Nie wierzę że 'reszta’ programów powstaje przez kombinowanie: jak klasa 'a’ nie działa z 'b’ to może zadziała 'c’, czas ucieka, to może jednakl zadziała z 'g’. Dlaczego nikt o tym nie mówi ? to kosztuje czy jak
Pomocy 🙁
I tutaj pojawia się podstawowa kwestia. Tego nigdzie nie ma. Komputerów też kiedyś nie było i żaden człowiek nie znalazł nagle instrukcji „Jak zbudować komputer”, tylko musiał wpaść na pomysł 😉
Smutny uczeń, to o co pytasz nosi nazwę „SDK” (Software development kit) – jest to zestaw narzędzi dla programistów niezbędny w tworzeniu aplikacji. Takie narzędzia są powszechnie dostępne i zawierają m.in. pliki PDF ze spisem różnych class, opisem ich działania oraz przykładami użycia. Stąd właśnie programiści biora wiedzą, jakich bibliotek czy klas użyć.
Poczytaj sobie w internecie, co to jest Android SDK 35.0.2 i jak się go używa.
Wbrew temu co napisał niejaki „Wiktor” pod twoim komentarzem, nikt dziś nie wymyśla programów samemu. Od tego jest SDK. Gdyby nie istniały dokumentacje typu SDK, to programiści musieliby działać na oślep, co jest bez sensu.
Przykładowo – gdy Microsoft wypuscił na rynek telefony z systemem WindowsPhone 8.1, to na swoich serwisach opublikował od razu SDK Tools For WindowsPhone 8.0, w którym umieścił nie tylko dokumentację, ale tez specjalna wersję Visual Studio 2012 Express For WindowsPhone, która bardzo ułatwiała pisanie apek na smartfony Lumia. A w plikach PDF dołaczonych do owego SDK były opisane wszystkie biblioteki, klasy itd jakie były potrzebne, żeby móc pisac programy na telefony Lumia.
I nie ucz się programowania tylko z internetowych tutoriali, bo wiedzę z tutoriali ciężko spiąć w całość i bazując tylko na tutorialach i zawsze będziesz miał wątpliwości, czy umiesz już wszystko co potrzeba, żeby wreszcie zacząć programować.
Skołuj sobie jakiś prawdziwy podręcznik programowania – jak np. „Od zera do gier kodera”. Podręczniki pisane są przez zawodowców i uczą tego o co pytasz. Uczą podejmowania decyzji – jak wymyślić algorytm programu, po jakie biblioteki sięgać, jakich klas użyć, jaka drogą pójść.
Cześć! Trafiłem tu w sumie przez przypadek ale jedno chce powiedzieć.: Żałuje, że nikt nie napisał takiego artykułu 10 lat temu kiedy zaczynałem swoją przygodę z wyborem ścieżki zawodowej…
Ja już kończę ten tutorial na djangogirls i chyba nikt tam się do tej pory nie zorientował, że nie jestem dziewczyną 😀
Pani Rito – proszę o szczera odpowiedź .
Mając 44 lata, ogólną praktyczną wiedzę z obsługi komputera, incydent nad opiekowaniem się stroną internetową, zajęcia w policealnej szkole z dBASE iV i praca zaliczeniowa napisana w SQL, praca obecnie związana z SAP – początki na tą chwilę, chęci do nauki nowych tematów, ale nie mając z drugiej strony za dużo czasu ,jedynie w tygodniu chwilę – w weekend może więcej – jest szansa nauczyć się „dobrze” języka Python?
Załóżmy, że będę korzystał z poradników np takich jak tu na flynerd.pl, później jak zdobędę trochę gotówki i sytuacja się uspokoi w kraju zaliczę parę kursów i potrwa to np dwa lata…biorąc pod uwagę ,że bardzo szybko uczę się nowości, znam język angielski to jest to realny czas, po którym bez siary będę mógł zaaplikować i nikt nie powie spadaj dziadu, czy sobie dać spokój …nie ukrywam, że chodzi o hajs i chciałbym lepiej płatną pracę znaleźć, ale chciałbym też zaszczepić w moim synu smykałkę do programowania, żeby chłopak miał lepszy start..
Z góry dziękuje za odpowiedź…
P.S. Oczywiście hobbistycznie i tak się Pythona będę uczył
Z ciekawości czemu nie chcesz zostać wdrożeniowcem SAP i systemów ERP? Przecież to też są konkretne pieniądze i chyba łatwiej dalej iść w tę tematykę niż znowu zaczynać od zera?
Zwłaszcza jak znasz niemiecki to jest tyle ofert za takie kwoty, że głowa mała, nie jeden senior programista tyle nie zarabia.
Pytam z ciekawości
Jak zacząć programować?
Złapać jakiekolwiek podstawy i zrobić od zera projekt, nawet taki mały – kalkulator, czy to do list, najpierw konsolowy, potem desktopowy, a na koniec w wersji webowej. Tą samą koncepcję rozwijać o kolejne elementy: masz już webowe to-do? To teraz pora na logowanie, rejestrację, role, zabezpieczenia, optymalizację bazy danych etc.
Parę dni temu porwałem się na platformę do sprzedaży kursów online, pisałem nawet po 10h dziennie (właśnie jestem po takim maratonie), ale nauczyłem się więcej niż przez ostatni rok.
Btw. Znasz jakieś wtyczki do obsługi płatności do prostej implementacji we własnym projekcie?
Obecnie mam już front-end, responsywność, bazę, walidację, rejestrację, logowanie, zabezpieczenia, CRUDY i właśnie zaimplementowałem tagi, został koszyk i płatności właśnie.
Dzięki za ten wpis. Takiej właśnie inspiracji szukałem żeby poukładać sobie kolejność działań. Pozdrawiam
Takie artykuły są bardzo przydatne dla osób bez wiedzy i doświadczenia, nie mających znajomych w branży IT których mogłyby spytać o poradę. Sam również zabrnąłem swego czasu w etap gdzie nie wiedziałem w którą iść stronę i za co się zabrać. Co będzie dla mnie najlepsze? Którą obrać drogę? Ta branża to ogrom wiedzy, który niełatwo ogarnąć na początku.
Bardzo fajny wpis, widziałem ostatnio podobne artykuły i ten się wyróżnia na tle innych oraz jest wart uwagi. Konkretnie objaśniony temat. Bardzo przyjemnie się go czyta. Czekam na takich więcej 🙂
Dzięki za ten wpis! Właśnie siadam do swojej listy. Pisałem o tym, że miałem jakiś czas temu podejście do programowania pod twoim tekstem o tym dlaczego zacząć programować w Pythonie. U mnie niestety zabrakło konsekwencji a to dlatego bo utknąłem na czymś w Javascripcie. Nie miałem też tak jasno okreslonych celów. Teraz nie popełnię tego samego błędu.
Świetny wpis. Osobiście nauczyłam się programowania z pomocą DT, którzy oferują szkolenia IT o różnym zakresie, które możesz znaleźć na -> deeptechnology. W pełni polecam kursy. Jeżeli chcesz na prawdę nauczyć się programowania to zdecydowanie swoją przygodę warto zacząć od DT!
Dzięki, mega pomocny artykuł, ja ostatnio zrobiłam sobie bezpłatny kurs InfoshareAcademy też był dobry zeby zweryfikować jak mi poszło i czy to dla mnie.