Aus meiner Erfahrung: Da Sie die Bibliotheksabhängigkeit nicht beseitigen können, sollten Sie und Ihr Team genug wissen, um das Problem zu lösen.
Als Programmierer haben wir wenig Zeit, deshalb müssen wir den wählen, der die höchste Priorität hat. Das Problem muss so schnell und sanft wie möglich gelöst werden. Nur aus diesem Grund ist es etwas überflüssig, "alles über Dinge zu lernen".
Was ich hier hinzufügen möchte, ist "Abhängigkeit". Als Gemeinschaft sind wir alle auf andere angewiesen. Wir stehen auf den Riesen, um unsere Anwendung zu erstellen: Java, .NET, API ... Und wir vertrauen den Riesen in Bezug auf ihre Arbeit; weil es für so viele Menschen funktioniert. Wenn Sie ein Problem mit dem Framework oder der API haben, besteht eine gute Chance, dass andere Probleme damit haben, und es gibt eine Lösung / Abhilfe.
Das einzige Problem hier: Vielleicht sind die Riesen irgendwo in einem eingeschränkten Kriterium zusammengebrochen. Zum Beispiel wird Flash in einigen Betriebssystemen nicht unterstützt, und es gibt viele Dinge, die wir ohne es nicht tun könnten. Diese Möglichkeit ist mehr als null, aber in diesem Fall haben wir kleine Dinge, die wir tun können. Nur in diesen Fällen erweist sich das Wissen darüber, was sich hinter den Hauben verbirgt, als nützlich, da es darauf hinweist, wo das Problem tatsächlich liegt und möglicherweise eine große Umgehungsmöglichkeit schafft. Aber ich bin mir nicht sicher, ob sich die Zeit, die wir investieren, wirklich lohnt.
Um diese Möglichkeit zu bewältigen, gibt es meiner Meinung nach eine Lösung: Weil die meisten Programmierer die "Oberflächenbearbeitung" einer Bibliothek leicht nachvollziehen können und wir nur manchmal wirklich jemanden brauchen, der sehr gut versteht: Teilen Sie das Team, um das zu tun. Der Versuch, ein Team zusammenzustellen, das jeweils über 1,2 nützliche Bibliotheken / Tools / "Fähigkeiten" informiert ist : Man hat gute Erfahrungen mit jQuery, man hat sich auf Datenbanken spezialisiert, ... Dies trägt wesentlich zur Risikominimierung bei.