Tips kolaborasi antara Back-end Engineer dan Front-end Engineer

Tips kolaborasi antara Back-end Engineer dan Front-end Engineer

Back-end engineer adalah sebutan bagi para software engineer yang bergelut dengan berbagai logika penyajian data dari basis data maupun third pa rty vendor sampai menghasilkan format data yang diinginkan yang biasanya dalam bentuk akhir xml ataupun json data.

Sedangkan Front-end engineer sendiri merupakan sebutan bagi para programmer yang memiliki peranan untuk menyajikan visualisasi dari data yang diberikan oleh Back-end engineer.

Perbedaan skillset yang dibutuhkan untuk masing-masing spesialisasi posisi softwaare engineer ini yang menyebabkan industri secara sadar maupun tidak sadar seringkali memisahkan kedua posisi tersebut sehingga dalam dunia programming hal ini seperti dua jurusan bagi para programmer untuk menentukan perminatan mereka. Programmer yang memiliki minat dengan sisi Back-end biasanya akan banyak fokus dengan hal-hal yang berkaitan dengan Back-end seperti database, optimization response speed, caching, generate reporting dan banyak hal lainnya. Programmer yang memiliki ketertarikan dengan Front-end juga sebaliknya biasanya akan meninggalkan hal-hal yang berkaitan dengan Back-end dan fokus dengan berbagai teknologi yang mendukung untuk visualisasi tampilan.

Pada dunia industri perangkat lunak, kedua posisi spesialisasi dalam programming ini akan sangat sering bekerja bersama untuk sama-sama menyelesaikan sebuah projek sampai selesai. Dan bahkan yang mengeluh karena hal ini, mereka saling salah-menyalahkan ketika sebuah projek atau produk gagal mereka selesaikan tepat pada waktunya. Orang Back-end akan menyalahkan bagian Front-end karena mereka telah menyelesaikan bagian mereka dan orang Front-end akan menyalahkan bagian Back-end karena terlalu lama menyelesaikan pekerjaan mereka sehingga membuat mundur starting point bagi mereka untuk memulai bekerja.

1. Back-end x Front-end sama-sama memahami bussiness flow
Memang logika bussiness flow lebih banyak dikerjakan oleh orang Back-end dengan berbagai data yang diolah, namun pendapat bahwa orang Front-end bisa tiba-tiba datang di tengah-tengah projek yang sedang berjalan tanpa mengikuti berbagai meeting di awal projek yang biasanya akan membahas berbagai bussiness flow dan juga berbagai requirement adalah jelas-jelas salah.
Jadi pastikan semua anggota team baik itu Back-end maupun Front-end memiliki pemahaman yang sama dan cukup mengenai berbagai seluk-beluk sebuah projek yang dikerjakan, mulai dari latar belakang, tujuan yang ingin dicapai, bussiness flow, requirement dan lain-lain. Dengan begini komunikasi akan lebih berjalan efektif dan tepat sasaran antara Back-end x Front-end.

2. Pembuatan kontrak API sebelum memulai pekerjaan

Back-end yang memproduksi API dan tidak memiliki dokumentasi mengenai apa yang dia kerjakan adalah awal dari segala malapetaka kekacauan. Dokumentasi API juga bukan sesuatu yang dibuat di akhir setelah API tersebut jadi. Dokumentasi yang saya maksud juga bukan dokumentasi yang memanfaatkan tools untuk men-generate-nya seperti swagger dan teman-teman. Dokumentasi yang diinginkan disini adalah sebuah kontrak perjanjian yang disepakati oleh bagian Back-end dan Front-end di awal sebelum pekerjaan dimulai.

Pada fase ini orang Back-end dan Front-end harus duduk bersama untuk sama-sama merumuskan API apa saja yang tersedia, seperti apa bentuk request yang dibutuhkan, serta seperti apa bentuk response yang akan dikembalikan. Kontrak ini akan dijadikan panduan bagi Back-end dan Front-end untuk mengerjakan pekerjaan mereka, setiap perubahan yang terjadi di tengah projek pun harus diinformasikan dan dengan memperbarui kontrak yang telah dibuat sebelumnya.

Jadi bila sebuah API hanya dirumuskan oleh orang Back-end tanpa ada kontrak dengan orang Front-end maka sudah saatnya mencoba hal ini. Back-end dan Front-end harus sama-sama terlibat dalam merumuskan API dan membuat kesepakatan segala bentuk request-response yang akan dibuat.

3. Front-end membuat API mocking
Pada tahap ini kontrak API sudah dibuat dan orang Back-end akan bekerja untuk menghasilkan API seperti yang telah disepakati. Pada tahapan ini orang Front-end juga perlu mengimplementasikan satu cara agar tidak perlu menunggu suatu API jadi dan melakukan pemanggilan API secara nyata ke sebuah End-Point API yang dibuat oleh Back-end. Salah satu caranya adalah melakukan mocking terhadap semua API yang terdapat pada kontrak di awal, dalam bahasa lainnya bahwa orang Front-end perlu membuat suatu simulasi agar setiap End-Point yang dipanggil pada saat development tidak langsung mengarah ke Back-end melainkan ke sebuah data tiruan yang menyerupai Back-end.

Tahap mocking ini menjadi krusial apalagi dengan timeline projek yang singkat, karena bisa memangkas banyak waktu menunggu sebuah API jadi, free bug, dan siap digunakan. Dengan melakukan mocking maka orang Front-end bisa berjalan beriringan dengan pekerjaan orang Back-end tanpa harus ada saling tunggu satu sama lain.

Jadi improve metode pekerjaan orang Front-end agar bisa melakukan mocking terhadap API yang dibuat oleh Back-end.

4. Back-end ikut terlibat dalam Front-end finishing
Sebenarnya hal ini bisa dihindarkan jika saja pada proses pembuatan kontrak API semua hal nya sudah jelas terdeskripsikan dengan baik namun ada kalanya sebuah kontrak API tidak mampu menjelaskan fungsinya dan bagian-bagian di dalamnya secara detail sehingga yang terjadi adalah kesalahan implementasi dari Front-end terhadap API yang sudah dibuat. Seperti contoh kasus sederhana saja, sebuah API akan memproduksi 3 field yakni price, discount, dan total. Namun pada kontrak tidak pernah dijelaskan field price itu harga yang seperti apa, harga yang sebelum discount atau setelah discount begitu juga dengan field total, total yang dimaksud itu total yang seperti apa.

Orang Back-end adalah salah satu yang paling paham dengan fungsi dari masing-masing field yang ada di dalam API karena mereka yang tau field itu didapatkan dari mana. Maka dari itu keterlibatan Back-end dalam finishing suatu Front-end kerapkali dibutuhkan baik sebagai orang yang menjelaskan berbagai kesimpangsiuran data ataupun bisa langsung terjun untuk menempelkan data pada tempat yang sudah disediakan oleh bagian Front-end.

Demikian sedikit hal yang bisa saya bagikan dalam artikel kali ini, silahkan ambil yang baik-baik dan tinggalkan hal-hal yang dirasa merugikan dalam artikel ini.

Software Developer | Backend Engineer | Contact Me : alfinandika@outlook.com

%d bloggers like this: