Bilgisayar programlarının tasarımı, geliştirilmesi, sınanması ve bakımı konularını ele alan mühendislik dalıdır. Diğer mühendislik dallarıyla karşılaştırıldığında çok yeni olan bu alanda sürekli yeni yöntemler geliştirilmekte ve konu yavaş yavaş belli bir olgunluğa ulaşmaktadır. Temel mühendislik prensiplerinin bu dalda da uygulanması, önceden tahmin edilebilir ve yinelenebilir sonuçların daha çok elde edilmesiyle yazılım mühendisliği gerçek bir mühendislik dalı olma yolunda ilerlemektedir.


Türkiye'de şu anda üç üniversitede bulunmaktadır. Şimdilik pek gelişmemiş olmasına karşın Türkiye'deki yazılım mühendisi açığı çok büyük olduğundan geleceğin mesleklerinden birisi olarak gösterilmektedir

Yazılım mühendisliği, kurulduğu 1940'lardan 2000'lere kadar sürekli evrimleşmiştir. Uygulamalar da evrimleşmişlerdir.

Yazılım mühendisliği terimi ilk kez 1950'lerin sonunda 1960'ların başında görülmeye başladı. Programcılar zaten inşaat, elektrik ve bilgisayar mühendisliklerini biliyorlardı ve yazılım için mühendisliğin ne olduğunu tartışmaya başladılar. NATO Bilim Komitesi, 1968'deki ve 1969'daki yazılım mühendisliği üzerine bu alana destek olan iki konferansa (Garmisch, Almanya) destek oldu. Çoğu kişi bu konferansların yazılım mühendisliğindeki resmi başlangıç olduğuna inanır.


1960'lar, 70'ler ve 80'lerdeki yazılım geliştirmedeki sorunları tespit eden yazılım krizleri yazılım mühendisliğini teşvik edici unsur oldu. Birçok yazılım tasarısı bütçeyi aştı ve düşünülen zamanı geçti. Bazı tasarılar fiziksel zarara neden oldu, bir kesim tasarılar ise ölümlere bile neden oldu. Yazılım krizi önceleri verimlilik açısından tanımlanmış olsa da sonradan kaliteyi vurgulama ön plana geçti. Bazıları ise yazılım krizi kavramını yeterli kalitede programcı kiralayama karşılığı olarak kullandı.


Maaliyet ve bütçenin aşılması: OS/360 işletim sistemi klasik bir örnektir.

Fiziksel zarar: Yazılım kusurları fiziksel zararlara yol açabilir. Kötü yazılım güvenliği ise kırıcılara (hacker) kişisel bilgileri çalmasına izin verir, bu paraya, şöhrete ve zamana mal olur.

Yaşam ve ölüm: Yazılım kusurları öldürebilir. Radyoterapi makinelerinde kullanılan bazı gömülü sistemler başarısız oldu, bu yüzden makineler hastaları öldürücü dozlarda radyasyona maruz bıraktı. Bu başarısızlıkların en ünlüsü Therac 25 olayıdır.

  • Edsger Dijkstra
  • Brian Kernighan, C ve Unix'in yaratıcısı
  • Bill Joy, vi'ın yaratıcısı
  • Anders Hejlsberg, Turbo Pascal'ın geliştiricisi
  • John Von Neumann, işletim sistemi kavramının yaratıcısı
  • John Backus, Fortran'ın yaratıcısı
  • Bjarne Stroustrup, C++'ın geliştiricisi
  • James Gosling, Oak'ın geliştiricisi
  • Alan Cooper, Visual Basic'in geliştiricisi
  • Tony Williams