W programowaniu często jest tak, że wchodzimy na coraz to wyższe etapy
Przykładowo ja - ponad dwuletnia droga od początków z html, do pracy jako junior C#, w międzyczasie zarządzający grupą tworzącą projekty (wspólna nauka, ale z chęcią doprowadzenia fajnego projektu do końca)
Początkowo nauczyłem się tylko html+css, bo nie znałem nic poza c++ i html z nazwy a chciałem popchnąć swoją naukę do przodu (wcześniej interesowałem się ogólnie mocnymi podstawami informatyki, trochę grzebałem w batch), a z tego co słyszałem html jest prostszy. Później chciałem zacząć naukę programowania, ale jakoś nie wychodziło
Po jakimś czasie przez zbyt duży projekt w samym html+css (projekt szkolny, chciałem pokazać że umiem klepać stronki to zrobiłem strone zamiast prezentacji w power pointcie), zacząłem czuć potrzebe dodania js, którego zacząłem się uczyć. Ogarniałem ledwo podstawy wzięte z kilku poradników, typu zmienne, bardzo podstawowe operacje na liczbach i tekście, jakieś pętle. Moje programy miały bardzo powtarzalny kod i wiele rzeczy dało się zrobić dużo prościej. Bawiłem się jeszcze językami, ale w podstawowej formie. Najbardziej spodobał mi się C#
Później zabrałem się za tworzenie gier w Unity3D, szybko musiałem nauczyć się OOP i kilku bardziej zaawansowanych elementów m.in typy generyczne. Nie ogarniałem tego do końca, ale wiedziałem że "jak zrobie tak to zadziała", bo już tak robiłem i działało.
Po miesiącu albo dwóch zabrałem się za różne typy aplikacji w C#, m.in WPF i ASP.NET MVC. Trochę musiałem ogarnąć, ale to było bardziej ćwiczenie obiektowości niż nauka czegoś nowego. W asp net dużo nie umiałem i wiele elementów mi nie działało, a jak działały to nie zawsze wiedziałem jak to działa, przykładowo lambda.
Przez pewną oferte pracy do której według mnie nie dużo mi brakowało (tylko znajomość PHP), postanowiłem zabrać się za naukę PHP. Początkowo mieszane z html, później odseparowane, na końcu liznąłem Symfony i Laravela. Uznałem też, że skoro na tamtą ofertę pracy się klasyfikowałem, powysyłam CV do różnych firm.
Chyba polska ma bardzo duże zapotrzebowanie na PHP, bo 5 firm na 11 mnie zaprosiło, mimo że według mnie dużo nie umiałem (podstawy).
Dostałem sporo feedbacku na tych rozmowach, dzięki jednej udało mi się dostać pracę, która co prawda nic mnie nie nauczyła poza podstawami kontroli wersji przez pierwsze 2 dni, ale byłem można powiedzieć że niezależny finansowo, i pracowałem zdalnie.
To był też okres, kiedy postanowiłem dołączyć do grupy osób tworzącej aplikacje społecznościową. Może dużo nie zrobiliśmy, ale zobaczyłem jak to jest kombinować projektując aplikacje z innymi.
Jedna z osób poleciła mi też powrót do C#, żeby spróbować bo odkąd ostatnio coś pisałem minęło kilka miesięcy i wtedy też mniej wiedziałem. Postanowiłem ogarnąć tego C#, tym bardziej że dowiedziałem się o czymś takim jak .net core, które usuwa ograniczenie do samych windowsów.
Przez pół roku uczyłem się asp net core, w międzyczasie próbując nawiązać kontakt z różnymi Januszami biznesu, od których dostawałem propozycje (jedni bardziej ogarnięci, inni mniej). Dodatkowo próbowałem też projektów grupowych, ale wszystkie się rozpadały.
Później postanowiłem sprawdzić swoje siły i stworzyć małą, ale nie bardzo małą aplikacje do publikowania postów przez użytkowników. Tworzyłem ją w wolnym czasie, głównie w weekendy. Po miesiącu jak wyglądała całkiem dobrze i nie miałem problemów z dalszym rozwijaniem jej, zapytałem czy ktoś nie chciałby pomóc, np stworzyć frontend do gotowego API. Znalazła się jedna osoba od frontendu, po jakimś czasie doszły inne (część odeszła, część została). Stworzył się w miarę solidny zespół.
Przez aktywność na tym forum i prowadzenie tego projektu, udało mi się dostać pierwszą pracę jako junior c#, co prawda praca zdalna ale z możliwością nauki od bardziej doświadczonego programisty, co jest sporym plusem.
W międzyczasie powstają plany tworzenia kolejnego projektu - już czegoś większego, w zespole o którym wspomniałem wcześniej
Dodam, że wcześniej nie tworzyłem projektów zbyt często, raczej tylko jak miałem ochotę albo super pomysł, czyli raz czy dwa na miesiąc. Odkąd zacząłem z PHP, robię to dużo regularniej - stąd 2 letnia droga, według mnie spokojnie dałoby się to wszystko zrobić w ciągu roku lub nawet mniej.
Myślę jednak, że miało to pozytywny wpływ na mój rozwój - programowanie kojarzyło mi się z fajnym sposobem na realizacje swoich wizji artystycznych (nie umiem wymyślać obrazów to wymyślam programy hahah), a nie obowiązkiem na zasadzie "muszę się tego nauczyć żeby znaleźć pracę".
Skupienie na solidniejszej nauce doszło dopiero, jak już byłem na 100% pewny, że chcę to robić w pracy. Wcześniej traktowałem to bardziej jako zabawę.
Dodatkowo fajną motywacją były dla mnie coraz to bardziej rozbudowane aplikacje, które DZIAŁAŁY. Dwie najbardziej motywujące do dalszej pracy sytuacje to zrobienie czegoś co fajnie działa i rozwiązanie trudnego problemu, przez co program fajnie działa.