Latar belakang saya adalah teknik listrik, lebih tepatnya DSP. Perusahaan tempat saya bekerja saat ini mengerjakan banyak proyek yang beragam, kebanyakan membangun perangkat keras analog. Menjadi agak lebih dekat dengan komputer daripada orang lain di sekitar sini. Saya sering kali menulis kode untuk kedua perangkat yang disematkan (yang saya baik-baik saja dengan) dan Windows atau OS Linux. Yang terakhir inilah yang merupakan wilayah asing bagi saya.
Saya dapat kode, dan saya tahu beberapa bahasa (C / C ++, Java, beberapa VB.NET), tetapi saya hanya menggunakannya untuk simulasi algoritma dalam pemrosesan sinyal dan gambar, jaringan saraf, dan aplikasi serupa lainnya. Bagi saya pemrograman telah menjadi alat komputasi lebih dari apa pun. Namun, saya mendapatkan semakin banyak proyek di mana saya harus menulis perangkat lunak lengkap yang tepat, dan saya tidak benar-benar tahu bagaimana melakukannya, karena saya tidak pernah harus melakukannya, dan saya tidak pernah benar-benar cukup tertarik. Saya sendiri pernah melihat beberapa insinyur yang dikonversi menjadi coders ke tingkat tertentu karena tuntutan pekerjaan, dan kebanyakan dari mereka tidak terlalu hebat dalam apa yang mereka lakukan. Saya yakin banyak orang mengalami hal yang sama.
Jika saya belajar menulis perangkat lunak yang tepat dengan antarmuka pengguna yang baik, arsitektur internal yang baik dan sebagainya, bagaimana saya melakukannya? Kami tidak memiliki siapa pun di tempat kerja yang bisa memberi tahu saya apa praktik yang baik dan yang tidak. Mengingat bahwa saya dapat menulis kode dalam arti kata yang paling murni, apa lagi yang perlu diketahui tentang menulis perangkat lunak yang baik dan bagaimana saya bisa sampai di sana sendiri?