40 poin oleh spilist2 2022-12-30 | 3 komentar | Bagikan ke WhatsApp

Sejarah pengembangan frontend relatif singkat, sehingga banyak organisasi menginginkan engineer frontend senior yang bagus tetapi sulit menemukannya; akibatnya banyak CTO startup kecil dan menengah menghadapi kekhawatiran yang serupa.

  • Tingkat kemampuan teknis yang dituntut dari frontend tidak terlalu tinggi, sehingga motivasi untuk mengembangkan kapabilitas engineer cenderung rendah
  • Tidak banyak role model di sekitar yang membangun karier hebat dengan latar belakang engineer frontend, sehingga perencanaan karier menjadi sulit
  • Karena tidak adanya engineer frontend senior di dalam organisasi, ekspektasi kepemimpinan terhadap level menengah menjadi lebih besar

Tulisan ini dibuat untuk engineer frontend yang memikirkan persoalan tersebut, serta untuk team lead dan CTO yang memikirkan bagaimana membimbing mereka. Semoga ini bisa menjadi panduan tentang ke arah mana engineer frontend dapat memfokuskan spesialisasinya dan bagaimana membangun karier sebagai senior.

1. Menjadi engineer yang unggul

Kalimat “Saya ingin menjadi engineer frontend senior yang unggul” dapat ditafsirkan dari tiga sisi.

  • Saya ingin menjadi engineer yang unggul (sebagai engineer frontend senior).
  • Saya ingin menjadi engineer frontend yang unggul (sebagai senior).
  • Saya ingin menjadi senior yang unggul (sebagai engineer frontend).

Menurut paper What Makes a Great Software Engineer?, engineer yang unggul adalah orang yang menulis kode yang baik, memaksimalkan nilai pekerjaan saat ini, mengambil keputusan berbasis data, membantu rekan membuat keputusan secara efektif, dan terus belajar. Jika Anda berusaha mengembangkan lima kemampuan ini, Anda akan menjadi engineer yang baik.

Sebagai tambahan, karena kecerdasan buatan yang semakin kuat, kemampuan komunikasi dan menulis menjadi jauh lebih penting. Agar pekerjaan pengembangan tidak digantikan oleh AI, melainkan AI dijadikan asisten untuk bekerja secara efektif, ada baiknya mempelajari teknik wawancara atau menulis dalam bahasa Inggris dari sudut pandang Prompt Engineering.

2. Menjadi engineer frontend yang unggul

Selain fondasi di atas, saya memikirkan tiga jalur yang baik untuk ditempuh engineer frontend junior dalam membangun spesialisasi. Tiap jalur saling melengkapi, sehingga orang yang sudah memiliki spesialisasi yang cukup di satu sisi akan jauh lebih mudah membangun spesialisasi di jalur lain; tentu saja, karier yang memungkinkan sebagai senior di tiap jalur juga sebagian saling tumpang tindih.
(“Jalur operasional” mencakup baik aspek ala DevOps maupun aspek proses/operasional organisasi, tetapi bukan berarti kedua kemampuan ini harus selalu dibawa bersama untuk membangun karier yang baik. Saya juga sempat mempertimbangkan apakah perlu membuat jalur “spesialisasi proses” secara terpisah, tetapi kemampuan saya saat ini masih belum cukup untuk membuat jalur keempat yang benar-benar bermakna, jadi untuk sementara saya gabungkan menjadi satu.)

Jalur spesialisasi web (Software Engineer)

  • Karakteristik utama
    • Memahami dan memanfaatkan internet, browser web, HTML/CSS/JS secara mendalam
    • Mengetahui kelebihan dan kekurangan tiap alat yang membentuk ekosistem web, serta punya pengalaman troubleshooting di berbagai lingkungan
    • Peka terhadap teknologi baru yang muncul di web dan mencoba memanfaatkannya secara langsung
  • Kelebihan dan kekurangan
    • Sampai tingkat tertentu, relatif mudah meningkatkan kemampuan secara mandiri
    • Di organisasi yang kompleksitas/kematangan produknya belum cukup tinggi, kesempatan untuk menunjukkan dan diakui lewat spesialisasi ini tidak banyak
  • Cara meningkatkan kemampuan
    • Mengikuti kata kunci di roadmap, belajar melalui buku dan konten internet, lalu mencobanya di side project
    • Berlangganan newsletter, berkontribusi ke open source, menguji teknologi baru, memahami prinsip kerja dan batasan alat yang digunakan, dan kadang bahkan menciptakan alat sendiri
    • Melakukan troubleshooting di berbagai lingkungan dan mencoba meningkatkan performa
  • Karier yang mungkin setelah menjadi senior
    • Pengajar kursus yang meningkatkan kemampuan web
    • Software engineer (di organisasi yang membuat alat pembentuk ekosistem web)
    • Software engineer (di organisasi yang menangani produk dengan kompleksitas tinggi)
    • Frontend tech lead

Jalur spesialisasi produk (Product Engineer)

  • Karakteristik utama
    • Mampu menghasilkan hasil awal produk dengan menggabungkan berbagai alat meski dengan sedikit coding
    • Memiliki pemahaman tinggi tentang pasar dan pelanggan, serta tahu menerapkan berbagai cara di praktik kerja untuk memperdalam pemahaman itu
    • Sering berkomunikasi untuk membantu pihak marketing dan sales memahami produk
  • Kelebihan dan kekurangan
    • Sangat disambut oleh startup tahap awal yang ingin memvalidasi produknya di pasar
    • Jika hanya bertahan di zona aman, Anda bisa saja tersisih dari organisasi produk yang Anda bantu tumbuhkan sendiri
  • Cara meningkatkan kemampuan
    • Menggunakan produk-produk hebat di domain Anda secara analitis, mengamati pelanggan, dan membangun product sense
    • Jangan terpaku pada kombinasi alat yang sudah familiar; terus tata ulang kotak peralatan Anda
    • Bertahan bersama saat produk awal yang Anda pimpin mulai berhasil dan tiba waktunya merombak struktur serta kode, sambil “mengganti roda saat kendaraan tetap berjalan”
  • Karier yang mungkin setelah menjadi senior
    • Software engineer (di semua organisasi yang sedang mencari PMF)
    • Growth engineer, growth consultant
    • Frontend tech lead, technical program manager
    • PM, PO, CPO

Jalur spesialisasi operasional (Full-Stack Engineer)

  • Karakteristik utama
    • Sangat tertarik pada struktur proyek, integrasi, pengujian, dan deployment
    • Bisa membuat API sederhana sendiri dan juga menyiapkan infrastruktur yang dibutuhkan secara mandiri
    • Mampu menangkap celah dan inefisiensi yang muncul saat organisasi membesar, turun tangan langsung untuk menutupinya, lalu memperbaiki proses
  • Kelebihan dan kekurangan
    • Ada peluang untuk diakui karena mencakup lingkup kerja yang luas dan berkolaborasi dengan banyak orang
    • Jika tidak berupaya secara sadar, kemampuan teknis bisa tertinggal dan Anda dapat burnout karena hanya melakukan pekerjaan berulang
  • Cara meningkatkan kemampuan
    • Memperluas cakupan dengan mengimplementasikan API backend untuk admin dan menyiapkan infrastruktur frontend
    • Merespons sambil menghadapi trafik besar dan insiden di organisasi yang tumbuh sangat cepat
    • Menggali proses operasional dan guideline di perusahaan besar, atau mendengarkan mentoring/ceramah lalu menerapkannya sesuai organisasi Anda
  • Karier yang mungkin setelah menjadi senior
    • Software engineer (di organisasi besar dengan beragam produk)
    • Frontend tech lead, technical program manager
    • Engineering manager, agile coach, VP of Engineering
    • CTO

3. Menjadi engineer senior yang unggul

Lalu, bagaimana seseorang yang telah membangun spesialisasi seperti di atas bisa menjadi engineer senior yang unggul? Berdasarkan bagaimana saya akhirnya mengambil peran senior, dan seperti apa engineer senior hebat yang pernah saya temui, saya ingin menyoroti tiga poin untuk menjadi engineer senior yang unggul.

  • Berusaha setia pada dasar-dasar: Lima kemampuan engineer yang unggul di atas tentu berlaku sama bagi engineer senior.
  • Bertindak seperti pemimpin meski bukan pemimpin formal: Kepemimpinan bisa sangat terlihat bahkan ketika Anda bukan pemimpin formal, dan kadang satu tindakan teladan dari seorang rekan bisa memberi dampak lebih besar daripada banyak kata dari pemimpin formal. Jika Anda berupaya memberi dampak positif pada produk, tim, dan organisasi secara keseluruhan tanpa terikat pada peran yang diberikan, lama-kelamaan Anda akan diakui sebagai senior.
  • Memberikan dampak besar dalam situasi apa pun: Bahkan dalam tindakan kecil seperti debug, senior bisa memberi pengaruh jauh lebih besar daripada junior. Jika Anda tidak puas hanya dengan menyelesaikan tugas yang diberikan dengan baik, melainkan juga memperhatikan konteks sebelum dan sesudahnya serta berkomunikasi dengan banyak orang untuk menciptakan dampak besar, Anda akan tumbuh menjadi senior yang dapat dipercaya untuk memegang satu bagian penting, entah di produk, tim, maupun perusahaan.

3 komentar

 
devsepnine 2023-01-03

Saya developer junior yang sekarang sudah genap 3 tahun, dan memang rasanya tergantung tingkat kesulitan pekerjaan atau lingkungan di perusahaan, tidak mudah untuk benar-benar mencoba berbagai hal.. Bagian seperti itu saya bangun lewat side project, tapi tidak mudah untuk tetap konsisten... wkwk

 
hohpark 2023-01-02

Tulisan yang sangat bagus. Tanpa terasa saya terjun ke web frontend dan ternyata sudah lewat jauh lebih dari 10 tahun. Selain kegelisahan saya sendiri soal karier, selama ini juga sangat sulit memberikan panduan karier kepada para junior. Sepertinya ini akan sangat berguna untuk dimanfaatkan sebagai panduan lewat roadmap karier.

 
spilist2 2023-01-02

Saya menulisnya sambil memikirkan baik pembaca junior maupun senior, jadi saya senang mendengar ini tampaknya bermanfaat. Terima kasih atas komentarnya!