Infinity War PPL 2018: Menjadi Fullstack Developer!


Hi allocaters!

Pada kesempatan kali ini, saya ingin menceritakan tentang 2 minggu yang sangat epic bagi saya, karena saya akhirnya mencicipi rasanya jadi Fullstack Developer (ala-ala), yang rasanya itu super duper menantang, mencekam, deg-degan, campur aduk deh. Berasa lagi ikut Infinity War bareng Avengers, guys! So, stay tune!

Nah, di setengah minggu pertama, saya fokus untuk mengerjakan task front-end, untuk mengoptimasi method fetching hasil allocation algorithm dari API back-end. Di sini, saya dituntut untuk belajar lebih dalam lagi tentang hal-hal terkait front-end, khusunya adalah mengenai pagination dan component lifecycle. Gila loh, front-end isn't that simple! Setengah mati itu semaleman suntuk beradaptasi dengan dua benda itu. Walaupun terdengar lebay, percayalah para allocaters sekalian, untuk ukuran saya, yang dulunya sangat pasrah dengan segala hal-hal berbau front-end, dua benda itu betulan sulit banget loh! Tapi ya namanya juga kan belajar ya, jadi pasti kalau berusaha pasti bisa juga, walaupun ga tau harus berapa lama belajarnya haha. Bersyukur sih akhirnya saya bisa mengerti kedua benda itu juga. Akhirnya, yang awalnya metode fetch yang saya buat harus menunggu hingga fetch semua halaman hasil algoritma itu sukses terambil baru front-end nya bisa menampilkan, sekarang pemrosesan fetch-nya bisa disesuaikan dengan halaman yang sedang aktif saja. Saya melakukan refactoring pada metode fetch yang digunakan di front-end. Awalnya menggunakan redux, lalu saya ubah menggunakan fetch biasa, tanpa redux, karena saya belum menemukan versi redux-nya. Yang dilakukan basically sama, hanya timingnya yang sekarang bisa disesuaikan dengan state-nya.

Lalu, setengah minggu berikutnya, saya beralih ke back-end. Saya membuat beberapa endpoint untuk pengambilan data dari database untuk nantinya dimanfaatkan di front-end. Saya membuat endpoint untuk pengambilan daftar branch dan daftar penyuluh di Mapan. Ini tidak terlalu sulit bagi saya, karena query-nya pun simple. Nah dari endpoint yang telah saya buat, saya pindah lagi ke front-end. Saya membuat tampilan untuk daftar branch dan daftar penyuluh di Mapan untuk selanjutnya dapat diintegrasikan dengan tampilan hasil algoritma. Untuk menampilkan branch dan penyuluh-nya sih tidak susah, karena basically sama seperti fetch hasil algoritma yang telah saya pelajari sebelumnya. Nah, pengintegrasin antara daftar branch, daftar penyuluh, dan hasil algoritma-nya yang susah! Bener-bener front-end things banget. Mainan state dan props banget gitu loh. Akhirnya, semaleman lagi ngotak-ngatik state dan props sampai cari referensi-referensi code di github lagi tentang penggunaannya. Dan, bersyukur lagi, bisa terselesaikan dengan baik.

Minggu berikutnya adalah minggu menjelang Sprint Review. Nah disini sih gila-gilaan Fullstack-nya. Minggu ini adalah masa-masa integrasi semua code yang di develop di Sprint ini. Jadi bener-bener, setiap pindah branch, coba di local pun harus nyalain dua terminal, untuk run front-end dan untuk run back-end. Ketika di merge, harus make sure front-end back-end ok. Ketika ada conflict, harus paham, mana yang dipake di front-end maupun back-end. Ini tuh masa-masa dimana "You have to understand every line of code of this application!" Tapi sejak melalui minggu ini, saya menjadi semakin sadar akan kepemilikan akan aplikasi ini. Walaupun saya awalnya hanya fokus di front-end, ada juga yang hanya fokus di back-end, namun satu hal yang perlu disadari, aplikasi yang kita bangun disini adalah miliki semua dev team. We have to know everything. Not only our task. Dan karena itu pula, menambah pengetahuan dan pengalaman juga loh! Akhirnya sekarang ga hanya sekadar punya pengalaman jadi develop front-end saja atau develop back-end saja, tapi develop Fullstack juga!

Interesting, isn't it?
Ga kalah seru kan sama Infinity War?
Hehe thank you for reading, allocaters!

0 komentar:

Post a Comment