Bir Yazılım Mühendisi Olarak 20 Yılda Öğrendiğim 20 Şey
(simplethread.com)- Hâlâ çok şey bilmiyorum: biz hayat boyu öğrenmek zorunda olan insanlarız
- Yazılım geliştirmede en önemli şey, ihtiyaç duyulanı üretmektir
- En iyi yazılım mühendisleri tasarımcı gibi düşünür
- En iyi kod, hiç kod olmaması ya da bakım gerektirmeyen koddur
- Yazılım, bir amaç için kullanılan araçtır
- Bazen testereyi bilemeyi bırakıp bir şeyler kesmeye başlamak gerekir
- Neyin mümkün olduğunu iyi anlamıyorsanız iyi bir sistem tasarlayamazsınız
- Bütün sistemler eninde sonunda can sıkıcı hâle gelir; bunu aşmayı öğrenin
- Hiç kimse yeterince "neden" diye sormuyor
- 10x programcı aramaktan çok, 0.1x programcılardan kaçınmaya odaklanmalıyız
- Kıdemli mühendisle junior mühendis arasındaki en büyük fark, araçlar ya da yazılım yazma biçimi hakkında kendine ait görüşler oluşturup oluşturmadığıdır
- İnsanlar gerçekten yenilik istemez
- Veriniz sisteminizin en önemli parçasıdır
- Teknik köpekbalıklarını bulun (hızlı değişime rağmen uzun süre hayatta kalan teknolojiler)
- Alçakgönüllülüğü cehalet sanmayın
- Yazılım mühendisleri düzenli olarak yazı yazmalıdır
- Süreçleri olabildiğince yalın (Lean) tutun
- Yazılım mühendislerinin de (tıpkı tüm insanlar gibi) sahiplenme duygusuna ihtiyacı vardır
- Bir adayın iyi bir takım arkadaşı olup olmayacağını mülakatta anlayamazsınız
- Her zaman daha küçük sistemler kurmaya çalışın
Önemli
- Yazının başında şu uyarı yer alıyor.
"Bol tavsiyeli blog" yazıları okurken, tavsiyelerin çoğu bağlama bağlıdır ama çoğu zaman bu tavsiyeler o bağlamla birlikte aktarılmaz
Bağlamı anlaşılmayan tavsiye anlamsızdır, hatta zararlı bile olabilir - Bu yüzden kendi bağlamını da biraz açıklamış:
- Kariyerinin ilk yarısında küçük ve orta ölçekli şirketlerde/startuplarda çalıştı, ardından danışmanlık şirketine geçip büyük işletmeler tarafında çalıştı
- Sonrasında SimpleThread'i kurdu ve şirketi 2 kişiden 25 kişiye büyüttü
- 10 yıl önce çoğunlukla küçük ve orta ölçekli şirketlerle çalışıyordu, şimdi ise büyük ve küçük şirketlerin karışımıyla çalışıyor
- Dolayısıyla kendisi:
- Her zaman çok küçük bir ekiple, çok iş yapmak zorunda olunan küçük ve yalın (Lean) takımlarda çalıştı
- Belirli araçlardan çok "çalışan yazılımı" önemser
- Sürekli yeni projeler başlatır ama aynı zamanda çeşitli sistemlerin bakımını yapmak zorundadır
- Çoğu başka etkenden daha fazla, mühendis üretkenliğine önem verir
- Bu bağlamı göz önünde bulundurarak yukarıdaki maddeleri okuyun. Yalnızca başlıkları aktardım; ayrıntılar için orijinal metne bakın.
14 yorum
Her gün bir kez okumaya geleceğim. 23/06/04
Bu,
buna göre daha iyi görünüyor.
Yazılım geliştirmede en önemli şey,
gerekliolanı yapmaktırBu daha iyi görünüyor.
Güzelmiş, teşekkürler~!
İnsanlar gerçekten inovasyon istemiyor <- bununla ne kastediliyor acaba?
İnsanlar inovasyondan bahsediyor, ama gerçekte onlara yenilikçi bir şey sunduğunuzda çoğunlukla olumsuz geri bildirim geliyor. Bu yüzden uzun vadeli düşünerek ilerlemek gerektiğini söylüyor.
Uyarı gerçekten çok yerinde.
Vay canına, gerçekten çok güzel bir yazı..
Teknik açıdan “eski” bir teknoloji olmaktan ziyade, doğrulanmış ve istikrarlı bir teknoloji anlamına geliyor sanırım.
Ah, ifade biraz tuhaf olmuştu. Düzelttim.
Güzel bir yazı.
Ayrıca "önemli" diye özellikle işaretlenmiş kısımları gerçekten çok beğendim. Bununla birlikte bağlamın da verilmiş olması açısından.
Ah, çok daha iyi. Düzelttim.