1) lelucon Aplikasi Bisnis :
Saya pikir seluruh kerangka kerja "Enterprise" adalah asap dan cermin. J2EE, .NET, mayoritas kerangka kerja Apache dan sebagian besar abstraksi untuk mengelola hal-hal seperti itu menciptakan kompleksitas yang jauh lebih banyak daripada yang mereka pecahkan.
Ambil Java atau .NET ORM biasa, atau kerangka kerja MVC apa pun yang dianggap modern baik yang melakukan "sihir" untuk menyelesaikan tugas-tugas sederhana yang membosankan. Anda akhirnya menulis sejumlah besar XML boilerplate jelek yang sulit untuk divalidasi dan ditulis dengan cepat. Anda memiliki API masif di mana setengahnya hanya untuk mengintegrasikan pekerjaan API lain, antarmuka yang tidak mungkin didaur ulang, dan kelas abstrak yang diperlukan hanya untuk mengatasi ketidakfleksibelan Java dan C #. Kami tidak membutuhkan sebagian besar dari itu.
Bagaimana dengan semua server aplikasi yang berbeda dengan sintaks descriptor terkutuk mereka sendiri, basis data yang terlalu rumit dan produk-produk groupware?
Intinya bukan kompleksitas == buruk, tapi kompleksitas yang tidak perlu == buruk. Saya telah bekerja di instalasi perusahaan besar-besaran di mana beberapa di antaranya diperlukan, tetapi bahkan dalam sebagian besar kasus, beberapa skrip buatan sendiri dan antarmuka web sederhana adalah semua yang diperlukan untuk menyelesaikan sebagian besar kasus penggunaan.
Saya akan mencoba mengganti semua aplikasi enterprisey ini dengan kerangka kerja web sederhana, DB open source, dan konstruksi pemrograman sepele.
2) Tahun-pengalaman-diperlukan:
Kecuali jika Anda memerlukan konsultan atau teknisi untuk menangani masalah spesifik terkait aplikasi, API, atau kerangka kerja, maka Anda tidak benar-benar membutuhkan seseorang dengan pengalaman 5 tahun dalam aplikasi itu. Yang Anda butuhkan adalah pengembang / admin yang dapat membaca dokumentasi, yang memiliki pengetahuan domain dalam apa pun yang Anda lakukan, dan yang dapat belajar dengan cepat. Jika Anda perlu mengembangkan dalam beberapa jenis bahasa, pengembang yang baik akan mengambilnya dalam waktu kurang dari 2 bulan. Jika Anda memerlukan administrator untuk server web X, dalam dua hari ia seharusnya sudah membaca halaman manual dan newsgroup dan mempercepatnya. Kurang dari itu dan orang itu tidak sebanding dengan apa yang dia bayar.
3) Kurikulum tingkat umum "ilmu komputer":
Mayoritas derajat ilmu komputer dan rekayasa perangkat lunak adalah banteng. Jika bahasa pemrograman pertama Anda adalah Java atau C #, maka Anda melakukan sesuatu yang salah. Jika Anda tidak mendapatkan beberapa kursus yang penuh dengan aljabar dan matematika, itu salah. Jika Anda tidak mempelajari pemrograman fungsional, itu tidak lengkap. Jika Anda tidak dapat menerapkan invarian loop ke sepele untuk loop, Anda tidak layak mendapatkan garam sebagai ilmuwan komputer. Jika Anda keluar dengan pengalaman dalam bahasa x dan y dan orientasi objek, itu penuh dengan omong kosong. Seorang ilmuwan komputer nyata melihat bahasa dalam hal konsep dan sintaks yang digunakannya, dan melihat metodologi pemrograman sebagai salah satu di antara banyak, dan memiliki pemahaman yang baik tentang filosofi yang mendasari baik bahwa memilih bahasa baru, metode desain, atau bahasa spesifikasi harus sepele.