Bilgisayar yazılımı mühendisliği, bir bilgisayar yazılım ürününü planlama, tasarlama ve geliştirme sürecinin tamamıdır. Yazılım mühendisliği terimi, özellikle yazılımı oluşturmak ve sürdürmek için kullanılan karmaşık, disiplinli ve sistematik bir yaklaşımı ifade eder. Birçok kişi, yazılım ürünlerini oluşturmak ve desteklemek için gereken becerileri açıklamak için bu terimi kullanır.
Bir bilgisayar yazılımı mühendisi olmak için, adayların bilgisayar bilimi alanında bir üniversite diplomasını tamamlamaları gerekir. Bazı okullar bir bilgisayar yazılımı mühendisliği uzmanı sunsa da, bu pek yaygın değildir. Genel olarak, gerekli beceriler zaten bilgisayar bilimleri programına dahil edilmiştir ve tanınmış bir disiplin olma avantajına sahiptir. Bilgisayar yazılımı mühendisliği alanı nispeten yenidir ve geniş çapta benimsenmesi için daha fazla zaman gerekebilir.
Mesleğin kendisi, mühendislerin olduğu gibi lisanslandırılmamış veya düzenlenmemiştir. Değişen derecelerde başarıya sahip olan bu profesyonel gruba lisans vermek için çeşitli girişimler olmuştur. Amerika Birleşik Devletleri'nde, Elektrik ve Elektronik Mühendisleri Enstitüsü (IEEE) bilgisayar yazılımı mühendisleri için bir lisans programı oluşturdu, ancak sınırlı bir kabul gördü. Avrupa ve Kanada'da meslek düzenlenir ve adaylar profesyonel bir bilgisayar yazılımı mühendisi olmak için özel eğitim ve deneyim gereksinimlerini karşılamalıdır.
Bu alandaki öncelikli odak, yeni yazılım ürünlerinin oluşturulmasını çevreleyen metodolojinin geliştirilmesidir. IEEE, Yazılım Mühendisliği Bilgi Grubu (SWEBOK) adlı bir kılavuz geliştirmiştir. Bu kitabın, Kuzey Amerika'daki bir yazılım mühendisinin dört yıllık iş tecrübesinden sonra sahip olması gereken standart bilgi seviyesine sahip olduğu düşünülmektedir. Kitabın geçerliliği hakkında kaynak olarak pek çok enstitüye danışılmadığından uluslararası alanda çok tartışmalar yapıldı.
Bilgisayar yazılımı mühendisliği, yazılım tasarımı, test ve bakım dahil olmak üzere çeşitli alt alanlara ayrılabilir. Toplamda, 10 farklı alt alan IEEE tarafından resmi olarak tanınır. Bununla birlikte, ek alanlar gelişmeye devam ediyor ve listenin tamamlanmış sayılması biraz zaman alabilir.
Bilgisayar yazılımı mühendisi olmak isteyen birçok kişi kariyerine bilgisayar programcısı veya geliştiricisi olarak başlar. Geleneksel kariyer yolu bu alanda başlamak ve daha sonra sekiz ila 10 yıllık çalışma deneyiminden sonra yazılım mühendisine tanıtım fırsatı aramak. Bu kariyer yolu, teknoloji ve metodoloji sürekli değiştiğinden, bu dönemde ek eğitim ve öğretim gerektirir. Bilgisayar bilimi mühendisliğine olan talebin, önümüzdeki beş ila sekiz yıl boyunca ortalamanın üzerinde bir büyüme göstereceği tahmin ediliyor. Fırsatlar arttıkça, bu alanda mesleki tanıma için uluslararası kabul görmüş bir standardın daha fazla netleştirilmesi ve geliştirilmesi gerekmektedir.


