İş Rolü: Yazılım Mühendisi

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
İş Rolü: Yazılım Mühendisi - Teknoloji
İş Rolü: Yazılım Mühendisi - Teknoloji

İçerik


Kaynak: Dragonimages / Dreamstime.com

Paket servisi:

Yazılım mühendisi, yazılım geliştirme yaşam döngüsüyle derinden ilgilenir ve bir projenin başarısında büyük rol oynar.

Bir yazılım mühendisi ne yapar? Basit cevabı, yazılım ürünlerine mühendislik ilkeleri uygulama sürecinde, yazılım mühendisliği ile ilgilenmesidir.

Bununla birlikte, yazılım dünyasında yazılım mühendislerinin ne yaptığını tarif etmede gerçekten çok fazla ayrıntı ve dikkat vardır. Her gün kullandığımız tüm harika dijital şeyleri yaratmaya çalışan bir yazılım mühendisinin “hayatında bir güne” baktığımızda bunlardan bazılarına gireceğiz. (Alandaki birisinin rolüyle ilgili daha fazla bilgi edinmek için Nasıl Buraya Nasıl Gidiyorum: 12 Yazar ve Yazılım Mühendisi David Auerbach ile Sorular.)

Yazılım Geliştirme Yaşam Döngüsü

Yazılım mühendisinin rolünü anlamak için yazılım geliştirme yaşam döngüsünü (SDLC) bilmek faydalı olacaktır.


Yazılım geliştirme yaşam döngüsü, genellikle gereksinimlerin planlanması, tasarlanması, kodlanması, test edilmesi, uygulanması ve teslimi olarak tanımlanan çeşitli anahtar aşamaları içerir (tescilli işlemlere göre birkaç adım atın veya atın).

“Yazılım çözmeye çalıştığımız problemle başlar” diyor Value Transformation LLC'den John Quigley, geleneksel yazılım geliştirme yaşam döngüsünü, sürecin başında olanlardan başlayarak başlayarak açıklıyor. “Bu, bir belge biçiminde açıklanacak ve müşterilerle ya da sorun altında olan kişilerle yapılan görüşmelerin sonucudur… Belge, çözüm için bununla karşılaştırılacak fikirlerin üretilmesine yardımcı olacak sorunun nasıl göründüğünü açıklayacaktır. Bu, başarmaya çalıştığımız şeyi tespit ederek, bu çalışmanın hedefi olacaktır. ”

Gereksinimler aşamasında, mühendislerin hem donanım (varsa) hem de yazılım olmak üzere ürünün spesifik teknik açıklamasını belirttiklerini söylüyor.


Sonra kodlama var: “Yazılım mühendisleri, belirli gereksinimleri karşılayan istenen ürünü üretecek kodları belirli ifadelere yazacaklar” diyor Quigley kodlama aşamasını.

Bundan sonra, testin yapıldığını ve ardından yazılımı katı bir üretim ortamına götüren bir dizi adım olduğunu söylüyor. Sürecin sonuna doğru, uygulama ve yayma hakkında çeşitli fikirlere yer var. Quigley ayrıca SDLC için yeni bir “çevik” modelin biraz farklı çalıştığını da ekliyor.

Hata Yok, Stres Yok - Hayatınızı Yok Etmeden Hayat Değiştiren Yazılım Yaratma Adım Adım Kılavuzunuz

Hiç kimse yazılım kalitesiyle ilgilenmediğinde programlama becerilerinizi geliştiremezsiniz.

Quigley, “Çevik dünyada, işler çok görünüyor ama yinelemeler daha küçük ve birbirine daha yakın” diyor. “Bu gereksinim, kullanıcı öykülerinde ele alınabilir, doğada daha az teknik olabilir ve uygulamanın anlaşılması için daha fazla yazılabilir, böylece yazılım mühendisleri fiili kullanıma dayalı olarak ihtiyaç duyulan temel özellikleri çıkartabilir ve değerlendirebilir.”

Yazılım Mühendisinin Değişen Rolü

Yazılım geliştirme yaşam döngüsü çeşitli aşamalara ve işlemlere sahip olduğundan, yazılım mühendisinin çalışmalarının da değiştiği mantıklıdır.

Rochester Institute of Technology'de profesör olan Samuel Malachowsky, “Yazılım Mühendisi, yazılım çözümünün oluşturulmasında çoğundan daha geniş bir role sahip” diyor. “SDLC'nin her bir elemanının uzmanları var: İlk adımlar için RE'ler ve satışlar, tasarım aşaması için mimarlar, yapım için kodlayıcılar / programcılar, doğrulama / test için KG, dağıtım / bakım için IT ve hareket ve yönetim için proje yöneticileri Her ekip üyesi / aşaması olmakla birlikte, Yazılım Mühendislerinin kendilerini tüm süreç boyunca geniş çapta uygulamaları beklenmektedir. Bu bakış açısı göz önüne alındığında, daha iyi bir soru bir Yazılım Mühendisinin ne yapmadığını sormak olabilir. ”

İşte bir başka ilginç nokta Malachowsky, ortalama bir yazılım mühendisinin işinin nasıl bir şey olduğu hakkında çok şey ortaya çıkaran BT ve yazılım mühendisliği arasındaki farkları ortaya koyuyor:

“BT operasyonel ve tekrarlayıcı, mühendislik ise benzersiz projeler olarak çözülecek yeni problemler etrafında dönüyor” diyor. “BT personelinin, bu tekrarlama nedeniyle bireysel araç-temelli sertifikaları almaya daha yatkın olması. Bilgisayar Mühendisliği gibi bir şeye zıtlık, şartların yerine getirildiği yere bakar - CE'ler, sorunu yazılımla destekleyerek donanım ile çözmeye odaklanır. SE'ler problemi yazılımla ve donanım desteği ile çözüyor. ”

Yazılım Mühendisi ve Proje Ekipleri

Birçok şirkette, yazılım mühendisleri karmaşık süreçteki rollerine göre gruplandırılmış ve yetkilendirilmiştir.

Brennan Meagher, Fierce Healthcare, Amerikan Acil Doktorlar Koleji, Sağlık Veri Yönetimi, Sağlık Bilgi Teknolojileri Haberleri ve başka yerlerde sağlık hizmetlerinde yenilikçiliğe önem veren bir şirket olan TeleTracking'den bir örnek anlatıyor.

Meagher, “TeleTracking'de, yazılım mühendisleri, TeleTracking platformunun parçası olan tüm modüllerin ve uygulamaların kodlanmasından ve test edilmesinden sorumludur” diyor Meagher. “Ayrıca yazılım çözümleri ve yapımların geliştirilmesine de yardımcı oluyorlar. Buna yeni yazılım araştırması, tasarlanması, belgelenmesi ve geliştirilmesi de dahildir. Kısacası yazılım mühendislerimiz, hastalara erişimi geliştirmek için TeleTrackings'in teknik vizyonuna uygun yazılım çözümleri yaratıyor. ”

Bu profesyonelleri kurumsal bir kampüste hayal edebilir, önce taslak hazırlayabilir, daha sonra modeli ayarlayabilir, daha sonra ekipleri test ederek dikkatli bir şekilde projeyi tamamlar.

Meaghan, “Yazılım mühendislerinin düzenli olarak sorumlu oldukları bir şeye örnek olarak şunlar verilebilir: tüm uygulama katmanlarında yazma, hata ayıklama, birim testi ve performans testi kodları,” diyor. “Ön uç (web), orta katman (web servisleri) ve veri erişim katmanlarını içerir.”

Sonuç olarak, yazılım mühendislerinin farklı, özel işleri var. Hepsinin bazı kodlamanın temellerini anlaması gerekir, ancak bazılarının testin özelliklerini veya tasarım gereksinimlerinin şeffaflığını veya bazı durumlarda çevik gelişme dünyasını incelemeleri gerekir.

Ardından DevOps modeli ortaya çıktı ve geleneksel modelde çok özel bir şekilde özetlenen ve kategorize edilen birçok yinelemeli süreci birleştirdi. Yani yazılım mühendisinin rolü değişiyor. (DevOps hakkında daha fazla bilgi için bkz. DevOps Yöneticileri Ne Yaptıklarını Açıklıyor.)

Bu, yazılım uzmanlığındaki bu merkezi uzmanların çalışmaları hakkında daha fazla bilgi edinmeye başladığınızda size biraz zaman kazandırır. Yazılım mühendisi, tasarım ve yazılım yaratmanın “İsviçre Ordusu bıçağı” olarak tanımlanmıştır - ve yoğun bir şirkette birçok şapka giymeye başlayabilir.