Temel olarak web uygulamaları üzerinde çalışan bir yazılım geliştiricisi olarak, TCP / IP hakkında kapsamlı bilgiye ve yönlendiricilerin istekleri nasıl yönettiğine veya bana sadece kara kutu bilgisine sahip olmam gerekir mi?
IMO, bir yazılım geliştiricisi olmanız (CS arka planıyla varsayıyorum) bu şeyleri bilmelidir. Özellikle web geliştirme yaparsanız. Yorumlarımdan birinde bahsettiğim gibi, danışmanlık ücretlerinde sadece ağ / internet mimarisinin temellerini bilmeyen insanlar tarafından yapılan gerçekten aptalca hataları düzeltmek için bir yük * yükledim.
ZOMG, web sitemde yaptığım değişiklikler gösterilmiyor, lütfen yardım edin!
* ZOMG, insanların profilleri geçiyor çünkü oturumlar bir yerde önbelleğe alınıyor, yardım lütfen !
Yardım! "
... ve benzeri vb.
Web uygulamanız ve kullanıcının tarayıcısı arasında bir ton şey var: uygulamanız, uygulamanızın NIC'si, bir yönlendirici ve muhtemelen bir güvenlik duvarı, daha sonra http sunucunuzun dahili NIC'i, sonra http sunucunuz, sonra http sunucunuz giden NIC'i, sonra başka bir yönlendirici ve kesinlikle bir güvenlik duvarı. Sonra bir önbellek cihazı ve muhtemelen bir SSL cihazı. Daha sonra daha fazla yönlendirici ve önbellek sunucusu ile internete, daha sonra kullanıcılarınızın tarayıcısına (ve dahili önbelleğine).
Milyonlarca şey ters gidebilir ve ağ, ağ protokolleri, işletim sistemleri / sistemad ve internet mimarisi hakkında bir bilgi birikiminiz yoksa, kaybolan ve BT OPs departmanınızın merhametinde olacaksınız (çoğu geliştirici ne altyapıya erişebilir ne de bir şeyleri giderirken nereye bakacağını bilmez). En kötüsü, sizi gerçekten berbat bir web geliştiricisi yapacak.
Web geliştirme programlama yönü sadece bir yönüdür. Başarılı bir şekilde yürütülmesi, BT operasyonlarına verilemeyen veya körü körüne devredilemeyen diğer becerilerin (özellikle ağ ve sistem yönetimi) üzerine oturmaktadır. Bu, ağ / işletim sistemi sorun giderme işlemlerinden sorumlu olmanız gerektiği anlamına gelmez , ancak
a. Ağ / işletim sistemi düzeyinde neyin yanlış gidebileceğini bilmelisiniz, böylece uygulamanız hakkında hiçbir zaman samimi bilgiye sahip olamayan IT OPS'ye işbirliği yapabilir ve rehberlik edebilirsiniz. b. Bu bilgi, sisteminizi bu tür hatalardan kaçınmak veya en azından iyileştirmek ve zarif bir şekilde başa çıkmak için tasarlamanızı sağlar.
Programlama, mühendislik ve geliştirmenin sadece bir yönüdür. Birincil yeteneğiniz olamaz ve genel olarak kurumsal gelişimde uzun vadede gerçekten başarılı olun ve özellikle web geliştirmede bunlar bilmeniz gereken şeylerdir. Ve dürüst olmak gerekirse, bunlar okulda veya mezuniyetten önce (veya iş piyasasına girdikten hemen sonra) kendi kendine öğrenme yoluyla (çok sıkı bir şekilde) öğrenilmesi gereken şeylerdir.
İyi şanslar.