Czołem wszystkim! 
Chcę poruszyć pewien temat, mianowicie nauki programowania, rozwiązywania problemów programistycznych itp.
W moim przypadku wygląda to tak, że oglądam jakieś tutoriale (Udemy, YouTube itd) od deski do deski, jednak mam wrażenie, że przepisywanie kodu z tutoriala na niewiele się zdaje.. Z drugiej strony wiele osób poleca naukę w taki sposób, że np jeżeli mam problem z napisaniem jakiejś rzeczy to szukam tego w różnych zakamarkach internetu (tzw "just-in-time learning"). Mam jednak wrażenie, że tutaj też jest problem - rozważmy taki przykład:
- Potrzebuję napisać program w Pythonie żeby zmieniał konfigurację 300 switchy - znalazłem potrzebną bibliotekę (np telnetlib) i chcę jej użyć. W moim przypadku wygląda to tak, że wpisuję "python telnetlib examples" i szukam już przykładowych kodów i je kopiuję, sprawdzam jak działają i już w gotowcach coś zmieniam - wydaje mi się to złym podejściem. Chciałbym pisać coś od początku, korzystając tylko z dokumentacji, jednak ciężko mi się korzysta z oficjalnych dokumentacji i utykam w jakimś momencie.. Podobnie jest ze StackOverflow - też przeważnie już są gotowce (których chce unikać jak ognia!).
Lubię się uczyć i rozwiązywać problemy, tylko sam nie wiem w jaki sposób czasami do nich podchodzić..
Myśl o utworzeniu tego tematu przyszła mi do głowy po tym jak obejrzałem różne streamy programistów, którzy programowali coś LIVE i 90% czasu spędzali w edytorze na pisaniu kodu "z głowy", czasami tylko zerkając na oficjalną dokumentację albo jakieś RFC. Wiadomo, że to są lata doświadczenia - jednak chcę to doświadczenie w dobry sposób zdobywać, pytając ludzi mądrzejszych ode mnie :) Nie na kopiowaniu i wklejaniu ze stacka tylko z dogłębnym zrozumieniem danej rzeczy.
W jaki sposób Wy uczycie się danego języka? W jaki sposób rozpoczynacie pracę nad danym projektem programistycznym?
Dziękuję za każdą odpowiedź i uwagę!