Cześć
To bardzo bardzo dobry aby napisać jakiś projekt samemu, wrzucić go np. na github'a i dodać url do CV. Rekruterzy często w to zaglądają - może nie jakoś wybitnie analizując, ale popatrzeć co ktoś pisał i jak to robi. Dodatkowo, tak jak mówisz, pisanie kodu to prawie najlepsza technika nauki. Najlepszą jest pisanie wspólnie projektu z kimś doświadczonym i żeby on Ci robił review, a Ty żebyś patrzył co on dostarcza i jak on to pisze. Ale tak czy siak, pisanie projektów własnych to bardzo dobry pomysł. Na pewno dobrze działa motywująco jak: sam chcesz to napisać lub projekt miałby być dla Ciebie użyteczny lub piszesz dla kogoś (dziewczyny, chłopaka, ojca, kolegi). Warto aby przynajmniej jeden z tych czynników był spełniony, wtedy ma się większą motywację :).
Dlatego, najlepiej jakbyś sam wymyślił projekt.
Ale co do samego pisania, że po chwili sie gubisz i tracisz motywację. Spróbuj może takiego podejścia. Na początku nie pisze doskonałej aplikacji. Nie ma mieć wszystkich bajerów. Ma być napisana prosto. Ma mieć tylko kluczowe funkcjonalności. Możesz wyobrazić sobie, że piszesz dla kogoś, kto chce zacząć używać tego jak najszybciej. Że nie musi być wypasione, musi się dać używać. Przy kodzeniu, jak widzisz coś co można zrobić fajniej, albo lepiej, to sobie to spisuj i tego od razu nie rób. Jak uda Ci się skończyć taką podstawę aplikacji to świetnie. Potem, możesz popatrzyć na listę co stworzyłeś do zrobienia i wybrać coś co jest najistotniejsze, co najbardziej polepszy Twoją aplikację, pamiętając, że w każdym momencie możesz dodać coś do listy rzeczy do zrobienia. Robisz to, aż stracisz już motywacje do projektu.
Jak będziesz pisał sam dla siebie to zawsze przyjdzie taki punkt, że będziesz miał dość. Że będziesz chciał coś innego. Napotkasz kolejnego buga... i powiesz sobie NIE, mam dość. :)
Bardzo ciężko być zmotywowanym przez długi czas. Ten pomysł stylu pracy, co Ci podałem, pozwoli Ci spowodować to, że będziesz miał co pokazać - coś co działa. Dorabiać funkcjonalności można często w nieskończoność (gdzie większość jest zazwyczaj mało przydatna i nieistotna). Często też próbując zakodzić od razu ostateczną formę, traci się nadmiernie dużo czasu. Często zamiast napisać jakąś super strukturę, gdzie będzie super zoptymalizowana na nasz przypadek tutaj w kodzie, to dasz radę napisać to za pomocą troche mniej optymalnej struktury i jeszcze dopisać dwie funkcjonalności. Oczywiście, potem możesz poprawić ten fragment, jak stwierdzisz, że jest istotny (np. aplikacja tu zamula, albo nie masz już co robić, albo po prostu masz ochotę to dopisać :) ) Często też się okazuje, że dużo czasu człowiek poświęca na jakiś kawałek kodu, aby go odpicować, a potem, zanim skończy trzon aplikacji, to się okazuje, że jednak trzeba to przerobić i zrobić inaczej i wszystko co napisaliśmy idzie do śmieci. Straszna strata czasu. A pamiętaj, zdemotywujesz się tak czy siak, więc czas jest mega istotny dla Ciebie.
Także, mam nadzieje, że choć trochę pomogłem. Pamiętaj, że lepiej mieć coś bardzo dobrego niż ćwierć czegoś doskonałego :)
Programiści, często zapuszczają się pułapkę doskonałości i perfekcjonizmu :) Trzeba kod pisać profesjonalnie, bardzo porządny, ale nie popadać w pułapkę, że chce się napisać kod doskonały więc nigdy nie kończy.