Theo kinh nghiệm của tôi: vì bạn không thể loại bỏ sự phụ thuộc vào thư viện, bạn và nhóm của bạn nên biết đủ để giải quyết vấn đề.
Là lập trình viên, chúng tôi có ít thời gian, vì vậy chúng tôi phải chọn người có mức độ ưu tiên cao nhất. Vấn đề phải được giải quyết, nhanh và nhẹ nhàng nhất có thể. Chỉ có lý do này làm cho "học tất cả về mọi thứ hoạt động" hơi dư thừa.
Điều tôi muốn thêm vào đây là "sự phụ thuộc". Là một cộng đồng, tất cả chúng ta đều phụ thuộc vào người khác. Chúng tôi đứng trên Người khổng lồ để xây dựng ứng dụng của mình: Java, .NET, API ... Và chúng tôi tin tưởng Người khổng lồ về công việc của họ; bởi vì nó làm việc cho rất nhiều người Nếu bạn gặp vấn đề về khung hoặc API, rất có thể những người khác đã phải đối mặt với nó ở đâu đó và có một giải pháp / giải quyết.
Vấn đề duy nhất ở đây: có thể, ở đâu đó, trong một tiêu chí hạn chế, Người khổng lồ sụp đổ.Ví dụ: flash không được hỗ trợ trong một số HĐH và có nhiều thứ chúng ta không thể làm nếu không có nó. Khả năng này là nhiều hơn không, nhưng trong trường hợp này chúng ta có những điều nhỏ mà chúng ta có thể làm. Chỉ trong những trường hợp này, kiến thức về "những gì đằng sau mũ trùm" mới chứng minh được sự hữu ích, vì nó chỉ ra vấn đề thực sự ở đâu và có thể tạo ra một vấn đề lớn; nhưng tôi không chắc thời gian chúng ta đầu tư thực sự xứng đáng.
Để đối phó với khả năng đó, tôi nghĩ có một giải pháp: bởi vì hầu hết các lập trình viên có thể dễ dàng nắm bắt được "hoạt động bề mặt" của thư viện, và chỉ đôi khi chúng ta thực sự cần một người rất hiểu biết: hãy chia nhóm để làm điều đó. Cố gắng bao gồm một nhóm mà mỗi người đã trải nghiệm khoảng 1,2 thư viện / công cụ / "bộ kỹ năng" hữu ích có liên quan : một người có kinh nghiệm tốt về jQuery, một người có chuyên môn về cơ sở dữ liệu, ... Điều này sẽ giúp giảm thiểu rủi ro.