Jak decydujesz, nad czym pracować w swoim czasie? [Zamknięte]

12

Mam swędzenie i trzeba je podrapać. Obecnie nie mam nic do zaprogramowania. Zwykle wybieram smak technologii miesięcznej i bawię się nią, ale chcę coś zrobić i zrobić sobie przerwę od poważnych badań / eksperymentów i po prostu napisać coś dla zabawy (tzn. Niekoniecznie edukacyjnej / zawodowej) rozwój).

Rzecz w tym,

  • Nie mogę wymyślić oprogramowania, którego potrzebuję, którego jeszcze nie mam.
  • Przeszukiwanie projektów open source w różnych witrynach, aby pomóc, jest dręczące (do tej pory 5 godzin po rurkach - nie warte kłopotu)

Nie szukam konkretnej sugestii nad czym pracować, ponieważ byłoby to strasznie trudne zadanie. Nie sądzę, że tutaj wie prawie o sobie nawzajem, aby skutecznie dawać dobre sugestie.

Pytam więc, czy jest jakieś ćwiczenie mentalne, którego używasz, aby zdecydować, co zrobić, gdy nie jesteś „skrzypkiem”?

Steven Evers
źródło
Co lubisz? To nie musi być praktyczne.
Robert Harvey

Odpowiedzi:

7

Ponieważ nie wydajesz się zainteresowany pomocą projektom typu open source, rozpocznij własny projekt (open source lub nie), ale spróbuj pomóc społeczności w Internecie. Znajdź pierwszy, z którym naprawdę lubisz spędzać czas, i stwórz dla niego coś: stronę internetową, narzędzie lub coś takiego.

Mam na myśli, że jesteś programistą, wykorzystuj swoje umiejętności w prawdziwym świecie (poza pracą). Pozwoli ci to nawet nauczyć się nowych technologii, ponieważ będziesz chciał robić pewne rzeczy, które mogą być poza twoją wiedzą programistyczną. Będziesz jak własny analityk, a klient to społeczność.

Belun
źródło
11

Kiedy brakuje mi aplikacji lub narzędzi, które chcę napisać, zwykle rozwiązuję problemy matematyczne w Project Euler (często też używam tych problemów, kiedy uczę się nowego języka).

Programowe rozwiązywanie problemów matematycznych może nie być najbardziej wszechstronnym zastosowaniem umiejętności programowania, ale dobrze się bawiłem i nauczyłem się również kilku rzeczy (ymmv).

Alan
źródło
1
Yeah Project Euler to świetny sposób na naukę nowych języków
Jaco Pretorius
+1: To naprawdę dobry pomysł. Robię również problemy WF, ale nigdy nie uważałem tego za narzędzie do nauki nowego języka.
Steven Evers
Korzystam z Project Euler do nauki języka Python. Jest nie tylko dobry do poprawy umiejętności matematycznych, ale jest także przydatny do nauki podstaw nowego języka.
Richard
Project Euler jest świetny, szczególnie trudny, jeśli spróbujesz wymyślić scenariusz, w którym możesz użyć właśnie napisanego kodu. Uważam, że te przypadki często pochylają mózg bardziej niż matematyka.
Inżynier światowy
7

Jakie są twoje hobby poza programowaniem? Zrób coś dla jednego z nich. W ten sposób będziesz mieć rzeczywiste zainteresowanie projektem i może okazać się przydatny dla innych.

Grandmaster B.
źródło
7

Zrób grę.

W ten sposób możesz podnieść swoje umiejętności w prawie dowolnym obszarze. Musisz dotknąć wielu rzeczy wymienionych poniżej, ale możesz skupić się na tych bitach, które najbardziej Cię interesują.

  • Chcesz zaprogramować AI? Śmiało!
  • Programowanie grafiki? Czek!
  • Fizyka? Czek!
  • Zarządzanie zasobami? Czek
  • Programowanie sieciowe? Jeśli chcesz.
  • Programowanie interfejsu użytkownika!
  • Programowanie rozgrywki
  • Miksowanie dźwięków
  • Tworzenie grafiki

Lista jest długa!

Mistrz
źródło
Dlatego uwielbiam programować gry: jest to tak różnorodna dziedzina, że ​​możesz nosić tyle czapek, ile chcesz.
Jon Purdy,
1
... i często musisz to robić przy każdym ostatnim występie, jaki możesz z niego wycisnąć!
GrandmasterB
1
programiści nie robią grafiki, chyba że są prawdziwymi ludźmi Renesansu ... Nigdy nie widziałem gry na Linuksie z dobrą grafiką. czy ty? powiedziane, +1, dobra odpowiedź
ixtmixilix,
To czyni mnie Człowiekiem Renesansu… Tak!
Nailer
@ixtmixilix: Prawdopodobnie nie widziałeś WarMUX .
Joey Adams,
2

Osobiście wstrzymałem projekt genealogiczny i koncentruję się na (prostej) grze dla mojej córki. Nie jest to całkowicie wymyślony projekt, moja córka chce gry, choć można ją z łatwością zagrać na papierze i pozwoli mi to trochę dowiedzieć się o WCF. Jak wiele innych osób, uczę się więcej, robiąc, niż czytając o ogólnych przykładach.

Jeśli nie masz konkretnej potrzeby lub inspiracji, po prostu wybierz istniejącą aplikację lub narzędzie, które wykorzystuje technologię lub funkcję, która Cię interesuje, i zbuduj własną od podstaw. W szczególności spróbuj zbudować lepszy od zera.

Na mojej liście, którą można się obejść jednego dnia, jest narzędzie do synchronizacji, takie jak SyncToy i zamiennik dla SwitchOff.

Co więcej, w Wielkiej Brytanii jest to program o nazwie IT4comm Communities, który próbuje dopasować potrzebujące organizacje charytatywne z pomocą techniczną wolontariuszy - z których wiele jest projektami programistycznymi - dlaczego nie zdobyć sobie dobrej karmy w tym procesie. W niektórych krajach działają podobne programy, być może pod marką Circuit Riders.

cjmUK
źródło
1

Poszukuję zadań w moim życiu, które mogłyby zautomatyzować lub łatwiej ułatwić, a następnie próbuję znaleźć programowe rozwiązanie. Zwykle powoduje to zaległe projekty i wybieram ten, który ściśle pasuje do umiejętności, które chcę rozwijać.

Niektóre pytania, które ciągle zadaję to:

  • Jakiego rodzaju danych używam / nad którymi pracuję? Czy kiedykolwiek będę chciał to przeanalizować (graficznie lub w inny sposób) w przyszłości? Czy ma to jakiś związek z innymi danymi, z którymi pracuję?
  • Jakie powtarzalne zadania wykonuję? Czy pracuję z czymś, co ma programowalny interfejs?

Gdy tylko wpadnę na pomysł, próbuję uchwycić go na mapie myśli i przechowywać gdzieś, aby móc do niego wrócić. Jeśli jest to bardzo przekonujące, próbuję przejść przez podstawowe wymagania i zdecydować, czy ma on pierwszeństwo przed tym, nad czym obecnie pracuję.

Staram się również kontrolować moją żonę i zadania, które regularnie wykonuje. Jeśli zrobi coś, co można przekształcić w aplikację, zobaczę, czy jest zainteresowana. Jeśli tak, pracuję z nią nad kilkoma podstawowymi wymaganiami, wykonuję własny cykl programowania i przeprowadzam z nią kilka prototypów. Zwykle pomaga to zainspirować wiele pomysłów na rozszerzenia lub inne projekty.

bedwyr
źródło
1

Staram się odtwarzać rzeczy, które uważam za interesujące - na przykład niedawno postanowiłem stworzyć własną wersję listy Ta-Da , aby zobaczyć, jak można to zrobić.

whostolemyhat
źródło