Table of contents
- Disclaimer
- Pendahuluan
- Mulai dari CRUD
- Membangun "Online Presence"
- Bergabung dengan Komunitas atau Event
- Penutup
Disclaimer
Ini adalah tulisan berdasarkan pengalaman pribadi sebagai frontend engineer. Bagi sebagian teman-teman pembaca mungkin kurang relate dengan ini, tetapi setidaknya ini bisa menjadi referensi bagi kalian. Saya akan menjelaskan dari perspektif saya sebagai frontend engineer.
Pendahuluan
Cerita dimulai ketika saya baru lulus kuliah di tahun 2020. Saat itu, Covid-19 baru merajalela di seluruh penjuru dunia. Saya pun kebingungan harus melakukan apa dan bingung mau kerja bagaimana, ditambah saya sendiri saat itu bingung menentukan bidang apa yang mau diperdalam.
Semua berubah ketika seorang teman menawarkan beasiswa Dicoding Indonesia. Saya tak pikir panjang langsung mendaftar untuk mengambil kelas Frontend Developer sebagai learning path saya. Sejak saat itu, akhirnya saya mulai tertarik dengan dunia Frontend, ya walaupun masih struggle dengan masalah CSS, hahaha.
Setelah itu, saya pun mempelajari beberapa frontend framework seperti Angular, Vue dan React. Saya memulai belajar dengan membuat to-do list sederhana menggunakan masing-masing framework. Dari ketiga itu, saya sebenarnya sangat suka dengan React, namun karena pada September 2020 lalu saya mendapatkan pekerjaan sebagai Frontend Engineer di perusaahaan yang menggunakan Angular sebagai codebase, akhirnya saya masih harus berkecimpung dengan Angular. Saya kurang lebih bekerja di sana selama 1 tahun 3 bulan.
Saat menjadi frontend engineer fulltime pertama kali, semakin hari semakin menyadari bahwa semakin besar komunitas dari sebuah framework, maka _support_nya pun akan semakin masif. Tentunya hal ini dikarenakan ketika saya harus troubleshooting dengan Angular, saya lebih lama menemukan solusi yang tepat. Dibandingkan saat menggunakan React saat mengerjakan personal project, entah mengapa sangat mudah dan cepat menemukan suatu solusi karena komunitasnya begitu masif.
Karena hal itu, akhirnya saya memutuskan kembali ke React setelah bekerja dengan Angular selama kurang lebih setahun. Beruntung, tempat kerja saya saat itu juga sedang dalam proses migrasi ke React karena ada banyak frontend engineer yang sepemikiran dengan saya, sehingga Product Manager terkait mengusulkan dan bertahap mengimplementasikan React ke setiap project frontend. Kami pun belajar React bersama kurang lebih sejak Juli 2021.
Saya belajar React dengan cara langsung membuat beberapa mini-project dan sesekali mempublikasikannya di Linkedin. Rupanya karena hal tersebut, ada beberapa tawaran kerja yang saya dapatkan. Bahkan saya bisa mendapatkan pekerjaan baru karenanya. Sebenarnya project yang saya buat bukanlah project spektakuler, hanya project kecil yang sesungguhnya untuk keperluan saya sendiri.
Saya pikir, mungkin hal-hal ini bisa juga berguna untuk teman-teman pembaca, terutama bagi yang sedang mencari pekerjaan sebagai developer. Ini tips dari saya berdasarkan pengalaman saya.
Mulai dari CRUD
Semua hal yang ada di dunia software development sebenarnya merupakan Create, Read, Update, Delete (CRUD). Ketika saya mempelajari React lagi setelah sekian lama, saya mulai lagi dari CRUD. Bahkan awalnya saya cuma mengikuti tutorial dari MDN React To-do list tutorial dan menulis ulang kodenya di VS Code.
Terlihat mainstream dan umum sekali, tetapi dengan mencoba CRUD, setidaknya saya hanya perlu memikirkan bagaimana saya menambahkan data baru, menampilkannya, mengedit, dan menghapusnya di framework yang saya pelajari. Tentunya ini mempercepat saya memahami kembali syntax yang saya pakai saat itu.
Membangun "Online Presence"
Jika kalian ingin di-notice oleh recruiter, tentunya kalian harus membuat diri kalian terekspose dengan cara membangun online presence kalian masing-masing. Sebagai developer, kalian bisa memulainya dengan membuat website pribadi, develop dan publikasi karya di Linkedin & Github, serta menulis technical blog.
Membuat Website Pribadi
Sebagai frontend engineer, kalian bisa mulai membuat personal website menggunakan framework atau library favorit masing-masing. Untuk contoh, setelah saya memahami cara kerja CRUD secara umum, saya "memaksa" diri saya untuk membuat personal website saya dengan Next.js. Boleh dilihat-lihat di yehezgun.com.
Tak perlu harus "ciamik", cukup jadi diri sendiri. Anggap saja itu adalah playground pribadi, jangan terlalu perfeksionis. Saya pun masih trial & error ketika menerapkan sesuatu yang baru di website saya.
Mungkin ada yang bertanya-tanya, Kenapa saya harus buat website sendiri?
. Sebenarnya tidak ada aturan baku mengenai ini sih. Tetapi pendapat saya pribadi, dengan memiliki personal web, saya bisa bereksplorasi sepuasnya di sana karena itu milik saya sendiri dan saya punya kontrol penuh di sana.
Buat Project (atau Mini Project)
Menurut saya, ini adalah cara yang efektif untuk memperdalam suatu konsep teknis dan bahkan untuk direkrut oleh suatu company. Kalau kalian bingung mau buat apa, bisa loh dimulai dengan membuat project yang bisa kalian pakai sendiri. Atau sederhananya, mulai dari hal-hal di menyelesaikan masalah kalian sendiri.
Contohnya, saya memulai dengan membuat starter template dengan Next.js. Bisa diakses di yehez-nextchakra-starter. Kenapa saya buat itu? Sederhananya, ketika saya membuat project baru, saya malas sekali untuk menghabiskan waktu saya untuk hal-hal repetitif seperti config dan base UI. Akhirnya saya putuskan buat starter template sendiri, sehingga saya fokus untuk development. Penjelasan detailnya bisa diakses di artikel saya di sini.
Publikasi Project
Tahap berikutnya adalah tunjukkan karyamu. Saya harus katakan, sudah sepatutnya seorang programmer memiliki akun Github atau Gitlab. Github adalah tempat terbaik untuk memamerkan project kalian dan memperlihatkan teknologi apa yang menjadi preferensi kalian. Itu juga bisa menunjukkan seberapa besar effort atau kontribusi kalian lewat jumlah kontribusi yang ada di profil Github kalian (Mircea Oprea, 2019).
Selain itu, kalian juga bisa mempublikasikan karya kalian di Linkedin. Cara ini bisa juga loh membuat recruiter tertarik dengan profil kalian ketika kalian rajin mempublikasikan karya kalian dan akhirnya menawarkan pekerjaan. Contohnya, ketika saya mempublikasikan hasil revamp personal web saya di Linkedin (bisa dilihat di sini), hanya selang beberapa hari ada beberapa recruiter mengirimkan tawaran pekerjaan lewat Direct Message. Dan saya pun akhirnya mendapatkan pekerjaan baru karenanya.
Bagikan Apa yang Telah Dipelajari Lewat Artikel
Mengapa kemampuan menulis ini penting bagi programmer? Dengan menulis blog seperti tutorial, tips & trick, atau bahkan sekedar cerita testimoni, secara tak sadar kalian juga berkontribusi menolong developer lain yang mungkin mengalami hal serupa. Siapa tahu kan?
Paling sederhana, kalian bisa memulai menulis proses atau tutorial singkat mengenai project kalian. Contohnya Saya menulis tutorial singkat bagaimana cara melakukan self-host Notion API Worker, bisa dibaca di sini. Tanpa saya sadari, sebenarnya secara tidak langsung saya membantu orang-orang yang juga ingin self-host Notion API Worker mereka ketika mereka membutuhkannya.
Bagi saya, menulis juga bisa menajamkan pemahaman saya akan sesuatu, karena saya "membaca dua kali" bahkan berkali-kali ketika saya menulis. Tentunya sebelum tulisan saya dipublikasi, saya harus membacanya berkali-kali memastikan teman-teman pembaca mengerti apa yang saya maksud.
Bergabung dengan Komunitas atau Event
Ini juga berdampak signifikan bagi karir saya. Di awal tahun 2021 lalu, saya bergabung sebagai volunteer di salah satu acara Google dan perusahaan partner terkait. Ya, gak salah tebak, saya bergabung dengan Bangkit Academy sebagai volunteer.
Saya tahu dengan skill saya saat itu rasanya "kebanting" dengan para developer senior yang juga bergabung saat itu. Saat paling menegangkan adalah saat saya menjadi teaching assistant bagi partner pengajar saya di salah satu sesi kelas online. Gila deh skill koding dan teknisnya, saya pun terkesima dengan cara menjelaskannya yang begitu fluent. Tetapi, saya bangga menjadi bagian dari program ini, karena saya pun dapat memperluas networking saya dengan developer lain dan belajar banyak dari mereka.
Terkadang jika beruntung, mereka juga bisa menawarkan atau memberitahu bahwa ada slot lowongan kerja di tempat mereka.
Penutup
Coba bangun dan perkuat online presence kalian. Cepat atau lambat, opportunity akan menjangkau kalian selama kalian konsisten dalam menjalankannya.
Saya pribadi telah melakukan tips-tips saya sendiri sejak September 2021, dan berhasil. Akhirnya, setelah saya bergumul karena ingin mendapatkan pekerjaan baru, ternyata dapat juga. Saya bahkan tidak apply secara mandiri, seorang recruiter mengirimkan tawaran kerja lewat Linkedin saya dan saya ikuti semua prosedurnya. Yang lebih mengagetkan lagi, saya pun tidak perlu melakukan live coding karena saya telah menunjukkan karya-karya saya sebelumnya saat user interview, sehingga bisa dibilang sesi ini berubah menjadi live code review karena mereka hanya review project saya sebelumnya, hahaha.
Semoga pengalaman saya ini bisa menginspirasi teman-teman pembaca, terutama yang sedang mencari pekerjaan baru. Semangat kawan-kawan!