Menanjak Tangga Karir sebagai Software Engineer
Karena keunikan fitrahnya, kadang nasib seseorang yang berkarir di bidang Rekayasa Perangkat Lunak (RPL), seperti misalnya jadi Software Engineer, tidak selalu jelas. Mau jadi apa kira-kira setahun atau lima tahun ke depan? Bagaimana juga kalau mau bertransformasi menjadi VP atau Technical Fellow?
Dibandingkan dengan profesi yang lain, dunia perangkat lunak (dan juga perangkat keras) relatif masih berkembang. Oleh sebab itu, garis hidup dan perkarirannya juga cenderung buram (bukan suram lho), tidak segamblang liku-liku perjalanan menjadi seorang dokter, pilot, dosen, wartawan, dan lain sebagainya. Akan tetapi, dengan mengenali pola-pola yang lazim digunakan di perusahaan raksasa seperti Google dan Cisco, dan juga penerapannya yang serupa di startup yang masih kecil (dan menjadi calon-calon Google masa depan), bisa ditengarai dan ditemukan kemiripan-kemiripannya. Berikut adalah intisarinya.
Perusahaan teknologi yang modern sudah menganut paham lajur ganda, alias dual track, sebagai “jalan karir” untuk berkarya, yakni lajur manajemen dan lajur kontributor individual (IC, Individual Contributor). Artinya, seorang engineer ketika menapak kehidupan profesionalnya, tidak lagi harus atau “terpaksa” menjadi manajer. Hal ini sangat khas dalam dunia teknologi kekinian, karena kemahiran seseorang yang boleh jadi hanya berkutat di dunia teknis, tanpa terjun ke manajemen/mengurus tim. Kita bisa saksikan tokoh-tokoh punggawa teknologi seperti Evan You (pembuat Vue.js), Salvatore “antirez” Sanfilippo (bapaknya Redis), Anders Heljsberg (pencetak Turbo Pascal, Delphi, dan C#), Fabrice Bellard (yang bikin TCC, Ffmpeg, QEMU, dan banyak lagi) yang berhasil merombak dunia, tanpa perlu menjadi seorang jenderal dengan pasukan yang besar.
Untuk lajur manajemen sendiri, perjalanan tahapan-tahapannya tentu tidak asing lagi, karena rata-rata sama saja dengan jenjang karir di perusahaan bukan teknologi digital. Mula-mula, akan diberikan tanggungan sebuah tim yang terdiri dari beberapa engineer (IC). Beranjak ke tingkatan Director berikutnya adalah tanggung jawab mengurusi beberapa tim, membawahi manajer masing-masing tim tersebut. Hingga satu saat nanti, puncak tertinggi adalah posisi Vice President (VP) yang lumrahnya menjadi kepala seluruh grup yang besar.
Tentu saja, tergantung ukuran organisasinya, kadang ada penyesuaian yang dibutuhkan. Misalnya, untuk organisasi yang sangat besar ada jenjang perantara, misalnya dari Director ke Senior Director dulu sebelum menjadi VP. Ukuran tim juga bervariasi. Di startup kecil, satu Director bisa saja hanya mengurusi 2–3 tim. Sementara itu. untuk perusahan raksasa tanggung jawab seorang Director bisa hingga 7 tim atau lebih.
Makanya, kadang jabatan itu tidak mengindikasikan keseteraan sama sekali. Walaupun sama-sama menyandang gelar VP, seorang VP di Google bisa pusing dengan total 400 engineer dalam divisinya. Di sisi lain, VP di startup kecil mungkin hanya membawahi 40 engineer atau kurang.
Sementara itu, untuk yang berkarir sebagai lajur kontributor individual, perjalanan meningkatnya tangga karir memang kurang lebih seperti lajur kanan di gambar di atas. Tetapi, terkadang ada sedikit variasi, baik jenjang yang disisipkan sebagai batu loncatan (Lead Engineer sebelum Staff Engineer, Senior Staff Engineer setelah Staff Engineer, dsb). Namun demikian, prinsipnya relatif sama. Dalam lajur ini, sang engineer tidak perlu membawahi sebuah tim. Kontribusinya adalah dalam bentuk hasil karya pribadinya (di samping juga aktivitas interaksi dengan yang lain, seperti review, mentoring, diskusi desain, dkk). Naiknya jenjang tidak lagi ada hubungannya dengan besarnya tim yang diurus, tetapi lebih ke dominasi dan imbas (kalau bahasa anak start-up, impact) yang semakin lama semakin merambat ke mana-mana. Bisa juga ditebak kalau ini biasanya berbanding lurus dengan meningkatnya derajat kepakarannya.
Sama seperti sebelumnya, untuk lajur kontribusi individual, sulit melukiskan perbandingan antar perusahaan walaupun jabatannya sama. Joe Beda, yang membuat Kubernetes (bersama dua orang koleganya) semasa beliau masih di Google, sekarang bekerja di VMware dengan jabatan Principal Engineer. Sementara itu, bisa jadi ada seorang engineer yang jago yang bekerja di startup dan sudah menyandang kehormatan sebagai Principal Engineer, tanpa perlu membuktikan diri kepada dunia dengan menelurkan karya sekelas Kubernetes. Lain ladang, lain belalang.
Dalam perusahaan teknologi yang menganut paham lajur ganda seperti ini, kompensasi engineer dan manajer akan bergantung kepada jenjangnya, dan bukan perbedaan lajurnya. Misalnya, gaji dan bonus lainnya yang dikucurkan ke seorang Fellow bisa menyaingi atau bahkan lebih dari yang didapatkan VP (yang bisa jadi adalah bosnya). Demikian halnya dengan Distinguished Engineer vs Director. Lagi-lagi hal ini adalah keunikan dunia teknologi, perubahan positif yang mendongkrak nasib perusahaan tersebut (atau juga dunia secara global) tidak hanya melulu menjadi monopoli seorang Director. Karena itu, sudah sewajarnya terdapat imbalan yang setimpas bahkan bagi seorang engineer sekalipun.
Mengapa strategi karir dengan lajur ganda ini penting? Teknologi berkembang sangat pesat! Karenanya, sebuah perusahaan teknologi sangat butuh dua peran tersebut. Ada yang mesti mengayomi dan mengarahkan tim, tapi ada juga yang wajib memperuncing keunggulan kompetitif teknologinya. Timpang di salah satu lini bisa menenggelamkan nasibnya, baik karena urusan cek cok dan perpolitikan internal ataupun pondasi yang akhirnya kadaluarsa.
Di samping itu, pada dasarnya ilmu manajemen modern mengakui bahwa untuk sukses berkarir sebagai manajer dan sebagai engineer itu membutuhkan himpunan keahlian yang berbeda. Tiap-tiap orang punya bakat masing-masing, tidak masuk akal kalau memaksakan seseorang untuk memainkan peran yang tidak sesuai dengan kemampuan maksimalnya. Seorang engineer yang paling jago tidak akan otomatis sukses kalau dinobatkan menjadi manajer (dan juga sebaliknya).
Bayangkan kalau Mohamed Salah diminta menjadi penjaga gawang! Rugi besar dong.
Seorang mentor saya pernah berkata, memberikan “promosi” (tanpa banyak pertimbangan) ke engineer terpintar sehingga dia menjadi seorang manajer, jamaknya berakhir dengan malapetaka. Kita tidak hanya kehilangan engineer yang paling ahli. Sekarang kita juga mendapatkan manajer yang kurang piawai (dan selusin masalah karena itu). Sudah jatuh, ditimpa tangga!
Dalam kesempatan lain, mari kita jabarkan dengan rinci, apa saja himpunan keahlian yang dibutuhkan untuk maju dan berjaya sebagai seorang manajer ataupun engineer!
Hyperjump is an open-source-first company providing engineering excellence service. We aim to build and commercialize open-source tools to help companies streamline, simplify, and secure the most important aspects of its modern DevOps practices.