Sewaktu saya kuliah, saya sering mengajak temen-temen untuk nge-Blog. Karena blogging adalah sarana yang sangat mudah dan murah untuk latihan menulis sambil menunjukkan isi kepala pada publik, nge-Blog adalah cara mudah untuk menampilkan kualitas pemikiran dan komunikasi kita kepada calon klien, blogging itu sangat bermanfaat untuk mahasiswa dan hampir untuk semua orang. Pak Romi sudah menjelaskan secara lengkap betapa kerennya nge-Blog di tulisan beliau, dan sepertinya tidak perlu saya tambahi lagi.
Problem kemudian muncul saat saya mengajak temen-temen mahasiswa programmer yang notebene-nya lebih suka ngomong sama komputer dibandingkan sama orang, lebih pinter ngomong bahasa Python dibandingkan ngomong bahasa Indonesia, langsung berada di zona nyaman saat membuka IDE tapi langsung grogi saat berhadapan dengan cewek #ups. Jangan untuk menulis blog, bahkan untuk merangkai kalimat 1 paragraf aja udah mumet.
Kalau dulu (waktu saya kuliah) saya nggak tahu harus jawab apa, tapi sekarang jawabannya sudah jelas, Github.
Oke bukan cuman github, ada BitBucket ada Google Code, ada SourceForge, dan berbagai macam Online Source Code Repository Tapi menurut saya (penilaian subyektif) yang paling simpel dan desainnya paling mudah dinavigasikan adalah Github.
Github dan Semacamnya
Github adalah Source Code repository berbasis git yang dapat digunakan secara gratis untuk menyimpan source code pemrograman kita dan mempublikasikannya secara bebas. Gratis, iya gratis dan kita boleh menyimpan sebanyak apapun source code di Github. Github sering digunakan oleh pengembang perangkat lunak sumber terbuka (Open Source Software-OSS) untuk mempublikasikan kode mereka, dan mengundang programmer lain untuk menguji coba dan meningkatkan kualitas dari kode tersebut.
Sebenarnya Git (source code management yang digunakan Github) adalah salah satu jenis Revision Control System yang digunakan kelompok programmer untuk mengatur penulisan dan pengeditan source code program yang dikerjakan bersama-sama. Dengan menggunakan Revision Control seperti Git, SVN, CVS, Mercurial, dan lain sebagainya programmer yang bekerja secara kelompok bisa membuat beberapa versi kode yang dikerjakan oleh sertiap individu, kemudian project manager dapat menggabungkan semua versi kode tersebut ke dalam sebuah software yang utuh dengan terlebih dahulu mengecek kesesuaian satu versi dengan versi yang lain agar tidak terjadi Error setelah digabungkan.
Github menyediakan server sentral untuk source code management tersebut secara online berbasis cloud, sehingga programmer tidak harus membangun server sendiri untuk menggabungkan versi kode yang telah dipisahkan. Selain itu, github juga memberikan antarmuka untuk publikasi dan kolaborasi koding yang memudahkan pengembang OSS untuk mencari partner untuk mengembangkan software bersama-sama, atau sekedar memberikan sumbang saran pada software yang sedang dikembangkan. After all, original author dari Git adalah Linus Torvald si pembuat kernal GNU/Linux, pastilah semangat untuk memfasilitasi OpenSource Project selalu ada pada software buatannya.
Selain menyediakan skema gratis untuk posting unlimited numbers of OpenSource projects, Github juga menyediakan ruang untuk pengguna menyimpan source code proyek mereka secara private, yang berarti source code tersebut hanya dapat diakses oleh pengguna yang bersangkutan dan pengguna lain yang diberikan hak akses oleh original owner. Sayangnya fitur ini tidak tersedia secara gratis, kita harus membayar untuk menggunakan fitur tersebut. Meski demikian, jika anda masih berstatus sebagai pelajar (atau mahasiswa) anda bisa mendaftar Github Student Pack untuk menjadi premium member secara gratis.
Github untuk Curriculum Vitae
Sekarang saatnya saya harus mengaku, meskipun tujuan awal dibuatnya Github adalah untuk colaborative coding, tapi saya sendiri jarang menggunakannya untuk keperluan tersebut. Saya lebih sering menggunakannya untuk hosting coding pribadi, untuk hosting materi kuliah yang berhubungan dengan pemrograman, dan juga untuk cloud repository yang bisa saya akses di mana saja dengan menggunakan komputer/laptop siapa saja. Dan tentu saja saya gunakan untuk menjawab pertanyaan “Seberapa canggih kamu menguasai bahasa pemrograman / framework A, B, C, D?”.
Biarkan kode berbicara, karena jika kita tipe programmer yang tidak suka berbicara / menulis, menjelaskan hal yang simpel bisa menjadi kompleks dan susah dipahami. Tapi saat kode sudah berbicara dengan menggunakan relasi antar Class & Object yang cantik, penggunaan algoritma yang efisien, dan struktur koding yang mudah diikuti & dibaca oleh programmer lain, secara utuh koding kita sudah dapat mempresentasikan kemampuan kita.
Di luar negeri sudah banyak perusahaan yang meminta calon developer untuk melampirkan profil LinkedIn dan halaman Github saat mendaftar kerja. Alasannya tentu saja untuk mempermudah perusahaan mensortir calon pendaftar berdasarkan pengalaman kerja (which is coding and coding) dan kemampuan mereka untuk berkolaborasi dengan developer lain. Bahkan jika koding yang diposting ke github masih belum terlalu cantik, perusahaan bisa mengidentifikasi seberapa kuat keinginan programmer untuk memperbaiki kode yang dibuat dengan melihat history frekuensi commit yang dilakukan.
Iya, Github menyediakan bukan hanya tempat repositori penyimpanan source code, namun juga data statistik dan histori yang berhubungan dengan repositori tersimpan. Melalui github kita bisa mengetahui seberapa aktif seorang programmer melakukan update pada kode-nya, berapa jumlah repository yang sudah diupload, berapa bintang yang diberikan untuk tiap repositori, berapa orang yang telah menyalin dan mengembangkan repositori tersebut, bahkan juga seberapa aktif seorang programmer berkontribusi pada repositori yang dibuat oleh orang lain. Dan semua informasi itu disediakan secara otomatis oleh github tanpa perlu kita input secara manual, yang perlu kita lakukan adalah koding dan posting source code software sebaik yang kita bisa.
Awal menggunakan github saya berfikir hanya source code tertentu (berkualitas tinggi) yang pantas saya upload ke Github, nyatanya banyak sekali mahasiswa & programmer pemula yang juga meng-upload hasil latihan dan tugas kuliah mereka ke Github. Dan iya, kenapa tidak? sekali kerja kita menyelesaikan tugas dosen sekaligus membangun track record secara online. Kalaupun awalnya kode kita masih amburadul, selalu ada waktu untuk mengedit kode untuk menampilkan versi yang lebih baik.
Penutup
Saya tidak akan mengatakan komunikasi interpersonal tidak diperlukan bagi seorang programmer. Kemampuan berkomunikasi dengan orang lain untuk menerjemahkan konsep teknis agar dapat dipahami oleh orang non teknis masih teramat sangat penting. Bahkan jika 1/3 penduduk di dunia ini adalah programmer, harus disadari bahwa 2/3 lainnya adalah non programmer yang tidak paham bahasa teknis. Keberhasilan perusahaan software raksasa dunia bukan hanya karena faktor software yang bagus, namun hasil lobying yang kuat dan kemampuan presentasi yang bagus. Saya hanya ingin menunjukkan jalan alternatif bagi programmer yang belum percaya diri, atau belum punya waktu untuk menulis blog karena terlalu sibuk koding, kenapa tidak melakukan branding diri dengan cara yang programmer banget. Gunakan Github.
Akhirnya, sepertinya tidak afdhol kalau saya hanya ngomong tanpa menjalankan sendiri. So di penutup ini saya juga akan melampirkan profil dan halaman Github Saya, supaya pembaca juga bisa mengetahui, kira-kira sampai sejauh mana kemampuan koding saya. Meskipun ummmmm… sebenarnya yang saya buat public di Github kebanyakan hanya beberapa project hoby setengah jadi dan bukan real software yang dijual (ya confidentiality issue tentu saja). So this is me:
- Nama Lengkap: Fahri Firdausillah
- Almamater: Qudsiyyah (Pendidikan Dasar), UDINUS (TI-S1), UTeM (Database Technology-S2)
Spesialisasi:
- Bahasa Pemrograman: PHP, Python, Java, HTML5
- Framework: CodeIgniter (PHP), Laravel (PHP), Django (Python)
Halaman Github: https://github.com/kaqfa