Nauka programowania - co robię nie tak? Programowanie jednak nie dla każdego? Inne ścieżki kariery w IT.

0

Witam. Słowem wstępu, nie chce aby ten post był wylewaniem żalu na forum, że mi coś nie wychodzi.
Bardziej chodzi mi oto, aby był to drogowskaz dla innych jak powinno się efektownie uczyć programowania a jak tego nie robić. Streszczę swoją historie, aby lepiej zobrazować o co mi chodzi...

Dałem się porwać wszechobecnemu twierdzeniu iż praca programisty to swego rodzaju mekka na rynku pracy. Świetne zarobki, ogromny popyt na pracowników, możliwość kreatywnego rozwoju, pracy twórczej. Rynek IT bardzo mnie zaciekawi i jako osoba interesująca się nowymi technologiami uznałem, że jest to coś dla mnie. Po skończeniu studiów które były pomyłką postanowiłem zostać programistą.
Przez 5 miesięcy pracowałem fizycznie po 13-14 godzin 7 dni w tygodniu aby odłożyć pieniądze na późniejszą naukę programowania w domu. Przez 2 miesiące czytałem książkę, przerabiałem tutoriale w sumie nic z tego nie wynikło poza podstawową wiedzą teoretyczną i uważam, że nie jest to dobra forma nauki. Następnie zacząłem robić dość trudne jak Dla Mnie zadania, których ciężko znaleźć jakieś wskazówki w internecie bo są niestandardowe. Myślałem, że dzięki temu rozwinę umiejętności analityczne i rozwiązywania problemów programistycznych. Ale jedyne co mnie spotyka to coraz większa frustracja, rozgoryczenie.
Coraz częściej sądzę, że zmarnowałem tylko czas i pieniądze.. Codziennie siedzę nad kolejnymi zadaniami po kilka godzin i nie wiem jak je rozwiązać to frustruje są to zadania matematyczne i też nużące. Może to nie jest właściwa droga? Znam podstawy Javy, ify, tabele, pętle, obiektowość, kolekcje.

Może powinienem stworzyć jakiś prosty projekt i szukać informacji ,uczyć się w trakcie jego tworzenia .Może możliwość tworzenia czegoś własnego przyniesie mi wreszcie satysfakcje, a nie tylko frustracje i gniew na siebie. A może faktycznie po prostu to nie jest dla mnie. Uczę się pod presją, czas i pieniądze powoli się kończą. A ja stoję w miejscu.
Chciałbym zapytać czy być może są jakieś inne ścieżki kariery z mniejszą barierą wejścia w rynek IT. Słyszałem o testerze manualnym czy to dobry pomysł? Nie chce się poddawać. Gdybym znalazł pracę i w spokoju bez presji uczył się po godzinach programowania może szło by to lepiej. Prosiłbym o jakieś wskazówki osób które jednak pracują w tej branży i mają o niej pojęcie. Chciałbym uniknąć odpowiedzi typu: "Zostań piekarzem, spawaczem", "W branży IT nie każdy musi pracować". Ja naprawdę chce się rozwijać i uczyć tego rzemiosła i czerpać satysfakcję płynącą z tego. Serdecznie pozdrawiam i dziękuje za jakiekolwiek wskazówki i szczere odpowiedzi bez drwin.

1

Myślę, że napisanie czegoś swojego to dobry pomysł. Z jednej strony ze względu na to, że się nabiera praktyki w programowaniu, a z drugej strony ze wzgledu, że można pokazać przy jakiejś rekrutacji, żeby łatwiej rekrutującym było określić poziom.

Pomysł z testowaniem manualnym nie jest zły. Może próg wejścia jest niższy, ale to tak nie wygląda, że to taka bułka z masłem (niektórzy mają takie mniemanie, że sobie testerzy tak siedzą i klikają). +automatyzacja testów. Testowanie to też trochę inna ścieżka kariery w IT.

Czy szukałeś pracy, jakichś praktyk? Może łatwiej było by ci okreslić czego to IT od ciebie chce na start.
Czasem się zarzają projekty, które są dobre na start. Może warto się skontaktowac z jakąś firmą rekrutacyjną, może mają wgląd w takie rzeczy.

W sumie w temacie to słyszałem tylko o Karotkach. Z tego co zrozumiałem, to trochę zajmują się taką tematyką. Może one mają doświadczenie, orientują się jak podejśc do tematu.
http://edutorial.pl/edutech/zlap-bakcyla-do-programowania-z-geek-girls-carrots/#

2

Zadania ze spojów / TopCoderów czy innych takich są fajne dla ludzi których jara rozwiązywanie problemów i zagadek ale niekoniecznie dla reszty. W typowym programowaniu raczej się nie przydaje a np. dla mnie pełnią funkcję raczej takiej gimnastyki umysłowej.

Książka to dobry starter bo wiedza jest zazwyczaj dobrze poukładana, potem jednak trzeba zacząć robić jakieś projekty. Zazwyczaj ludzie chętniej zaczynają z czymś wizualnym np. stronki albo w twoim przypadku appki Javowe z wykorzystaniem Swinga / JavaFX.

Rynek IT bardzo mnie zaciekawi i jako osoba interesująca się nowymi technologiami uznałem, że jest to coś dla mnie.

Ekhem, to raczej tak nie działa. Chociaż pewnie połowa progmistów została programistami bo 'lubiła grać w gry'.

Może możliwość tworzenia czegoś własnego przyniesie mi wreszcie satysfakcje, a nie tylko frustracje i gniew na siebie.

Może tak, może nie.

Chciałbym zapytać czy być może są jakieś inne ścieżki kariery z mniejszą barierą wejścia w rynek IT. Słyszałem o testerze manualnym czy to dobry pomysł? Nie chce się poddawać. Gdybym znalazł pracę i w spokoju bez presji uczył się po godzinach programowania może szło by to lepiej.

Tester. Ale nie będzie szło lepiej, będzie gorzej.

Ja naprawdę chce się rozwijać i uczyć tego rzemiosła i czerpać satysfakcję płynącą z tego.

Ale po co chcesz to robić? Raczej nie masz z tego frajdy, raczej nie masz też żadnej większej wizji więc trochę się katujesz i liczysz, że później to katowanie będzie sprawiało przyjemność bo będzie za pieniądze. Ale zrób jakiś projekt, może faktycznie zaskoczy, w końcu dopiero od 2 miesięcy w tym siedzisz.

4
  1. Testowanie to jakaś opcja, próg wejścia niższy a jest szansa że "przy okazji" będziesz się mógł wprawiać powoli w testowanie automatyczne/skryptowanie

Następnie zacząłem robić dość trudne jak Dla Mnie zadania, których ciężko znaleźć jakieś wskazówki w internecie bo są niestandardowe

Ja widzę o jakie zadania pytasz na forum i chyba lekko przesadzasz. Bo wypełnienie tablicy losowymi wartościami czy dodanie do wszystkich elementów w tablicy jakiejś wartości albo policzenie średniej z wartości w tablicy to nie są żadne niestandardowe zadania ani top coder level. To są absolutne podstawy i bez nich to trudno cokolwiek mówić o jakimś programowaniu ponad hello world.
3. 2 miesiące to jest bardzo niewiele czasu, stanowczo za mało żeby nauczyć się programować. Jakby ktoś był dobrym koderem to moze w 2 miesiące opanowałby nowy język o znanym paradygmacie, ale newbie nie zrobi od zera do bohatera choćby nie wiem co. Chyba że masz pod ręką trochę NZT-48 ;)

0

Stworzenie własnego projektu chyba będzie najlepszą możliwością zweryfikowania tego czy programowanie jest faktycznie tym co powinienem robić Wybierając ten zawód, nie myślałem o zarobkach. Choć wiadomo jak każdy, ja też chcę żyć godnie. Bardziej chodziło mi o posiadanie umiejętności w której będę mógł się rozwijać. Jestem introwertykiem dlatego też praca przy komputerze mi odpowiada. Lubię się uczyć, poznawać nowe rzeczy. Ponadto wiele osób mówi, że w tej branży pracuje wiele ciekawych, inteligentnych osób. A z takimi chciałbym obcować. Zajmę się stworzeniem jakiegoś wizualnego programu, wydaje mi się to wiele ciekawsze. Niż ciągłe robienie takich zadań,.

1

Twoja frustracja wynika z kilku rzeczy. Głównie z tego, że MUSISZ już i teraz umieć programować i dostać pracę jako programista. Tak się nie stanie. Nawet, jeśli będziesz geniuszem, to nie znajdziesz pracy jako programista nie mając żadnego doświadczenia. No, w końcu znajdziesz, ale to nie będzie łatwe i musisz pokazać, że coś zrobiłeś. Piszesz, że siedzisz nad zadaniami matematycznymi. Po co? Po prostu zacznij pisać coś swojego. To może być na początek odtwarzacz plików mp3 z funkcjonalnością podobną do Winampa. W pierwszej wersji niech to będzie odtwarzacz z listą odtwarzania. W drugiej dodaj obsługę tagów ID3. W trzeciej wersji możesz dorobić do tego jakiś prosty equalizer. Będziesz szedł małymi krokami, ale co jakiś czas zobaczysz efekty, a przy okazji dużo się nauczysz. Nauczysz się drugie tyle na swoich błędach, które będziesz popełniał (głównie zła organizacja kodu itd). Także, żeby nie zostać z ręką w nocniku, znajdź sobie teraz jakąś pracę, a po godzinach i weekendami klep kod. Tak, to jest ciężkie. Ale gdyby to było łatwe, to co drugi byłby dobrym programistą :)

0

na razie zdecydowałem, że ogarnę temat testowania. Po krótkim zagłębieniu wydaje się ciekawy. Wyszukiwanie błędów może dawać satysfakcje. Poszukam literatury, następnie zaczepię się do jakiegoś projektu open source żeby móc zdobywać doświadczenie. Za jakiś czas planuje certyfikację ISQTB. I będę szukał pracy w zawodzie testera. Da mi to pewien komfort nauki bo będę zarabiał. Po godzinach na spokojnie będę grzebał przy kodzie i pójdę albo w stronę testów automatycznych albo programowania. Ale to dalsza przyszłość. Teraz najważniejsze jest dla mnie znalezienie pracy, bo fakt iż jej nie posiadam trochę mnie stresuje. Dziękuje za pomocne odpowiedzi :). Zabieram się do roboty .

2

W przejściu na wyższy level bardzo pomaga czytanie cudzego kodu - jakieś małe/średnie projekty z Gita i robienie czegoś podobnego od początku do końca.

1

Co prawda już od dłuższego czasu nie zajmuję się desktopami ale swego czasu też robiłem coś co niektórzy czasem robią, mówimy tu o odtwarzaczu mp3 ale to z takimi funkcjonalnościami, których nawet Winamp albo AIMP nie ma i przy tym te programy teoretycznie powinny wymiękać. Biorąc jednak pod uwagę ocenę społeczności (zrobiłem prosty gwiazdkowy system oceny za pomocą AJAX) na swojej stronie okazuje się że to nie takie proste jakby się wydawało.

Program pod Windows który posiada takie funkcje jak np. logarytmiczna regulacja głośności z loudness, regulacja bazy stereo, od mono, przez normalne stereo po super stereo (co oznacza w praktyce symulację szerszego rozstawienia głośników), equalizer nie na 3, 5 czy 10 pasm (robiłem je w opcji) ale aż na 31 pasm, różne zniekształcenia (skrośne, przesterowanie, nasycenie, z regulacją) i jeszcze ciekawą funkcjonalność w trybie shuffle, ze statystyczną analizą tego co najczęściej słucham, wtedy program sam losowo próbuje zgadnąć co chcę słuchać, niestety w ocenie społeczności (no dobra, na razie mało głosów) słabo niestety wygląda i sądzę że dużo się tutaj rozbiega np. o interfejs graficzny, bo z Winampem czy AIMP-em to nie mam startu.

Do czego zmierzam. Spróbujcie jeszcze zrobić to dobrze, tak żeby się użytkownikom podobało i jeszcze żeby chcieli za to zapłacić. Bo to chyba o to się rozbiega. Bo to nie sztuka napisać cokolwiek, licząc jeszcze na to że będzie to jakiś dowód na swoje umiejętności.

3
devKoksu napisał(a):

Dałem się porwać wszechobecnemu twierdzeniu iż praca programisty to swego rodzaju mekka na rynku pracy. Świetne zarobki, ogromny popyt na pracowników, możliwość kreatywnego rozwoju, pracy twórczej. Rynek IT bardzo mnie zaciekawi i jako osoba interesująca się nowymi technologiami uznałem, że jest to coś dla mnie. Po skończeniu studiów które były pomyłką postanowiłem zostać programistą.

To tak nie działa. Zazwyczaj z takich postanowień niewiele wychodzi.

Ja zanim zostałem programistą i zdobyłem pierwszą pracę w zawodzie poświęciłem tysiące godzin na naukę. Zacząłem już w 7-8 klasie szkoły podstawowej, a później kontynuowałem w liceum. Na początku zainteresowałem się Pascalem, później pojawiła się Java i C++. Kupowałem dziesiątki gazet, przerabiałem tutoriale i kursy, chodziłem na darmowe zajęcia z programowania do centrum komputerowego w moim mieście. W tamtym czasie mocno interesowałem się również historią i planowałem zostać prawnikiem, nigdy nie myślałem, że będę pracował jako programista. Dopiero pod koniec liceum, kiedy pojawiła się konieczność wyboru przedmiotów na maturę zdecydowałem się ostatecznie zdawać matematykę i fizykę oraz startować na studia informatyczne.

Oczywiście droga każdego programisty wygląda inaczej, jedni zaczynali wcześniej, inni później, jedni studiowali Informatykę, inni coś zupełnie innego, ale każdy gdzieś po drodze łapał bakcyla do informatyki i programowania. Prawdę mówiąc nie znam nikogo, kto by sobie postanowił, że kimś zostanie, bez jakiegokolwiek wcześniejszego zainteresowania danym tematem.

Przez 5 miesięcy pracowałem fizycznie po 13-14 godzin 7 dni w tygodniu aby odłożyć pieniądze na późniejszą naukę programowania w domu. Przez 2 miesiące czytałem książkę, przerabiałem tutoriale w sumie nic z tego nie wynikło poza podstawową wiedzą teoretyczną i uważam, że nie jest to dobra forma nauki. Następnie zacząłem robić dość trudne jak Dla Mnie zadania, których ciężko znaleźć jakieś wskazówki w internecie bo są niestandardowe. Myślałem, że dzięki temu rozwinę umiejętności analityczne i rozwiązywania problemów programistycznych. Ale jedyne co mnie spotyka to coraz większa frustracja, rozgoryczenie.

Dwa miesiąca to bardzo mało, żeby zgłębić jakikolwiek temat, szczególnie tak złożony jak programowanie. Dodatkową trudność stanowi to, że uczysz się sam poprzez czytanie książki i przerabianie tutoriali. W mojej ocenie potrzebujesz znacznie więcej czasu. Powinieneś poświęcić na naukę przynajmniej rok przy założeniu, że co tydzień wygospodarujesz około 20 godzin na naukę. Po roku to będzie około 1000 godzin w sumie. Przez ten czas można spokojnie poznać jakiś język programowania, najpopularniejsze biblioteki i narzędzia (np. IDE, system kontroli wersji, a do tego liznąć trochę teorii w stylu: wzorców projektowych, algorytmiki i innych rzeczy. Po drodze można mieć już kilka własnych projektów na githubie. Z takim portfolio można startować do pierwszej pracy.

Coraz częściej sądzę, że zmarnowałem tylko czas i pieniądze.. Codziennie siedzę nad kolejnymi zadaniami po kilka godzin i nie wiem jak je rozwiązać to frustruje są to zadania matematyczne i też nużące. Może to nie jest właściwa droga? Znam podstawy Javy, ify, tabele, pętle, obiektowość, kolekcje.

Czasem trzeba się z czegoś wycofać, żeby ograniczyć straty. Jeżeli czujesz, że to coś nie dla Ciebie, to nie warto zwlekać. Nie postrzegaj tego w kategoriach straty, gdybyś nie spróbował to nie przekonałbyś się, że to zła droga i trzeba rozejrzeć się za czymś innym.

Z tego co napisałeś wynika, że możesz mieć zbyt słabe podstawy matematyczne. Trzeba rozumieć jak coś policzyć, żeby napisać do tego algorytm. Może to właśnie tutaj leży pies pogrzebany?!

Może powinienem stworzyć jakiś prosty projekt i szukać informacji ,uczyć się w trakcie jego tworzenia .Może możliwość tworzenia czegoś własnego przyniesie mi wreszcie satysfakcje, a nie tylko frustracje i gniew na siebie. A może faktycznie po prostu to nie jest dla mnie. Uczę się pod presją, czas i pieniądze powoli się kończą. A ja stoję w miejscu.

Z pewnością powinieneś w trakcie nauki stworzyć jakiś projekt, a nawet kilka, żeby zebrać doświadczenia i mieć jakieś portfolio w chwili rozpoczęcia poszukiwania pracy. Musisz teraz postanowić czy idziesz dalej i czy jesteś gotów poświęcić te 1000 godzin na naukę czy się wycofujesz. Tylko Ty możesz ocenić czy to jest dla Ciebie czy nie.

Chciałbym zapytać czy być może są jakieś inne ścieżki kariery z mniejszą barierą wejścia w rynek IT. Słyszałem o testerze manualnym czy to dobry pomysł? Nie chce się poddawać. Gdybym znalazł pracę i w spokoju bez presji uczył się po godzinach programowania może szło by to lepiej. Prosiłbym o jakieś wskazówki osób które jednak pracują w tej branży i mają o niej pojęcie. Chciałbym uniknąć odpowiedzi typu: "Zostań piekarzem, spawaczem", "W branży IT nie każdy musi pracować". Ja naprawdę chce się rozwijać i uczyć tego rzemiosła i czerpać satysfakcję płynącą z tego. Serdecznie pozdrawiam i dziękuje za jakiekolwiek wskazówki i szczere odpowiedzi bez drwin.

Może wdrożeniowiec?! Wdrożeniowiec musi mieć duże umiejętności miękkie, musi znać doskonale biznes którym się zajmuje, a oprócz tego przydadzą się mu umiejętności techniczne gdy trzeba w jakiś sposób dostosować aplikację do użytkownika (pisanie jakiś skryptów w języku programowania, raportów w SQL itp).

1
devKoksu napisał(a):

Przez 5 miesięcy pracowałem fizycznie po 13-14 godzin 7 dni w tygodniu aby odłożyć pieniądze na późniejszą naukę programowania w domu. Przez 2 miesiące czytałem książkę, przerabiałem tutoriale w sumie nic z tego nie wynikło poza podstawową wiedzą teoretyczną i uważam, że nie jest to dobra forma nauki.

Te 2 zdania tłumaczą wszystko.

  1. Pracuj lżej i ucz się wieczorami, swoim tempem. Odkładając pieniądze na naukę nakładasz na siebie dużą presję, że w krótkim czasie musisz zrobić postępy.

  2. Ucz się robiąc projekty a nie czytając teorię. Z resztą chyba sam doszedłeś do tego wniosku.

0
macok napisał(a):
devKoksu napisał(a):

Przez 5 miesięcy pracowałem fizycznie po 13-14 godzin 7 dni w tygodniu aby odłożyć pieniądze na późniejszą naukę programowania w domu. Przez 2 miesiące czytałem książkę, przerabiałem tutoriale w sumie nic z tego nie wynikło poza podstawową wiedzą teoretyczną i uważam, że nie jest to dobra forma nauki.

Te 2 zdania tłumaczą wszystko.

  1. Pracuj lżej i ucz się wieczorami, swoim tempem. Odkładając pieniądze na naukę nakładasz na siebie dużą presję, że w krótkim czasie musisz zrobić postępy.

  2. Ucz się robiąc projekty a nie czytając teorię. Z resztą chyba sam doszedłeś do tego wniosku.

alternatywa dla punktu 1. Wyjedz zagranice na 3-miesięczną pracę sezonowa. Zarobek pozwoli Ci na min 6 miesięcy życia bez pracy, ten czas będziesz mógł przeznaczyć na naukę.

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