Cevap 1:

Burada birkaç farklı tanım alabilirsiniz, çünkü Sistem Mühendisliği terimi açık ve net bir şekilde tanımlanmamıştır. Yazılım mühendisliği yazılım oluşturmakla ilgilidir. Kolay olan bu. Benim için fark, sistem mühendisliğinin genellikle yazılımın ötesinde unsurlar içeren eksiksiz sistemler inşa etmesidir. / Veya elektronik veya mekanik cihazları içeren donanım elemanları olabilir. Proses mühendisliği bile gerekebilir. Gerçekten de bir sistem mühendisi yazılım bileşeni olmayan bir sistemi (giderek daha nadir olmasına rağmen) veya sadece bir yazılım bileşenine sahip bir sistem tasarlayabilir. Sistem mühendisinin görevi, bu farklı bileşenleri birleştirilmiş bir bütün olarak bir araya getirmektir.

Başka bir görüş, sistem mühendislerinin daha yüksek bir soyutlama düzeyinde çalıştığı ve yalnızca arayüzlere odaklanarak, uygulamadan bağımsız olarak sadece yapı taşı seviyesine tasarım yapmasıdır. Deneyimlerime göre bu oldukça nadir, sadece akademide karşılaştım.

Yine başka bir görüş, donanım veya işletim sistemi ile arayüz oluşturmada yer alan yazılım mühendisliğinin çok özel bir alanı olan sistem programlamasıdır. Ancak çoğu kişi “sistem mühendisliği” ile “sistem programlama” arasında ayrım yapar.


Cevap 2:

Sistem mühendisliği, yazılımlardan / sistemlerden oluşamayan sistemlerle, sistem analizi (bu nasıl inşa edileceği, nasıl inşa edileceği, neden inşa edileceği), teknik açıdan, ihtiyaç analizi, fizibilite çalışması, inşaat planı ile ilgili dokümantasyon ile ilgilidir. , kullanılabilirlik ve çalışan sistemlerin kullanıcıların gereksinimlerini ne kadar iyi karşıladığını !!! Bir sistem herhangi bir yolla oluşturulur ve yazılım araçlarına ek olarak herhangi bir şeyden oluşur, yani bir sistem yazılımlardan yapılmış olabilir veya olmayabilir, kullanıcı kılavuzları, sorun giderme ipuçları, sistem mimarisi / tasarım felsefesi vb. sadece yazılımlarla ilgili her şey, yani yazılım nasıl hazırlanır, hangi programlama kullanılır, kullanıcı etkileşimi / arayüzleri nasıl tanımlanır. Yazılım kesinlikle bilgisayarla ilgili iken, sistem herhangi bir amaç ile ilgili olabilir !!!


Cevap 3:

Sistem mühendisi, bir ürünün, çözümün veya hizmet teklifinin teknoloji yönlerinden sorumlu birisidir. Bu, çözüm mimarisini, çözümü geliştirmeyi veya genişletmeyi, pozisyon belgelerini yazmayı, belgelere yardımcı olmayı, eğitimi geliştirmeyi, çözümü entegre etmeyi ve ürün yönetim planlarına katkıda bulunmayı içerebilir - birkaç sorumluluğu.

Yazılım konusunda uzmanlaşmış bir sistem mühendisi ... bir yazılım mühendisidir.

İş teklifi hangi uzmanlığı gösteriyor? İş hangi iş faaliyetlerini destekliyor?


Cevap 4:

Bir BT yazılım mühendisi ve sistem mühendisi aslında çok ortak noktaya sahiptir.

Her ikisinin de çözüm tasarlamak için altta yatan iş ve destek gereksinimlerini anlaması gerekir. Karmaşık bir problemi veya problem setini çözerken hem disiplinlerden hem de tekniklerden ve süreçlerden faydalanmalıdırlar. Her ikisinin de rollerine çeşitli programlama dilleri ile uzun yıllara dayanan deneyim getirmeleri ve kalite güvencesi (QA) ve donanım mühendisleri ile işbirliği yapmaları beklenmektedir.

İki konum arasındaki genel farklara gelince: Yazılım mühendisleri yazılım uygulamalarına daha fazla odaklanma eğilimindeyken, sistem mühendisleri kullanıcılarla ve alan adlarıyla çalışır. Her iki konumda da kariyer yapmayı düşünüyorsanız, her biri için ne bekleyebileceğiniz ve nasıl eğiteceğiniz hakkında daha fazla bilgi için okumaya devam edin:

Yazılım mühendisi

Bir BT yazılım mühendisi, yazılım programları oluşturmak için mühendislik spesifikasyonları tasarlar ve oluşturur ve geniş bilgi sistemleri deneyimine sahip olmalıdır. Yazılım mühendisleri genellikle test planları geliştirmek için KG ve donanım mühendisleriyle birlikte çalışır. Diğer sorumluluklar, hangi geliştirme yönteminin kullanılacağını belirlemeyi ve yazılım gereksinimlerini belgelemeyi içerebilir.

Robert Half Technology'nin Maaş Rehberine göre, bu rol için minimum gereksinimler arasında bilgisayar bilimi, elektrik mühendisliği, bilgisayar mühendisliği veya ilgili bir disiplin dalında lisans derecesi bulunmaktadır. Yazılım mühendisliği işleri için adayların çoğu, C # ve C ++, Java veya Visual Basic .NET gibi belirli programlama dillerinde birkaç yıllık deneyime sahiptir. Gereken programlama dilleri işverene göre değişir.

Sistem mühendisi

BT'deki bir sistem mühendisi, yazılım bileşenleri geliştirdiği için bir yazılım mühendisi ile aynı işi yapar. Ancak sistem mühendisliği, teknik altyapının belirlenmesi, oluşturulması, sürdürülmesi ve desteklenmesini de içerir. Bu altyapı, Yazılımı Hizmet olarak sunmak için kullanılan oluşturma, test ve üretim ortamlarını ve dağıtılan yazılım çözümlerinin performansını izlemek için kullanılan sistemleri içerebilir. Bir sistem mühendisi, hizmet kesintileri için üst düzey kök neden analizi yapmak ve bir sorun çözüldüğünde hizmetleri tekrar çevrimiçi duruma getirmek için çağrılabilir.

Sistem mühendisi rolü için asgari eğitim gereksinimleri bir yazılım mühendisininkini yansıtır: bilgisayar bilimi, elektrik mühendisliği, bilgisayar mühendisliği veya ilgili bir disiplin dalında lisans derecesi. Sistem mühendisleri gibi, yazılım mühendisleri de genellikle birden çok programlama diliyle çalışma konusunda birkaç yıllık deneyime sahiptir ve KG ve donanım mühendisleriyle işbirliği yapabilirler.

Yumuşak beceriler, hem teknik hem de teknik olmayan kullanıcılarla etkili bir şekilde iletişim kurabilmeleri gerektiğinden, sistem mühendisliği profesyonelleri için özellikle önemlidir. Birçok işveren, belirli donanım ve yazılım sistemleriyle çalışma konusunda geniş deneyime sahip bir sistem mühendisi adayı ve BT'yi bir sistem düzeyinde tasarlayabildiğini, analiz edebildiğini ve sorun giderebileceğini gösterebilmesini isteyecektir.


Cevap 5:

Yazılım mühendisi: Bu, yazılım ürünlerinin geliştirilmesi ve bakımının yapılması ile ilgilidir.

Sistem mühendisi: Bu iş, bazı güvenli yollara yönetici hakları vermek, Geliştirilmiş kodu sunuculara dağıtmak, gerekli yazılımları sistemlere uzaktan yüklemek gibi yazılım mühendislerinin faaliyetlerini desteklemekle ilgilidir.