Kedengarannya sangat berbeda bagi saya, dan saya kesulitan mengatakan mana yang lebih penting.
Anda bisa menjadi pengelola perangkat lunak yang luar biasa, tetapi diri Anda seorang programmer yang sangat buruk. Beberapa orang luar biasa dalam kode debug, menemukan jalan mereka melaluinya, memperbaikinya, dan sedikit memperbaikinya. Mereka sering dibandingkan dengan petugas kebersihan, tetapi itu merugikan: mereka dapat memiliki pengetahuan dan cara yang benar untuk membuat keadaan menjadi lebih baik.
Tetapi mereka masih bisa sangat buruk dalam menulis kode baru dan merancang dan mengimplementasikan algoritma. Mereka dapat memiliki pemahaman tentang mengapa hal-hal umumnya lebih baik satu atau lain cara, dan mereka bahkan dapat memahami fakta manfaat dari satu desain di atas yang lain. Tetapi mereka mengalami kesulitan untuk membuat sendiri. Mereka tidak memiliki pemahaman yang mendalam tentang pola pikir logis dan pemecahan masalah ini.
Keduanya penting dalam pikiran saya. Anda tidak ingin hanya peretas yang dapat menghasilkan solusi luar biasa, tetapi menghasilkan kode yang tidak dapat dipelihara untuk generasi bola mata berikutnya yang akan melihat basis kode Anda. Ini bisa baik untuk prototipe dan proyek berumur pendek, tetapi pada skala yang lebih besar yang hanya bisa terbang begitu lama.
Jadi kelompok pertama juga penting. Tetapi mereka tidak akan dapat merancang perangkat lunak yang hebat dengan kelompok kedua. Ini cukup simbiotik (dan itu terbaik ketika kualitasnya memang di pengembang yang sama). Saya kira jika Anda melihat ini sebagai masalah ayam dan telur, saya harus mengakui bahwa jenis logis itu sedikit lebih penting, karena alasan historis, karena mereka harus ada terlebih dahulu untuk membuat kepala jalan. Tetapi apakah itu berarti mereka lebih penting di toko perangkat lunak? Saya kira tidak. Anda dapat menghasilkan perangkat lunak yang hebat dan sukses dengan menyatukan semuanya dan tidak menciptakan banyak.