
Beberapa orang mungkin belum tahu jika Github adalah salah satu social media platform. Tetapi bukan social media platform pada umumnya seperti Instagram, Facebook, ataupun Twitter yang hampir semua orang mempunyai akun pada platform-platform tersebut. Melainkan Github adalah platform social media yang bersifat eksklusif untuk para programer.
Memanfaatkan Github sebagai social media platform dalam hal ini sebagai seorang progamer memiliki banyak keuntungan salah satunya yaitu visibility. Kemungkinan profile kita akan diperhitungkan oleh para pemimpin bidang teknis seperti Engineering Manager dan CTO, atau mungin para Tech talent Recruiter akan sangat besar. Karena hampir semua projek-projek sumber terbuka yang sangat terkenal diletakan pada platform ini. Sebut saja beberapa seperti Kernel Linux, Golang, ReactJs, dan Python. Selain mempunyai akun Github, tentunya profile Github kita juga harus menarik, seperti memiliki banyak followers, banyak star pada repository kita, dan lebih utama repository-repository kita bukan hasil fork alias buatan sendiri.
Mempunyai profile Github yang bagus butuh proses dan kerja keras. Sehingga repository buatan sendiri juga belum cukup untuk menarik perhatian orang-orang dengan posisi-posisi penting diatas yang saya sebutkan tadi. (Jika bisa) repository yang kita buat haruslah bermanfaat dan bisa digunakan banyak orang. Menurut pendapat saya, ada beberapa kategori repository yang bisa kita letakan pada profile Github kita dan bisa dimanfaatkan orang lain.
Untuk level dasar, anda bisa membuat contoh projek sederhana dengan judul-judul misalnya contoh-crud-expressjs-mongo, contoh-crud-python-flask-mysql, contoh-crud-python-django-mysql, contoh-crud-golang-mongodb dan lain sebagainya.
Level menengah 1 anda bisa membuat library, package, module sederhana. Contoh github-api-wrapper-node, github-api-wrapper-golang, github-api-wrapper-java dan public API lain yang bisa dibuatkan wrapper.
Level menengah 2, anda bisa membuat library, package, module yang lumayan advance. Contoh, anda bisa membuat tools yang anda beri nama elastic-log-parser yang ditulis dengan Python, Java ataupun bahasa lain yang anda sudah familiar. Fungsi library tersebut bisa digunakan untuk mengambil log file yang berada pada folder misalnya /var/log/elastic/elastic.log kemudian memparsingnya sesuai kebutuhan kita. Misalnya log file tersebut bisa kita parsing ke JSON file, menyimpannya ke dalam database, mengirim ke network, ataupun mengirim ke tools message broker seperti Kafka atau RabbitMq.
Level paling atas, anda bisa membuat web framework, CI/CD tools, automation tools dll. Atau anda juga bisa berkontribusi ke projek-projek sumber terbuka yang sudah ada. Jika anda mahir pada bahasa pemrograman PHP, anda bisa berkontribusi ke web framework seperti Laravel dan CodeIgniter misalnya. Jika anda sudah lama menggunakan ReactJS dan paham seluk beluk tentang ReactJs, anda bisa berkontribusi langsung pada ReactJs. Jika anda paham protokol-protokol message queue seperti AMQP, MQTT dan protokol message queue lain, anda bisa berkontribusi pada projek-projek seperti RabbitMQ, Kafka, ActiveMQ dan NSQ. Atau kemampuan anda sudah sedikit dibawah programer-programer seperti Salvatore Sanfilippo dan Linus Torvalds, anda bisa berkontribusi pada projek-projek mereka yang sangat terkenal, yaitu Redis dan Kernel Linux.
Saya pribadi saat ini masih terus berusaha memoles akun Github saya. Kurang lebih penampakan profile Github saya pada saat artikel ini saya buat sebagai berikut.

Ada banyak pet-project, library, dan tools yang sampai saat ini masih saya update setiap beberapa pekan sekali untuk terus mengasah kemampuan programming saya (practice makes perfect). Sebagai seorang programer, jika tidak terus mengasah kemampuan kita, harga jual dan relevansi kita akan menurun dan tergerus zaman. Dalam hal ini, coding dan mencoba hal-hal baru sesering mungkin akan sangat bermanfaat untuk menjaga dan meningkatkan kemampuan kita.
Ada beberapa pet-project, library, dan tools yang pernah saya buat sampai saat ini.Selain saya letakan pada akun pribadi saya, saya letakan juga di beberapa organisasi Github. Selain berkontribusi pada projek pribadi, saya juga berusaha secara aktif melakukan pull request ke beberapa projek sumber terbuka sampai saat ini. Saya beberapa kali mencoba men-submit pull request ke beberapa projek sumber terbuka yang cukup terkenal hanya satu pull request milik saya yang cukup beruntung. Yaitu ketika saya men-submit pull request ke platform video conference sumber terbuka Jitsi untuk memberbaiki penanganan error sederhana yang akan membuat platform tersebut hang jika tidak ditangani error-nya dengan benar. Saya cukup beruntung karena proses review tidak terlalu lama oleh para maintainer pada projek tersebut dan saya cukup beruntung juga, karena projek ini memiliki sekitar 14 ribu star diGithub.

Di Indonesia sendiri, perusahaan-perusahaan Teknologi, Startup, Ecommerce dan perusaaan lain yang terkait dengan Teknologi saat ini belum menerapkan aturan jika mempunyai akun Github sebagai hal yang wajib. Tidak bisa diukur juga, jika seorang programer yang memiliki Github juga mempunyai skill yang mumpuni. Tetapi akan jauh lebih mudah jika mengukur kemampuan seorang programmer melalui code yang telah dia tulis. Seperti kata Linus Torvalds “talk is cheap, show me the code”.
Tidak dipungkiri lagi, jika dimanfaatkan dengan benar, Github akan menjadi CV utama kita sebagai seorang programmer.
Sekian..