Tym razem temat trochę bardziej na luzie. Na grupach dyskusyjnych pojawia się często pytanie od początkujących programistów o pomysły na aplikację: a to na prywatny projekt, a to na jakąś pracę inżynierską czy magisterską, itp. Pytania te są dziwne, ponieważ bardzo często przyczyną rozpoczęcia nauki programowania jest niezadowolenie z używanych aktualnie narzędzi albo potrzeba zautomatyzowania sobie pracy. Oczywiście, jest jeszcze druga grupa ludzi, którzy usłyszeli/przeczytali, że „programowania można się nauczyć przerabiając tutorial i wtedy co miesiąc dostaje się górę kasy” – ale to w sumie temat na inny wpis 🙂
No dobra, wybraliśmy język programowania. Oczywiście, mówię tutaj o języku programowania – jeśli ktoś przerobił kurs HTML i/lub CSS to można powiedzieć, że dopiero „liznął” temat jako, że wspomniane technologie nie są językami programowania 🙂 Jak to jednak mówią – Nawet najdalszą podróż zaczyna się od pierwszego kroku.
Więc odbębniliśmy już 15 kursów i 150 tutoriali w wybranej przez nas technologii (oczywiście jest ona najlepsza ze wszystkich dostępnych :)), dowiedzieliśmy się jak poskładać dostępne klocki, żeby napisać program "Witaj świecie!\n"
powtarzany dowolną ilość razy. Ale w sumie co teraz? Chyba z tego „Witaj świecie” nie uda się wyciągnąć 15k na miesiąc. Może jednak zostawić wszystko i wyjechać „w góry na Mazury”?
Oczywiście jako początkujący programista (tzw. junior) mamy szansę na zatrudnienie. Szanse są, ale jest to uzależnione od zbyt wielu innych kryteriów – to też byłby dobry temat na oddzielny wpis.
Zgaduję, że nie mamy się jeszcze za bardzo czym pochwalić potencjalnemu pracodawcy, więc jedną z najlepszych rzeczy jakie możemy zrobić gdy zaczynamy budować swoją przyszłość zawodową jako najlepszy developer w branży IT to zbudowanie swojego portfolio. Oczywiście, generalizuję w tej chwili. Przykładowo takich Panów jak Guido van Rossum czy Douglas Crockford nie zatrudnia się ze względu na ich bogate portfolio 🙂
Tu pojawia się pewnie w wielu głowach pytanie: Spoko, to co mam napisać?
Odpowiedzią na to pytanie niech będzie ta krótka lista – dłuższe listy z konkretnymi propozycjami projektów znaleźć można już pod dostępnymi linkami:
- Aplikacja na Androida z pomysłami podzielonymi na kategorie oraz stopnie trudności – Programming Ideas 2
- Lista niewielkich mini-programów do napisania o różnych stopniach trudności – Dailyprogrammer w serwisie Reddit
- What Should I Make? Beginner Programming Project Ideas
- Przytaczana w wielu miejscach lista: Martyr2’S Mega Project Ideas List!
- Kolejna lista z propozycjami projektów
- Krótka, pogrupowania lista Over 1,500 Coding Project Ideas z kilkoma różnymi źródłami
- Top 27 Programming Project Ideas For Beginners
- 5 Project Ideas To Help You Learn Programming Faster
- Ideas for Coding Projects
- 1000+ Beginner Programming Projects
- „I Need Practice Programming”: 49 Ideas for Game Clones to Code
Jak widać, pomysłów jest naprawdę całkiem sporo. Gdyby postawić sobie za cel wykonać nawet połowę z tych projektów – życia by nie starczyło. Oczywiście, nie polecam rzucać się od razu na jakiś ekstremalnie duży projekt, ponieważ istnieje ryzyko, że się szybko zniechęcisz.
Ponadto, jeśli już wciągnęło Cię programowanie i/lub potrzebujesz miejsca na „praktykowanie” swoich umiejętności, poniżej kilka dodatkowych zasobów do codziennych ćwiczeń:
- https://py.checkio.org/
- https://www.codewars.com/
- https://coderbyte.com/
- https://codefights.com/
- http://exercism.io/
- http://codekata.com/
- http://www.codeabbey.com/
Niewątpliwą zaletą tych stron jest możliwość konkurowania z innymi programistami i podglądanie często rewelacyjnych rozwiązań, które poszerzą naszą wiedzę na temat danego języka. Nawet do głowy by nam nie przyszło jak ładnie czy zwięźle można rozwiązywać niektóre problemy.