Weekend ini ternyata benar-benar mengharuskanku untuk bekerja. Tidak tanggung-tanggung, Aku mengerjakan bagian yang biasanya tidak aku kerjakan, yaitu web development. Padahal biasanya yang dikerjakan adalah desktop applications.
Berangkat dari situ, menurutku setiap programmer perlu setidaknya terbiasa dengan:
- Web Programming. Setiap programmer sebaiknya memiliki pengetahuan mengenai web programming. Tidak hanya bisa bahasa seperti html, php, dan javascript, namun minimal telah merasakan mengembangkan web dengan menggunakan suatu framework. Webnya tidak perlu sesuatu yang besar, yang sederhana saja cukup, yang penting terdapat unsur user contentnya
- Unmanage Language. Saat ini telah merebak bahasa yang menghilangkan unsur management memory sehingga sangat memudahkan programmer seperti java dan c#. Memang baik menguasai bahasa tersebut, akan tetapi pengetahuan mengenai memory tersebut sangat penting untuk membuat seorang programmer lebih memahami bagaimana sebenarnya program dijalankan. Hal ini akan membuat kode yang dihasilkan lebih baik
- Scripting Language. Scripting language seperti python dan rubi perlu untuk dipelajari karena bahasa jenis ini memberikan pendekatan yang berbeda baik dengan bahasa ‘berat’ seperti c++ serta bahasa untuk Web. Terdapat permasalahan-permasalahan yang sulit untuk diselesaikan dengan bahasa c++ dan bahasa web namun sangat mudah dengan scripting language.
- SQL. Hampir seluruh aplikasi web memerlukan akses database. Dan dewasa ini, akses database didominasi oleh SQL, baik MySQL, PostgreSQL dan lainnya. Aplikasi desktop pun mungkin akan membutuhkan database, seperti Server misalnya. Oleh karena itu, pengetahuan mengenai SQL menjadi penting bagi seorang programmer.
- Perintah-perintah command line linux. Mungkin ini sedikit kontroversial. Misalnya seorang programmer yang mengembangkan aplikasi di Windows, tentunya dia tidak perlu berurusan dengan Command Line linux. Namun pada kenyataannya, mayoritas server-server di dunia banyak yang menggunakan Linux. Memang ada juga server dengan OS Windows, namun setting di OS Windows memiliki GUI yang mudah dipahami, sedangkan Linux tidak. Apakah programmer tersebut hanya akan membatasi dirinya untuk dapat menggunakan server Windows saja? mengingat tidak setiap programmer memiliki hak untuk menentukan OS server tempat aplikasinya akan dideploy
- SCM. Singkatan Source Code Management atau sering disebut juga dengan Source Code Control. Dengan segala hormat apabila anda tidak mengetahui apa itu SCM, mohon luangkan waktu 15 menit sekarang untuk meng-googling SCM ini. This is truely a life saver software, dan bukan hanya untuk programmer, tapi untuk semua orang yang berhubungan dengan file text.
Spesialisasi memang sesuatu yang bagus, namun dimasa sekarang dimana seseorang dituntut untuk lebih lebih dan lebih, pengetahuan yang luas meski tidak mendalam juga menjadi kebutuhan yang mendasar
