Untuk tren yang Anda sebutkan saya akan menambahkan satu lagi, yang IMHO menjelaskannya:
Ada jauh lebih banyak programmer (dibutuhkan) dari sebelumnya.
Jumlah tugas yang memerlukan atau termasuk pemrograman semakin meningkat, dan bahkan lebih tinggi daripada jumlah programmer. Saat ini ada beberapa microchip di mobil biasa. Dalam 5 tahun mungkin ada chip di lemari es dan pemanggang roti Anda. Dalam 10 tahun, pakaian dalam Anda? ... Dan seseorang perlu membuat semua perangkat lunak itu untuk membuatnya bekerja. Jadi ada setiap upaya yang mungkin dilakukan untuk mengotomatisasi apa pun yang dapat diotomatiskan, dan untuk meningkatkan "produktivitas" (namun itu didefinisikan). Dan semakin banyak otak segar yang direkrut.
Ini menyiratkan bahwa mayoritas programmer aktif saat ini tidak berpengalaman dan / atau tidak siap untuk pekerjaan mereka. Dibutuhkan beberapa tahun untuk mencapai tingkat pengalaman yang memadai dan dibutuhkan pembelajaran terus-menerus untuk menjaga diri Anda tetap di sana. Intinya adalah, semakin banyak pekerjaan pemrograman menjadi semakin sulit. Tetapi masih ada cukup banyak tantangan bagi siapa saja yang mencari mereka .
Biarkan saya berperan sebagai penasihat iblis melawan poin Anda di atas:
Tidak perlu waktu untuk menerapkan praktik terbaik
Banyak orang tidak, banyak orang. Bertahun-tahun yang lalu ketika saya pertama kali menemukan unit testing dan pendekatan gesit, tidak ada rekan saya yang tahu sedikit pun tentang apa itu. Saat ini hampir bahan standar di universitas, sehingga banyak lulusan baru sudah memahaminya.
Menggunakan kode orang lain sebanyak mungkin (kode khusus sebagai kewajiban)
Bertentangan dengan apa? Menemukan kembali roda? Atau menggunakan kode orang lain untuk menghindarinya?
Saya pikir penting untuk dicatat bahwa kita dibayar (kebanyakan) untuk menyelesaikan masalah, dan menulis kode bukanlah akhir, hanya sarana untuk itu . Jika masalah dapat diselesaikan tanpa menulis satu baris kode, itu masih membuat klien senang. Apalagi jika dengan cara ini kami berhasil menghasilkan solusi yang lebih andal lebih cepat dan lebih murah. Saya tidak melihat masalah dengan itu.
Menggunakan bahasa tingkat yang semakin tinggi untuk meningkatkan produktivitas
Berbeda dengan pengkodean segala sesuatu dalam perakitan? ;-)
Pengembangan "alat" berbasis GUI yang sangat menyederhanakan "pemrograman" dan tidak mengharuskan orang untuk memahami pipa ledeng di balik kode
IMHO alat apa pun dapat disalahgunakan. Yang tidak mengatakan bahwa pembangun GUI tentu sempurna atau bahkan baik - sebagian besar (atau setidaknya beberapa) dari mereka dapat digunakan dalam batas mereka. Tetapi jika seseorang tidak mengetahui batasan-batasan itu, apakah itu masalah alat atau penggunanya?
Secara umum, saya percaya (walaupun tidak memiliki bukti untuk membuktikannya) bahwa kembali pada kartu punch dan kode mesin, kira-kira proporsi yang sama dari kode yang ada mengerikan seperti sekarang, hanya keduanya
- jumlah keseluruhan kode, dan
- kemungkinan orang luar melihat kode tersebut
jauh lebih sedikit.
Sekarang, dengan Internet dan WTF Harian, kita dapat melihat contoh terburuk hari demi hari. Ini seperti menonton semua berita tentang terorisme dan gempa bumi dan selebritis yang bercerai, dan berteriak betapa berbahayanya dan tidak bermoralnya dunia ini.