Career

Kuliah IT tidak berguna? Betulkah?

Pagi ini saya sempat membaca satu artikel yang cukup menarik, mengenai 4 alasan yang membuat kuliah IT tidak berguna. Sebelum saya membahasnya, perlu saya ingatkan bahwa gelar sarjana atau S1 komputer cukup menjadi faktor penting atau bahkan faktor utama diterimanya bekerja di Indonesia sebagai programmer.

Gelar S1 Komputer (Sarjana Komputer)

Kemungkinan terbesar seseorang berniat menjalani dan menyelesaikan perkuliahan adalah untuk mendapatkan gelar S1. Minimal, gelar s.komp berlaku di perusahaan-perusahaan besar yang bidang usaha utamanya bukan di IT. Misal perbankan dan finansial sejenisnya, exportir-importir besar, perusahaan perminyakan, perusahaan produksi seperti mi instant dan lainnya. Startup-startup baru sepertinya lebih longgar mengenai gelar s1 saat perekrutan programmer.

Sepertinya bagus untuk dilakukan survey, untuk mencari tahu seberapa relevan gelar S1 komputer sebagai programmer saat ini.

Algoritma, analisa dan soft skill

Ada hal-hal yang tidak bisa diperoleh hanya dengan mempelajari pemograman saja dari internet, di antaranya algoritma, analisa, soft skill dan pengetahuan mengenai sistem. Perlu pengalaman dan latihan sendiri untuk mengasah kemampuan-kemampuan itu. Mungkin tidak tampak saat coding, bahwa skill-skill tersebut cukup besar manfaatnya dalam pengembangan sistem.

Tahukah anda, bahwa ada beberapa faktor yang menjadi tolak ukur kualitas system? Ini adalah beberapa di antaranya. Tahukah anda apa itu SDLC (Software Development Life Cycle)? OOAD (Object Oriented Analysis and Design)? Algoritma bubble sort, linked list, recursive? Soft skill seperti cara presentasi, komunikasi, kerja group dan diskusi. Banyak skill tersebut yang mungkin tidak anda kenal bila hanya mempelajari pemograman saja, tetapi diajarkan di universitas.

Note: skill-skill di atas berdasarkan pada pengalaman saya saat kuliah S1 Sistem Informasi di Bina Nusantara (BINUS).

Unit Kegiatan Mahasiswa (UKM), koneksi dan networking

Perkuliahan tidak hanya belajar saja. Koneksi, relasi dan networking bisa dibangun selama perkuliahan. Bisa saja anda menemukan partner yang tepat untuk membangun startup selama masa kuliah. Atau bisa saja menemukan pasangan hidup :).  UKM-UKM di universitas sangat berguna dan memberi pengalaman yang baik seperti mengatur seminar / acara, berhubungan dengan orang-orang yang bisa saja berpengaruh (seperti CEO startup atau pembicara), dan sekali lagi networking. Memiliki banyak networking sangat bermanfaat di dunia profesional nantinya.

Secara pribadi, saya memang tidak mengikuti UKM saat kuliah dulu. Berkaca pada saat ini, saya sangat menyarankan para mahasiswa/i untuk mengikuti UKM yang berhubungan dengan profesi yang ingin digeluti nantinya, misal computer club, atau yang dapat mengembangan soft skill, seperti english club. Pengalaman dalam UKM juga dapat disertakan di CV (curriculum vitae) sebagai pendukung sertifikasi.

Dosen juga manusia

Gali ilmu dan pengalaman dosen

Dan yang perlu ditekankan, dosen (apalagi dosen senior) adalah orang yang sudah berpengalaman di bidangnya, dan sudah/sedang mengalami dunia profesionalisme.

Jangan menyamakan kuliah dengan sekolah, di mana anda datang ke kelas, mengikuti pelajaran yang diberikan lalu pulang. Buat relasi dengan dosen, gali pengalaman-pengalaman dosen dan cari tahu pandangannya mengenai dunia profesionalisme. Asah kemampuan di rumah dan diskusikan hambatan-hambatan yang anda temui saat bertemu dengan dosen, setelah selesai kelas misalnya.

Sesi bimbingan dengan dosen, misal saat skripsi, sangat berguna dan tidak boleh disia-siakan. Dapatkan ilmu sebanyak-banyaknya dari orang yang sudah berpengalaman.

Take a project

Masa-masa perkuliahan memiliki waktu luang yang sangat banyak. Jadwal kuliah seminggu mungkin hanya sekitar 40 jam. Libur semester genap saja bisa sampai 1 bulan. Waktu yang ada itu jangan disia-siakan. Anda bisa mengambil project berbayar, mengambil part time, atau melakukan hobby project untuk sekedar melatih ilmu. Pergunakan github atau public repository lainnya dalam hobby project, agar nantinya dapat disertakan di CV.

Bekerja paruh waktu dan kuliah malam juga biasanya menjadi pilihan untuk mengambil gelar di saat tetap produktif.

Sistem perkuliahan IT

Berhubungan dengan artikel awal, 4 alasan yang membuat kuliah IT tidak berguna, tidak dapat dipungkiri bahwa perkuliahan IT di Indonesia masih kurang maksimal. Point 3 yang berbunyi “BANYAK SARJANA KOMPUTER TIDAK MAMPU JADI PROGRAMMER, HANYA JADI INSTALLATOR” juga adalah fakta. Akhirnya mahasiswa perlu melakukan usaha lebih untuk menutup kekurangan-kekurangan dari tidak efektifnya sistem perkuliahan.

Di samping itu, faktor mahalnya biaya perkuliahan bisa dianggap menjadi hambatan, dan menurunkan pandangan orang terhadap nilai-nilai tambah yang bisa diperoleh dalam dunia perkuliahan.

Kesimpulan

Kuliah tidak berguna bila skill yang mau dikembangan hanya sebatas skill pemograman saja. Tetapi bila ingin berkarya di dunia profesional, satu skill pemograman saja biasanya tidak cukup. Perkuliahan dapat membantu, atau lebih tepatnya menyediakan jalan untuk melengkapi skill-skill tersebut.

skill

Saya programmer dengan skill tinggi, saya pasti bisa sukses – Part 2

Sebelumnya dalam artikel dengan judul yang sama, saya pernah menjelaskan bagaimana soft skill-soft skill di luar programming, terutama yang berkaitan dengan organisasi dan komunikasi, dapat membawa manfaat tambahan bagi programmer. Kali ini, saya akan coba membahas situasi-situasi yang ternyata kebalikannya, di mana soft skill tidak terlalu bermanfaat bagi programmer.

Startup / perusahaan kecil dengan CEO dan CTO yang kuat

Startup / perusahaan kecil umumnya didirikan oleh 2 founder, yaitu CEO (Chief Executive Officer) dan CTO (Chief Technology Officer). Untuk beberapa startup yang foundernya cuma sendiri, biasanya memegang peran ganda, yaitu CEO dan CTO secara bersamaan.

CEO mengurus semua aspek bisnis non-technical, seperti requirement, marketing, funding, networking, mencari client dan aspek-aspek bisnis non-technical IT (seperti merekrut driver di gojek). Sementara CTO mengurus semua aspek technical IT, seperti server, arsitektur, bahasa pemograman, framework dan lainnya.

CEO yang berpengalaman akan dapat men-handle aspek-aspek non-technical IT, terutama yang berurusan dengan user / client. Untuk hal-hal technical IT yang memerlukan keterlibatan user, maka CTO dapat me-handle nya. Karena sudah di-handle oleh CEO dan CTO, maka programmer hanya perlu mengerjakan requirement dan mengikuti arahan dari CTO (atau project manager bila ada).

Karena perusahaan kecil tidak mampu mempekerjakan banyak karyawan, maka semakin tinggi skill programmer dan analisanya, maka semakin diminati. Soft skill yang diperlukan hanya komunikasi umum (sehari-hari) dan sedikit kemampuan analisis, agar dapat memahami requirement dan arahan. Karena kemungkinan bagi programmer untuk berhubungan dengan user kecil, maka skill negosiasi dan komunikasi yang tinggi tidak terlalu bermanfaat.

Developing non-business application

Menurut saya, applikasi dapat dibagi menjadi 2 dari aspek penggunaan. Pertama adalah tools. yang fungsi applikasinya lebih umum, dapat digunakan oleh lebih banyak user, dan tidak terlalu terikat pada bisnis tertentu. Contohnya seperti photoshop, notepad bahkan database oracle. Sementara applikasi lainnya adalah implementation, di mana penggunaannya spesifik untuk satu unit bisnis tertentu, dan sangat erat dengan proses bisnis si pengguna. Contohnya applikasi POS, accounting, dll. Tentu saja applikasi tidak dapat dibedakan seperti hitam dan putih. Bisa saja sebuah applikasi memiliki karakteristik keduanya. Contohnya seperti cloud accounting.

Sebagai programmer, semakin applikasi yang di-develop ke arah tools, maka semakin sedikit soft skill yang dibutuhkan. Begitu pula sebaliknya, semakin applikasi yang di develop mengarah ke implementation, maka semakin banyak soft skill yang dibutuhkan. Hal ini karena programmer mengembangkan applikasi yang langsung di-request oleh user, maka keterlibatan user dalam pengembangan menjadi lebih tinggi. Semakin applikasi yang di-develop mengarah ke tools, maka teknologi yang diperlukan dan kompleksitasnya akan semakin tinggi (lebih tinggi dari implementation), sehingga daripada soft skill, skill technical yang tinggi jauh lebih diperlukan.

Kesimpulan

Dalam beberapa kondisi, soft skill akan sangat membantu programmer di dunia kerja dan meraih sukses. Namun dalam kondisi lainnya, skill technical dari programmer dapat menjadi satu-satunya parameter penentu keberhasilan seseorang. Mengetahui ini, maka programmer dapat menentukan langkah-langkah yang dapat diambil untuk mengembangkan diri dan karir.

skill

Saya programmer dengan skill tinggi, saya pasti bisa sukses

Apakah anda seorang programmer? Dan apakah anda berpikiran hanya dengan skill yang tinggi maka anda bisa sukses di dunia kerja / dunia bisnis? Tunggu dulu, ada beberapa faktor yang perlu diketahui sebelumnya.

Skill technical hanya menentukan separuh dari kesuksesan anda sebagai programmer

Apakah benar begitu? Skill technical hanya menentukan separuh dair kesuksesan anda sebagai programmer? Lalu sisa separuhnya adalah faktor-faktor apa lagi?

Mungkin skill technical bisa menentukan lebih dari separuhnya (50%), tapi tidak akan melebihi 70-80% sebagai faktor penentu kesuksesan anda sebagai programmer. Faktor penentu sisanya didominasi oleh skill komunikasi dan negosiasi. Saya tidak akan membahas attitude di sini karena pada artikel ini, saya akan lebih fokus kepada skillset yang diperlukan.

Skill / kemampuan komunikasi

Sebagai pelajar dalam dunia IT dan pemograman, saya juga awalnya tidak tahu seberapa pentingnya kemampuan komunikasi dalam dunia pemograman. Namun setelah memasuki dunia kerja / organisasi, tampak jelas bagi saya seberapa penting, sering dan bergunanya kemampuan komunikasi dalam dunia pemograman. Bila dibandingkan dengan skill-skill non-technical lainnya, saya rasa skill komunikasi adalah yang paling berpengaruh dan bermanfaat dalam dunia pemograman.

Saat interview

Bahkan sebelum interview, kemampuan komunikasi anda akan sangat menentukan apakah anda akan mendapatkan panggilan interview atau tidak. Personal branding, desain CV yang bagus serta dapat menunjukkan skill-skill utama anda, sangat membantu anda dalam mendapatkan panggilan interview.

Pada saat interview, kemampuan komunikasi anda tentu akan lebih berpengaruh lagi. Bagaimana anda berkomunikasi tatap muka dengan orang-orang yang tidak mengenal anda, dan bagaimana anda mempersiapkan diri dengan penampilan terbaik tentu akan dipengaruhi oleh kemampuan komunikasi anda.

Komunikasi dengan atasan

Sebagai programmer, anda akan mendapat proyek / tugas dari atasan / team leader. Pada saat pemberian tugas tersebut, akan ada beberapa kondisi yang memerlukan skill komunikasi. Seperti bagaimana anda bertanya mengenai hal-hal yang tidak jelas dari tugas tersebut, atau mungkin saja ada beberapa ide terkait tugas tersebut yang bisa anda sampaikan. Kemampuan komunikasi anda akan sangat membantu dalam proses tersebut.

Selain itu, umumnya saat sebuah tugas / proyek selesai, sang programmer akan memberikan laporan kepada atasannya. Bagaimana cara menyusun laporan yang baik dan cepat dimengerti, sedikit banyak akan dibantu oleh kemampuan komunikasi anda.

Komunikasi dengan sesama programmer

“Program saya error”, “entah mengapa applikasi ini tidak jalan”, “kenapa datanya duplikat ya?”. Banyak sekali proses komunikasi yang akan terbentuk antar sesama programmer pada saat proyek dikerjakan. Contoh paling umum adalah saat anda perlu menanyakan proses detail dari module yang sebelumnya dikerjakan rekan programmer. Dan sebaliknya, saat anda ditanya oleh rekan anda terkait modul yang anda kerjakan sebelumnya. Sekali lagi, kemampuan komunikasi anda akan diuji di sini.

Komunikasi dengan user / non-technical

Ada beberapa perusahaan yang memerlukan anda untuk berhubungan langsung dengan user / pihak non-teknis. Di sinilah kemampuan komunikasi diuji. Bagaimana cara kita menjelaskan proses techincal kepada pihak-pihak non-technical, yang tidak mengerti istilah-istilah dalam dunia IT.

Skill negosiasi

Skill negosiasi / persuasi sangat diperlukan, terutama pada saat interview. Ya, tentu saja soal gaji dan benefit / tunjangan. Hanya dengan memiliki kemampuan negosiasi dan persuasi saja memungkinkan gaji anda bisa lebih tinggi dari standar dengan tunjangan yang lebih oke.

Selain untuk interview, skill negosiasi / persuasif akan berguna saat berdiskusi / berdebat mengenai kandidat-kandidat solusi untuk sebuah project. Contohnya, senior anda akan marah / tidak terima bila langsung dikatakan “solusi anda nggak akan jalan”. Namun bila diutarakan dengan lebih baik, misal “cara itu ada banyak request ke server kan? Apakah nggak akan membebani? Kalau misalnya begini … bagaimana?” tentu akan lebih mudah diterima dan mereka akan kurang resistif.

Dunia bisnis

Dalam dunia bisnis, lebih banyak lagi skill yang diperlukan selain skill-skill di atas. Contohnya seperti skill leadership / management, networking, kemampuan inovasi, desain dan marketing. Di sini, pengaruh kemampuan technical terhadap kesuksesan anda jadi lebih kecil dibandingkan dalam dunia kerja.

Kesimpulan

Walaupun programmer memiliki tugas utama untuk mengembangkan program, namun bukan berarti skill-skill lain tidak ikut ambil bagian dalam menentukan kesuksesan anda di dunia kerja. Terlebih lagi dalam dunia bisnis. Skill komunikasi dan negosiasi cukup berperan dalam membantu menentukan kesuksesan anda di dunia kerja.