Bilmek istediğin her şeye ulaş

Her tür yazılımı geliştirmek aslında bir mühendislik midir?

Dijital ortamda yapılabilecek tonlarca yazılım türü, tonlarca programlama dili var. Acaba işin mühendislik kısmı bunların bazılarını kapsamaz mı?Düzenle
Bana göre mühendislik kısmı bu yazılım geliştirmelerine konu olan kısımla ilgili. Kodlama tekniklerindeki geliştirmeler veya kodlama, yapılacak işin veritabanı-arayüz tasarım entegrasyonu da işin mühendislik kısmına bulaşıyor. Mühendislik eğitiminin verdiği analitik düşünme kabiliyeti kodlamayı yaparken direkt olarak değil belki ama algoritma kurulurken veya fikir hayata geçirilirken mutlaka kullanılıyor bence.
  • Paylaş
3

Ersen Tekin, Bu düşünce bende de oluşmaya başlamıştı son zamanlarda. Örneğin Lua gibi yapısı gayet basit bir programlama dili ile mobil oyun geliştiriyorum. Aslında yazdığım kod düzeni gayet basit ama kodlamanın algoritmasını yazarken aslında bir mühendislik yaptığımı düşünüyorum. Bahsettiğiniz bunun gibi birşey mi Serkan bey?

Serkan Köse, Kodlama kuralları zaten genel olarakc artık çok değişmiyor. Sadece yeni katmanlar ve örneğin OOP gibi geliştirme yöntemleri ekleniyor -ki bunlar da mühendislik bence :)-. Bahsettiğiniz gibi development kısmında ise en çok algoritmalarda mühendislik bakış açısı devreye giriyor kanımca (sizin de söylediğiniz gibi)...

Ersen Tekin, Teşekkürler :)

Belirli bir yazılımı genellikle eğitimini gören bir çok kişi yazabilir, önemli olan mühendislik demek o yazılımı daha kullanışlı, basit, hızlı, isteğe yönelik bir şekilde en iyi verimi vermesini sağlayan, ve en önemlisi etrafta bulunan örneklerinden bir fark yaratan yazılım yapmaktır.
  • Paylaş
Ben de konuyla alakasız bir mühendis olarak Serkan Köse (@serkan)'ye oldukça katılıyorum. Bir hocamız bize mühendisliği şöyle tanımlamıştı "An engineer is the one who produces one good for 1$ which any fool produces for 2", "Mühendis herhangi bir kişinin iki liraya üretebildiği şeyi 1 liraya üretebilen kadın/adamdır". Bu bağlamda yazılımın gelişiminde tabii ki mühendisin rolü büyüktür ama kodlama aşamasında değil. Mühendis öncelikle yazılıma olan ihtiyacı tespit eder, olası maliyetini ve getirisini karşılaştırır (fizibilite). Ardından yazılımdan istenecekleri tespit eder. Bir sonraki aşama ben inşaatçı olduğumdan böyle düşünüyorum. Bizim tender proje dediğimiz aşamadır. Yani projenin kabataslak bir çizimi. Buna sanırım yazılımcı arkadaşlar algoritma diyorlar. Evet bunu da mühendis yapmalı, ihtiyaçları ve dolayısıyla problemleri tespit edip onları bir akış şeması içinde hazırlamak mühendisin işidir. Burada da sürekli olarak yazılım maliyetlerini, yazılımın hızını düşürecek unsurları/döngüleri hesaba katarak en kısa yolları bulmalıdır. Bu algoritma da hazırlandıktan sonra iş yazılımcıya gelir ve yazılımcı ince eleyip sık dokuyarak yazılımın tamamlanmasını sağlar.
  • Paylaş
Bana göre mühendislik denen şey, aşcılık gibidir. Bunu iki anlamda söylüyorum.

1. Bence mühendislik diplomayla değil tecrübe ve istekle olur. Tecrübeniz ve isteğiniz varsa diplomanızda mühendis yazmasa da mühendisle aynı işi çıkarabilirsiniz. Tecrübeli ve işini severek yapan bir mühendis de kendinden daha 'yıllanmış' başka bir yazılımcıdan çok daha iyi işler çıkarabilir.

2. Herkes yemek yapabilir, ama herkes aşçı olamaz (aşçısına göre değişir detayına girmiyorum) . Aşçının yaptığı yemekle benim yaptığım yemek bir olmaz. Geliştirici yemek yapandır, mühendis ise (biraz da tecübeliyse) aşçı.
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

628 Görüntülenme7 Takipçi4 Yanıt