1) İş Uygulamaları ücretleri :
Bence tüm "Kurumsal" çerçeveler duman ve aynalar. J2EE, .NET, Apache çerçevelerinin çoğunluğu ve bu tür şeyleri yönetmek için çoğu soyutlama çözdüklerinden çok daha karmaşıktır.
Sıkıcı, basit görevleri çözmek için "sihir" yapan herhangi bir düzenli Java veya .NET ORM veya sözde modern MVC çerçevesini alın. Sonunda hızlı bir şekilde doğrulanması ve yazılması zor olan çok sayıda çirkin XML demirbaş yazısı yazıyorsunuz. Bunların yarısının diğer API'lerin çalışmalarını, geri dönüştürülmesi imkansız olan arayüzleri ve yalnızca Java ve C # esnekliğini aşmak için gerekli soyut sınıfları entegre etmek için devasa API'larınız var. Bunun çoğuna ihtiyacımız yok.
Kendi darned tanımlayıcı sözdizimi, aşırı karmaşık veritabanı ve grup yazılımı ürünleri ile tüm farklı uygulama sunucularına ne dersiniz?
Bunun amacı karmaşıklık == kötü değil, gereksiz karmaşıklık == kötü. Bazılarının gerekli olduğu büyük kurumsal kurulumlarda çalıştım, ancak çoğu durumda bile evde kullanılan birkaç komut dosyası ve basit bir web ön ucu çoğu kullanım durumunu çözmek için gerekli.
Tüm bu kurumsal uygulamaları basit web çerçeveleri, açık kaynak kodlu DB'ler ve önemsiz programlama yapılarıyla değiştirmeye çalışırdım.
2) Gerekli n yıllık deneyim:
Bir uygulama, API veya çerçeve ile ilgili belirli bir sorunu ele almak için bir danışmana veya teknisyene ihtiyacınız olmadığı sürece, o uygulamada 5 yıllık deneyime sahip birine gerçekten ihtiyacınız yoktur. İhtiyacınız olan şey, belgeleri okuyabilen, ne yaparsanız yapın alan bilgisi olan ve hızlı bir şekilde öğrenebilen bir geliştirici / yöneticidir. Bir çeşit dilde geliştirmeniz gerekiyorsa, iyi bir geliştirici bunu 2 aydan daha kısa sürede alacaktır. X web sunucusu için bir yöneticiye ihtiyacınız varsa, iki gün içinde man sayfalarını ve haber gruplarını okumalı ve hız kazanmalıdır. Daha az bir şey ve o kişi kendisine ödenen paraya değmez.
3) Ortak "bilgisayar bilimi" derecesi müfredatı:
Bilgisayar bilimi ve yazılım mühendisliği derecelerinin çoğu boğadır. İlk programlama diliniz Java veya C # ise, yanlış bir şey yapıyorsunuz demektir. Cebir ve matematikle dolu birkaç ders almazsanız, yanlıştır. Fonksiyonel programlamayı araştırmazsanız, bu tamamlanmamıştır. Döngü değişmezlerini döngü için önemsiz olanlara uygulayamazsanız, varsayılan bir bilgisayar bilimcisi olarak tuzunuza değmezsiniz. Eğer x ve y dillerinde deneyim ve nesne yönelimi ile karşılaşırsanız, bu s *** ile doludur. Gerçek bir bilgisayar bilimcisi, kullandığı kavramlar ve sözdizimleri açısından bir dil görür ve programlama metodolojilerini birçokları arasında görür ve her ikisinin de yeni dilleri, tasarım yöntemlerini veya spesifikasyon dillerini seçmenin temel felsefelerini iyi bilmektedir. önemsiz olmak.