Zastanawiam się dlaczego początkującym programistom często wpaja się, żeby nie rozwiązywali problemów samodzielnie tylko korzystali z gotowców?
Pytanie, kim jest początkujący programista? Ja przez dłuższy czas czułem się zawaansowany(lub średniozaawansowany), ale ostatnio stalem się coraz bardziej początkującym i zacząłem coraz więcej rzeczy samemu implementować. Myślę, że im bardziej się człowiek czuje początkujący, tym łatwiej jest zaimplementować coś od zera. Bo implementowanie od zera wymaga tego, żeby czuć się początkującym, robić coś od podstaw.
Z drugiej strony zawodowcy to nie będą się pier*olić, tylko skorzystają z gotowej biblioteki. Tylko, że o ile używanie gotowych bibliotek jest dobre pod kątem praktycznym (czyli używając gotowej biblioteki spędzę 5 godzin zamiast 50, a czas to pieniądz), no ale nie ma tej radości, bo używać bibliotek każdy może, nawet stróż nocny czytający podręcznik JavaScriptu czy pani na kasie przekwalifikowana na programistkę może użyć gotowej libki. Więc cieżko się wyróżnić, ciężko być dobrym przeciętnym programistą, jak każdy nim jest. Dlatego fajnie jest implementować coś od zera, bo przynajmniej ma się świadomość, że inni tak nie umieją xD
Jako doświadczeni deweloperzy często robicie coś swojego, bo "można to zrobić lepiej" niż obecnie dostępne rozwiązania?
To jest trochę inna kwestia. Zrobić lepiej niż obecnie dostępne rozwiązania jest łatwo. Problem w tym, że czasem gorszy (w założeniach) software jest lepszy, bo więcej ludzi go używa, jest lepiej utrzymywany, bardziej dojrzały itp.