Yazılım kütüphanesi (Software Library), yazılım geliştiricilerinin program geliştirirken kullandıkları bir tür program kodları ve veriler takımıdır. Yazılım kütüphaneleri, yazılımcılar ve programlama dilinin derleyicilerine çalıştırılabilir programlar geliştirme konusunda yardımcı olurlar. Yazılım kütüphaneleri içinde genellikle önceden hazırlanmış kodlar, sınıflar, prosedürler, betikler, konfigürasyon verilerini içerir.
Bir geliştirici yazılım geliştirirken yazılımını daha işlevsel hale getirmek veya çeşitli fonksiyonlar kazandırmak için yazılım kütüphanelerinden faydalanır. Yazılım kütüphaneleri yazılımcıların iş yükünü hafifletir ve aynı kodu tekrar yazmalarına gerek kalmadan onlara hazır bir kalıp sunar. Basit bir örnekle açıklamamız gerekirse; bir geliştirici matematikle ilgili bir yazılım geliştirdiğinde bu yazılıma karmaşık matematik işlemlerini yaptırması için ayrı ayrı modüller yazmak zorunda kalacaktır. Bu kodları yazmaya uğraşmak yerine yazılım kütüphanesindeki bir matematik modülünü alıp bu modülü doğrudan kendi yazılımına ilave edebilir.
Geliştirici modülü ilave ederken, istemediği veya ihtiyaç duymadığı bölümleri koddan çıkarabilir ya da ihtiyacına göre düzenleyebilir. Verdiğimiz basit örnekten anlayabileceğiniz üzere yazılım kütüphaneleri geliştiricilerin iş yükünü ciddi oranda hafifletebilir ve geliştirme sürecine hız kazandırabilir. Her programlama dilinde popüler hale gelen yazılım kütüphaneleri vardır. Geliştiricilerin daha hızlı ve sorunsuz yazılımlar ortaya çıkarabilmesi için bildiği programlama diline dair ilgili yazılım kütüphanelerinin neler olduğunu ve bunlardan nasıl faydalanması gerektiğini öğrenmesi gerekir.