Z mojego doświadczenia: ponieważ nie możesz wyeliminować zależności bibliotek, ty i twój zespół powinniście wiedzieć wystarczająco dużo, aby rozwiązać problem.
Jako programiści mamy mało czasu, dlatego musimy wybrać ten, który ma najwyższy priorytet. Problem musi zostać rozwiązany tak szybko i łagodnie, jak to możliwe. Tylko ten powód sprawia, że „nauka wszystkiego o rzeczy działa” nieco zbędne.
To, co chcę tutaj dodać, to „zależność”. Jako społeczność wszyscy jesteśmy zależni od innych. Stawiamy na Giants, aby zbudować naszą aplikację: Java, .NET, API ... I ufamy Giants ich pracy; ponieważ działa na tak wiele osób. Jeśli masz problem z frameworkiem lub interfejsem API, istnieje duża szansa, że inni gdzieś się z nim zmierzyli i istnieje rozwiązanie / obejście problemu.
Jedyny problem tutaj: może gdzieś w ograniczonych kryteriach giganci upadli. Na przykład flash nie jest obsługiwany w niektórych systemach operacyjnych i jest wiele rzeczy, bez których nie możemy się obejść. Ta możliwość jest większa niż zero, ale w tym przypadku mamy niewiele rzeczy, które możemy zrobić. Tylko w tych przypadkach wiedza na temat „tego, co kryje się za maskami” okazuje się przydatna, ponieważ wskazuje, gdzie naprawdę jest problem i może spowodować duże obejście; ale nie jestem pewien, czy czas, który inwestujemy, naprawdę jest tego wart.
Aby poradzić sobie z tą możliwością, myślę, że istnieje rozwiązanie: ponieważ większość programistów może łatwo złapać „pracę powierzchniową” biblioteki i tylko czasami naprawdę potrzebujemy kogoś, kto jest bardzo dobrze rozumiany: podzielmy zespół, aby to zrobić. Próbując stworzyć zespół, w którym każdy z nich wypróbował około 1,2 przydatnych bibliotek / narzędzi / „zestawu umiejętności”, które dotyczyły : ktoś ma dobre doświadczenie w zakresie jQuery, specjalizuje się w bazie danych, ... Pomoże to znacznie w minimalizacji ryzyka.