Saya telah bekerja dalam pengembangan perangkat lunak selama lebih dari 10 tahun sekarang, dan saya sadar bahwa saya jarang bisa membuat sesuatu yang "baru". Saya menyadari bahwa "baru" adalah istilah yang tidak jelas, tetapi saya akan mendefinisikannya sebagai sesuatu dari proyek berskala besar baru yang jelas hingga fitur besar baru dalam proyek yang ada (katakan sesuatu yang membutuhkan pemikiran tentang desainnya, dan itu mungkin butuh 2 minggu atau lebih untuk menyelesaikan). Mungkin pedoman kasar adalah sesuatu yang baru jika memerlukan spesifikasi tertulis. Saya pikir sebagian besar programmer tahu apa yang saya bicarakan - Anda berada di zona itu, menulis satu ton kode dengan cepat.
Bagaimanapun, mengingat kembali apa yang telah saya lakukan, saya memperkirakan bahwa kurang dari 10% waktu saya dihabiskan untuk pekerjaan "baru". Ada hal-hal seperti "adaptasi sistem yang ada ini untuk bekerja di lingkungan baru ini", yang tentunya membutuhkan banyak perencanaan, tetapi pengkodean aktual dan "barang baru" bermuara pada membuat perubahan kecil di banyak tempat di seluruh kode. Demikian juga untuk permintaan fitur kecil - jika saya tahu apa yang harus dilakukan, ini sering dapat diselesaikan dalam waktu kurang dari satu jam, dan jika tidak, itu hanya banyak kode bacaan dan mencari tahu apa yang harus dilakukan (yang membuat saya frustrasi karena saya belajar jauh lebih baik dengan melakukan, bukan dengan membaca).
Secara umum saya merasa seperti saya tidak benar-benar menciptakan sesuatu sebagian besar waktu. Saya agak berasumsi bahwa ini adalah kasus di sebagian besar tempat - sebuah produk baru akan keluar lebih cepat dan pada saat itu semua orang akan bersemangat dan membanting kode dengan cepat, tetapi kemudian sekali hidup itu bergerak ke mode pemeliharaan, di mana beberapa perubahan berikutnya akan dianggap "baru & kreatif".
Apakah aku salah? Apakah saya menggambarkan secara akurat sebagian besar pekerjaan pemrograman, atau apakah kebanyakan programmer merasa seperti mereka sering menciptakan hal-hal baru?