Chciałbym zostać programistą, umiem takie podstawy jak zmienne, pętle, obiektowość, robiłem trochę na androida, ale nie mam pomysłów na projekty żeby mnie one interesowały i żebym sam z siebie chciał je robić, nawet nie wiem czy chce pisać aplikacje mobilne, webowe czy desktopowe, miał ktoś tak? jak znaleźć pomysł na projekt, który by mnie interesował i przy którym mógłbym się wiele nauczyć?

- Rejestracja:prawie 9 lat
- Ostatnio:ponad 2 lata
- Lokalizacja:UK
- Postów:2235
Ciężko cokolwiek doradzić skoro sam nie wiesz czego chcesz. Z drugiej strony chyba jest coś co podoba Ci się najbardziej jeśli chodzi o web/desktop/mobile? Wybierz to co najbardziej Ci odpowiada i idź dalej w tym kierunku. A jak wszystko podoba/nie podoba Ci się na tym samym poziomie to rzuć kostką.

- Rejestracja:około 11 lat
- Ostatnio:ponad 3 lata
- Postów:459
Podejrzewam, że @czysteskarpety wyraził smutek z uwagi na to, że nie postanowiłeś sam poszukać różnych pomysłów ;) Programowanie to nie tylko klepanie kodu, ale przede wszystkim myślenie. Ważne jest, by się nie poddawać. Nie trzeba być tytanem intelektu, ale ważne jest by zrobić coś od A do Z - "get things done".
Co do Twojego problemu, polecam tę listę.
- Rejestracja:ponad 7 lat
- Ostatnio:ponad 5 lat
- Postów:165
Na początku nawet nie potrzebujesz dobrego pomysłu do tworzenia projektu, bo pewnie nie dasz rady go zrealizować skoro dopiero zaczynasz.
Weź sobie postaw za cel rozwijanie pewnego programu, tak by go z miesiąc na miesiąc coraz bardziej rozwijać.
O weźmy choćby za przykład grę kółko i krzyżyk.
Najpierw zrób wersję konsolową.
Potem ulepsz tą wersję konsolową by dało się grać na planszy 4x4, 5x5, ..., NxN
Potem zakoduj gracza PC takiego, który ma własna inteligencje (możesz rozbudować to o różne poziomy)
Potem zrób wersję okienkową GUI z użyciem obiektowego języka
Potem zrób wersję z przeglądarkową w javascript
Potem zrób serwer, by dało się grać przez internet
Potem dodaj urządzenie mobilne.
Potem dodaj np. na serwerze funkcje logowania/wylogowania,
Potem dodaj pokoje gier
Potem dodaj na czat na serwerze by milej się grało
itp
Jak będziesz tak rozwijał ten projekt to poznasz kilka języków, kilka bibliotek, różne style programowania, różne platformy i generalnie będziesz wiedział co Cię ciekawi, a jakie rzeczy chętnie przekazałbyś komuś innemu.
- Rejestracja:ponad 7 lat
- Ostatnio:około miesiąc
- Lokalizacja:700m n.p.m.
- Postów:677
Mam zapisanych ponad kilkadziesiąt pomysłów na projekty, nie mam i tak czasu tego robić, więc kilka przykładów:
-
gra przeglądarkowa podobna do starej gry master of magic lub warlords IV
-
strona pomagająca w motywacji ludziom, użytkownik może sobie wyznaczyć dowolne cele (np. oszczędzam 100 zł co miesiąc, biegam 1km w tygodniu etc.), strona pomaga to śledzić i zorganizować
-
platforma do sezonowego zatrudniania
-
serwis dla wspólnot mieszkaniowych pozwalający na organizację wspólnoty i oszczędzanie na różnych usługach (typu sprzątaczka budynku)
i wiele więcej....
- Rejestracja:około 19 lat
- Ostatnio:11 dni
Wydaje mi się że pomysł który proponuje @nohtyp jest w Twoim przypadku bardzo sensowną drogą. Problem z pierwszymi projektami polega na tym że ilość rzeczy które trzeba ogarnąć na początku jest bardzo duża i prowadzi do szybkiego zniechęcenia, tutaj natomiast ciągle będziesz miał działającą wersję którą rozwijasz ucząc się małymi krokami czegoś nowego w nowych technologiach.
- Rejestracja:ponad 6 lat
- Ostatnio:prawie 3 lata
- Postów:288
czysteskarpety napisał(a):
To przykre.
Najgorsze tutaj jest to że każdy chyba myśli, że żeby zostać programistą trzeba wszystko wiedzieć od początku... Ktoś zakłada taki temat na forum żeby się podpytać doświadczonych osób i zamiast dostać normalne odpowiedzi (nie piszę tu o wszystkich) dostaje takie komentarze które nic nie wnoszą, a tylko mogą zniechęcić. Dobrze że każdy z tego forum już po urodzeniu wiedział że będzie klepał kod. Jakby w każdym innym zawodzie mieli takie podejście to matko boska, na tym świecie byłyby same kwasy.
Co do tematu ogarnij sobie jakieś listy z uczelni z zadaniami z programowania i działaj sobie, ew. wybierz jeden projekt z tych, które wypisałeś i spróbuj go zrobić



- Rejestracja:prawie 10 lat
- Ostatnio:ponad 4 lata
- Lokalizacja:Piwnica
- Postów:7697
pavarotti napisał(a):
czysteskarpety napisał(a):
To przykre.
Najgorsze tutaj jest to że każdy chyba myśli, że żeby zostać programistą trzeba wszystko wiedzieć od początku...
Po wpisaniu w forumową wyszukiwarkę "Jak programować" masz 1800 stron wyników.
Rozumiem, że jak szukasz połączenia PKP to zamiast wejść na ich stronę i poszukać połączeń, to zakładasz temat na forum o podróżowaniu, że jedziesz do Sosnowca dwunastego w południe i szukasz pociągu.
To się nie sprawdza, tym bardziej w programowaniu, taka prawda zią.

- Rejestracja:ponad 17 lat
- Ostatnio:około 5 godzin
- Lokalizacja:Warszawa
- Postów:2251
@pavarotti Nigdy nie spawałem, ale gdybym zechciał.... to wpisałbym w Google -> kurs spawacza [nazwa_miejscowosci]
i zaczął od tego. W międzyczasie zorientowałbym się jakie są średnie ceny kursu (by mnie Janusz nie naciągnął) i jak on wygląda. Poczytałbym o tym jak wygląda praca spawacza, jakie są zarobki i jak najlepiej dojść do poziomu umożliwiającego godne zarobki. Nie muszę mieć żadnej wiedzy, by rozpocząć pracę w innym zawodzie. Muszę tylko umieć myśleć - dzięki czemu dowiem się co jest wymagane do pracy na danym stanowisku.
Piszesz, że na innych forach ludzie podają linki itp itd. Spróbuj zadawać to samo pytanie po 100 razy na tych innych forach i zobacz czy ktoś Cię nie odeślę z tekstem "już było / użyj wyszukiwarki". To że ludzie bywają pomocni to jedno (a na 4p tak jest), ale z drugiej strony inni ludzie (najczęściej nowi użytkownicy 4p) nie szanują czasu swojego i innych, są zbyt leniwi by włożyć jakikolwiek wysiłek w znalezienie rozwiązania i liczą na to, że wszystko dostaną podane na tacy.
Dlaczego po raz setny mam pisać komuś, że w php'ie mysql_connect
już się nie stosuje?
W pełni popieram @czysteskarpety.
W IT - zresztą nie tylko tu, ale w każdym innym zawodzie pierwszą rzeczą jaka jest wymagana jest umiejętność myślenia.
Myślenie przydaje się także w życiu poza pracą :) dzięki temu można chociażby uniknąć
- alimentów :)
- problemów z prawem
- utraty zdrowia/kalectwa/śmierci
- wysokich podatków
- nudy/smutków

- Rejestracja:około 6 lat
- Ostatnio:około 24 godziny
- Postów:112
Fajnie, że założyłeś temat, bo ja się chętnie podłączę. Chciałbym programować sterowniki do rakiet, żeby wziąć udział w projektach SpaceX i pomóc skolonizować Marsa. Umiem trochę programować w HTML. Czego jeszcze polecacie się douczyć i czy dam radę do wakacji?

- Rejestracja:ponad 6 lat
- Ostatnio:ponad 4 lata
- Postów:116
@newbie997: Nie masz żadnych zainteresowań czy pasji? To może od biedy stwórz sqlową bazę danych seriali jakie widziałeś
- Rejestracja:prawie 6 lat
- Ostatnio:prawie 5 lat
- Postów:39
Mam: sport

- Rejestracja:około 11 lat
- Ostatnio:24 minuty
- Postów:8398
newbie997 napisał(a):
Chciałbym zostać programistą, umiem takie podstawy jak zmienne, pętle, obiektowość, robiłem trochę na androida, ale nie mam pomysłów na projekty żeby mnie one interesowały i żebym sam z siebie chciał je robić
To jest problem psychiczny. Wizyta u psychologa mogłaby pomóc.


- Rejestracja:ponad 7 lat
- Ostatnio:prawie 5 lat
- Postów:39
Jesli dobrze rozumiem to chcesz zebysmy Cie zainspirowali, sprawili, ze Ci sie pisanie kodu spodoba.
To troche przypomina wystep G. Carlina, w ktorym powiedzial (cytuje z pamieci) "Wszyscy dzisiaj chca byc k***a zmotywowani! Tylko po co?!".
Jak programowanie ma zapewnic Ci pieniadze - to pewnie - mozna i tak. Jednak zapomnij o pasji, uniesieniu. Klep kod i zamiast radosci - oczekuj zdobycia pierwszej pracy.
Jesli chcesz miec z tego radosc, a pisales rozne rzeczy i nic nie iskrzylo, to moze programowanie nie jest dla Ciebie.
- Rejestracja:około 6 lat
- Ostatnio:około 5 lat
- Postów:47
Ja pisałem sobie łamacz szyfru podstawieniowego w C i było fajnie, szkoda że międzyczasie padł mi dysk xd
Na sam początek nauki jakiegoś języka polecam klasyg, kalkulator konsolowy.
- Rejestracja:około 6 lat
- Ostatnio:około 5 lat
- Postów:47

- Rejestracja:ponad 8 lat
- Ostatnio:13 dni
- Postów:370
newbie997 napisał(a):
robiłem trochę na androida
[newbie997 napisał(a)]
Mam: sport
Może klon Endomondo? (uproszczona wersja, w której można rejestrować trasę ze smartfonu)

- Rejestracja:ponad 6 lat
- Ostatnio:ponad 3 lata
- Postów:530
Trochę nie rozumiem podśmiechujków, bo OP normalnie pyta co by go mogło zainteresować. Ja jakbym nie załapał się do pracy na studiach i miał expa, dzięki czemu jestem programistą, to też bym nie wiedział, od czego zacząć żeby zacząć i do tego było ciekawie. A żadne zagadnienia na studiach mnie nie zainteresowały. A tak to klepie to co jest do klepania w robocie i tbw.
Problem nie jest trywialny. On nie pyta o to czy programować w javie czy w phpie. Nie pyta również, gdzie znaleźć książki, materiały, kursy. Nie pyta czy warto jeszcze zostać programistą. Czy też czy warto jeszcze znać HTMLa. Czy czym się różni desktop od mobilek i " w co on ma iść żeby było "dobrze""
Chyba że faktycznie było 1800 tematów takich i rozwiązują w sposób trywialny pytanie OPa. Jak tak to proszę o linki, chętnie sam bym poczytał.

- Rejestracja:ponad 6 lat
- Ostatnio:około 23 godziny
- Postów:442
program zmieniajacy dowolny automat niedeterministyczny na deterministyczny
- Rejestracja:ponad 7 lat
- Ostatnio:ponad 5 lat
- Postów:49
Proponuję stworzyć aplikację, która będzie odpowiedzią na rozwiązanie jakiegoś problemu. Wiele ludzi uczy się programowania w taki sposób:
"Hmm w poradniku pokazują jak zrobić todo-listę albo kalkulator. Obejrzę kurs i zrobię własną aplikację wykorzystując wiedzę z kursu" (Ta droga nie jest zła, ale nie dla każdego) LUB "Obejrzę kurs i zrobię własną wersję tej aplikacji na podstawie kursu" (tu już trochę gorzej) LUB "Obejrzę kurs i przepiszę kod linijka po linijce, na koniec uznam, że to moja aplikacja" (Tak nie rób).
Osobiście uważam, że najlepszym pomysłem na aplikację jest coś powiązanego z twoimi zainteresowaniami, lub będzie czymś co zautomatyzuję ci w jakiś sposób pewne operacje. Najlepiej by było, gdyby po prostu twój projekt był rozwiązaniem na dany problem. Programista to ogólnie rzecz ujmując - w sposób informatyczny rozwiązuje dany problem. Wiele osób błędnie myśli, że programista = koder. Otóż nie. Kod, programy, środowiska - to tylko narzędzia używane przez programistę. Programista tworzy programy, które są odpowiedzią na jakiś problem, są wygodnym rozwiązaniem danego problemu. Na początku jest dany problem (zadanie, zwał jak zwał), następnie analiza problemu, na końcu działanie(pisanie kodu).
Można się zmusić do napisania programu dla samego siebie lub do "portfolio", który nam się nie przyda. Można też podejść do tego bardziej w pasjonujący sposób tzn stworzyć rozwiązanie danego problemu, który może ułatwić nam życie. Głupi przykład:
np. Przykładowo codziennie o 7 rano wchodzisz na 3 różne strony, z których pobierasz różne dane w jakimś celu. Wchodzisz na każdą stronę z osobna, klikasz odpowiednie przyciski, być może masz zakładki. Następnie kopiujesz zawartość, tworzysz plik i drukujesz. Co możesz zrobić?
Możesz sobie zrobić magiczną aplikację, która wejdzie za ciebie na dane strony, sparsuje pożądane informacje(lub prościej - użyje publicznego API danej strony jeśli je posiada) i stworzy plik, w którym umieści dane z tych 3 stron. Wszystko w ciągu 10 milisekund.
Kolejny przykład - załóżmy, że oglądasz od 5 lat seriale i chcesz się dzielić z ludźmi wiedzą, robić jakieś recenzje itd. Możesz stworzyć własnego bloga na ten temat, krok po kroku.Na początku nie będzie idealny, ale z czasem stanie się twoją wizytówką.
Oczywiście nie neguję zmuszania samego siebie do tworzenia aplikacji, których nie potrzebujesz i których pisanie w żaden ci się nie podoba, bo cię po prostu nudzą. Mnie osobiście wydaje się to być bardzo naiwnym podejściem do istoty programowania(strata czasu) i rozwiązywania problemów, które nie istnieją, no ale każdy żyje po swojemu.
Od siebie mogę ci polecić pomysł, który może ci się spodobać, temat: 'Aplikacja do dzielenia się inspirującymi pomysłami na aplikacje'
Plan rozwoju.
- Prosty program okienkowy pozwalający zapisywać oraz dodawać nowe tematy do pliku przechowującego tematy. Brak użytkowników aplikacji (Logowania/Rejestracji)
- Rozbudowa programu o edycję, usuwanie, dodawanie do ulubionych itd.
- Stworzenie bazy danych do przechowywania informacji
- Stworzenie kont użytkowników, podział na role, logowanie, rejestracja itd.
- Zamiana aplikacje okienkowej na webową (np REST API + klient w przeglądarce, poprawa bezpieczeństwa(hashowanie haseł, email aktywujący itp)
- Rozbudowa aplikacji o np: komentarze, możliwość oceniania na dany temat, kategorie itd. Oczywiście po drodze dojdzie też walidacja danych, może np okazać się potrzebny użytkownik o odpowiedniej randze, który będzie mógł usuwać dany temat lub komentarz, który będzie wulgarny lub niepoprawny politycznie :)
- Rozbudowa rejestracji - użytkownik podaje np szczegółowe dane o sobie, np czego się uczy, jaki zawód wykonuje, co robi w wolnym czasie.
Teraz można spróbować stworzyć jakiś naiwny algorytm, który na podstawie danych użytkownika zasugeruje mu odpowiednie tematy, np jeżeli użytkownik lubi filmy to wybierze z bazy danych kilka tematów, które są:
a) powiązane z filmami
b) popularne, wybierane przez innych użytkowników
itp. Ten punkt może wydawać się trudny, ale zapewniam, że to tylko złudzenia. Oczywiście mówimy tutaj o prostym, naiwnym algorytmie. - Rozbudowa algorytmu o np: analizę wyszukiwanych fraz w twojej aplikacji. Może to działać np tak, że trzymasz w bazie danych wszystkie frazy, które użytkownik ostatnio używał w wyszukiwarce. Na podstawie tego zbierasz najczęściej powtarzające się wyrazy/słowa w znalezionych frazach i porównujesz z kategoriami projektów/nazwami, następnie znowu wybierasz kilka popularnych tematów i sugerujesz użytkownikowi.
- Możesz dodać np opcję kontroli proponowanych tematów np dać użytkownikowi możliwość usunięcia danego tematu z proponowanych, tak aby więcej dany temat mu się nie wyświetlił itp.
Oczywiście tak można rozbudowywać aplikację w nieskończoność, ogranicza cię tylko własna wyobraźnia. Jeżeli wkręcisz się w dany projekt, to pomysły będą pojawiały się same. Jeżeli spodobał ci się temat i zrobisz zaproponowaną przeze mnie aplikację samodzielnie od A do Z pamiętając o różnych szczegółach np zasadach czystego kodu, wzorcach, obsłudze błędów, internacjonalizacji, koniecznie o testach integracyjnych, jednostkowych, jakiś docker to śmiało możesz szukać pierwszego stażu lub pracy. Warto też wrzucić tutaj od czasu do czasu kod do sprawdzenia, zawsze ktoś podpowie i nakieruje.

- Rejestracja:prawie 7 lat
- Ostatnio:około 14 godzin
- Lokalizacja:Kraków
- Postów:1999
Crazy_Rockman skomentował(a):
Problem może i nie jest trywialny, za to całkiem nieźle oddziela ludzi, których interesuje programowanie od takich, którzy 'hcom zostać programistom'.
Czyli co, prawdziwy pasjonat to tylko taki, który od samego początku zafiksował się na jednej działce i nie widzi świata poza nią?
Skoro mierzymy prawdziwość zainteresowań stopniem specjalizacji, to największymi pasjonatami są ludzie zakładający wątki typu
Cześć,
Tydzień temu postanowiłem zostać Java Backend Developerem, gdzie moje 15k?

- Rejestracja:prawie 14 lat
- Ostatnio:około 10 godzin
- Postów:3169
Dolacz do jakiegos open source i zacznij od naprawy prostego buga.

- Rejestracja:ponad 6 lat
- Ostatnio:około 23 godziny
- Postów:442
skad pomysl ze webdev to całość programowania? Niech sprobuje zaimplementowac wlasny system operacyjny (patrz: xinu), albo kompilator, a nuz to go bardziej zainteresuje

- Rejestracja:ponad 11 lat
- Ostatnio:ponad 4 lata
- Postów:2442
mobilne, webowe czy desktopowe
Jeżeli swoją naukę wiążesz z potencjalną, przyszłą pracą to desktopa sobie od razu daruj. Dzisiaj już nawet konkretnej roboty w tym nie ma, a jak się znajdzie to na rozmowie może się okazać, że potrzebują kogoś kto pomoże im przepisać apkę do weba.
Rozwojówka na desktopy jest martwa. Taka prawda.
Zeszyt_w_kratkęZeszyt_w_kratkę