Sei pazzo?
Ovviamente si fa man bassa di quanto risulta disponibile su Internet .
Di volta in volta si scelgono librerie a pagamento o opensource.
La decisione se crearsi la libreria in casa, piuttosto che usare una open source o a pagamento e' abbastanza difficile: devono essere presi in considerazione molti fattori.
Ad esempio: realizzare una libreria ragionevolmente complessa e' abbastanza complicato e alla portata principalmente di programmatori senior (8/10 anni di esperienza come minimo).
La libreria deve essere per quanto possibile il piu' indipendente possibile da un utilizzo specifico, allo scopo di poterla riutilizzare.
Serve conoscere tecniche per il testing (ad esempio Unit Testing), per il controllo del codice scritto (Code Coverage). Servono meccanismi che permettano di far evolvere la libreria senza rompere la compatibilita' all'indietro, ...
Usare una libreria open source e' altrettanto delicato, perche' si deve valutare la validita' della libreria: quanto e' stata testata, quale e' il grado di maturita', se c'e' un team che ne assicura la manutenzione e l'evoluzione
Stesso problema con le librerie a pagamento: oltre alla questione economica, serve anche valutare la maturita' della libreria stessa e dell'azienda che la mantiene. E valutare se esistono alternative free, e la loro relativa qualita'.
Comunque non pensare che sia tempo perso lo studio pratico delle strutture dati. O l'implementazione di algoritmi.
Solo il programmatoruncolo fai da te/autodidatta puo' pensare questo.
Il professionista sa reimplementare da zero tutto quello che gli potrebbe servire. E questo implica anche che conosce le proprieta' della struttura dati o dell'algoritmo, la sua complessita' computazionale, la quantita' di memoria allocata, ed ogni altro infinitesimo dettaglio.
Queste conoscenze sono fondamentali quando si iniziano ad affrontare problemi decisamente piu' complessi della realizzazione di sitarello web, o dell'ennesimo social network.
In contesti che coinvolgano: performance, programmazione parallela o distribuita, real time, ... queste conoscenze fanno la differenza tra il riuscire a realizzare l'applicazione, e la realizzazione di un prodotto scadente o, al limite, del suo fallimento.
Ed ovviamente, tali competenze servono anche per valutare la bonta' delle librerie di terze parti.
Capita (non potrebbe capitare) di trovare bug nelle librerie di terze parti.
In questo caso, se sono open source, si fa direttamente la correzione, se sono a pagamento, bisogna realizzare il caso di test e contattare l'azienda per la correzione.