Back End Coder Pemalas

Back End Coder Pemalas

(Kurang dari) Sejuta Langkah untuk Menyelesaikan Tugas-tugas Back End di Suatu Proyek dengan Usaha Minimal dan Modal Dengkul

ยท

11 min read

Sayup-sayup terdengar dentuman potongan lagu kebangsaan Uni Sovyet dari kamar kost sebelah. Suatu ritual yang beliau lakukan setiap setelah menyelesaikan lari paginya. Rentetan ritual tersebut biasanya dilanjutkan lagi dengan lirihnya Katyusha dan hingar-bingar Kalinka, serta diakhiri oleh dentuman kanon howitzer 105 mm yang terdapat di alunan 1812 Overture gubahan Pyotr Ilyich Tchaikovsky sebelum tetangga kosku mempersiapkan dirinya pergi bekerja ke Jakarta. Da zdravstvuyet sozdannyy voley narodov sekilas terdengar, dan pikiranku melayang bahwa penduduk sana gak mungkin melafalkan kalimat tersebut sambil kumur-kumur dengan cuko pempek.

Setelah ritual pagi mas Dance selesai, maka barulah aku bisa memulai menyelesaikan antrian tugas-tugasku hari ini: Menyelesaikan.Arsitektur.Backend.Dashboard.Penjualan. Back. End. Backend. Dengan background javascript, maka pilihan arsitektur yang ada tidak jauh dari sosok Ryan Dahl yang menginisiasi Node , dan Deno. Sosok aneh yang sama sekali tidak kreatif dalam membuat nama produk. Kalau dirasa javascript, dan typescript di masa depan tidak mencukupi, sehingga yang bersangkutan merancang produk baru berdasarkan coffeescript, hampir bisa diduga nama produk tersebut adalah Deon!

Ok, sebagai pendahuluan yang terlambat, sebagai freelancer, aku mengaku dan mengambil role sebagai sebagai full-stack developer. Ini adalah jalan pedang dalam mencari uang sebagai freelance di negara ini. Peran full-stack developer di mata para pelanggan perorangan, atau perusahaan kecil, atau divisi salah satu perusahaan besar adalah: orang yang bisa membuat aplikasi web, entah itu berupa front-end, back-end, perancangan tata letak, dan it goes without saying, its security (maaak... udah mirip orang Jakarta Selatan, belum?). Tambahan beban di atas tentunya: dengan cepat, dan murah. Appendix terakhir adalah bawain gorengan, dan kopi saat pertemuan tatap muka. Ini bukan hanya sekedar jalan pedang dalam mencari uang, tapi juga kampak, cangkul, dan panci. Tapi passion seseorang tidaklah bisa disembunyikan, bahwa di jalan ini kita bisa berperan sebagai orang yang membantu orang lain dalam mempermudah masalahnya, dan di sisi lain, kita memperoleh kepuasan dalam menyelesaikan tantangan yang diberikan, dan tentu saja kompensasi keuangan yang mencukupi untuk memenuhi kebutuhan asupan berbagai varian pempek.

845px-Pempek_Kuah_Cuko.jpg

Jalan panjang menuju seorang backend developer bisa dilihat di halaman ini. Meh, dengan modal beberapa bulan lulusan bootcamp, dan tawaran proyek yang sudah diterima dengan syarat harga murah, dan cepat selesai, maka jalan panjang yang ditawarkan roadmap itu gak masuk akal untuk dijalani. Apa daya, backend adalah hal penting yang dikerjakan supaya terjadi pemisahan antara bagian belakang yang mengurus lalu lintas data yang memang tidak dilihat oleh mata, dan bagian depan yang mengurus tampilan dari data yang diterima dari backend. Kenapa harus dipisah? Karena ada limitasi dari server yang mengelola depan dan belakang, apabila limitasi tersebut sudah tercapai, maka langkah skalabilitas yang ditempuh adalah secara vertikal dengan meningkatkan komponen server tersebut (meningkatkan jumlah CPU, atau meningkatkan jumlah RAM). Langkah lain adalah skalabilitas secara horizontal dengan menambah jumlah server. Pemisahan backend dan frontend sejak awal, memudahkan skalabilitas secara horizontal.

Di tahap ini bisa disimpulkan bahwa, ada skill javascript yang sudah dimiliki, diperlukan NodeJS untuk membangun backend, bahwa backend adalah proses di belakang yang memang tidak terlihat oleh mata manusia, proyek yang di depan mata ini harus dikerjakan secepat-cepatnya, dan semurah-murahnya. Pilihan belajar secara spesifik NodeJS sesuai dengan roadmap di atas adalah bukan pilihan. Pilihan lain adalah membayar backend developer lain untuk mengerjakan semua tugas yang berhubungan dengan backend. Tantangannya adalah mencari individu yang kompeten adalah hal yang hal besar tersendiri. Walaupun sudah didapatkan kandidat backend developer yang kompeten, menulis code dengan baik, maka hal lain yang harus dipikirkan adalah kesesuaian dengan anggaran proyek kita terima. Hari begini mana ada backend developer yang mau dibayar dengan seharga 1 piring pempek per jam kerja? Padahal nilai proyek yang didapatkan hanya sebesar 3 piring pempek per jam kerja. Bisa tekor bukan untung kalau begini... ๐Ÿ”ช โ› ๐Ÿ˜ตโ€๐Ÿ’ซโ˜ 

Dua pilihan sudah dicoret: belajar sendiri, dan bayar backend developer yang murah, berkualitas, senior, baik budi dan tidak sombong, jagowan lagipula pintar. Pilihan lain adalah menggunakan backend yang sudah jadi, tinggal klak klik, sudah jadi table beserta proses CRUD dalam bentuk REST API atau GraphQL yang bisa langsung dipakai, proses otentikasi dan otorisasi, bisa bikin endpoint dengan mudah. Dan syarat terakhir adalah gratis, tis, tis, gratis. Gak guna juga kalau sistem di atas bisa terpenuhi, tapi di tengah jalan tiba-tiba dimintai uang untuk melanjutkannya. Sementara di sisi lain, nilai proyek sudah ditentukan di awal kontrak, dan nilainya sudah habis terutama dalam realisasi pembelian bermangkok-mangkok pempek kapal selam dan lenjer.

airfocus-um1zVjVCtEY-unsplash.jpg

Gak perlu capek googling, Google sudah menyediakan Firebase engine yang mencakupi hal-hal di atas. A dream comes true banget kalau bisa gratisan. Sayangnya walau limit gratisannya cukup tinggi, sehingga bisa cukup lama sampai akhirnya harus terpaksa membayar. Tapi di lain pihak, gak ada yang bisa menjamin aplikasi yang kita buat diakses sedemikian rupa oleh berbagai pengguna yang tidak kita bisa kontrol sehingga limit di atas tidak mungkin tidak terjadi. Hasil pencarian di mesin ajaib menghasilkan beberapa alternatif, bahkan di antaranya adalah open source yang biasanya gratis untuk dipakai. Mari kita lihat siapa saja yang bisa jadi kandidat: Parse yang dulu dibangun Facebook, Supabase, Directus, Deployd, Hoodie, dan AppWrite.

Screenshot_2021-02-20 Parse Platform.png

Parse Platform mungkin salah satu terbaik untuk menandingi Firebase-nya Google. Tapi kalau kalian memiliki filosofi hidup yang bertentangan dengan peribahasa don't book a judge by its cover maka sudah terbayang bagaimana isi dokumentasi Parse Platform tanpa membuka dokumentasi Parse Platform itu sendiri. Bahkan Back4App yang menjual jasa Backend as a Service sejenis Firebase menggunakan Parse Platform memiliki alasan yang sama karena masalah dokumentasi Parse Platform. Pilihan lain adalah Deployd yang mudah instalasi dan penggunaan, tapi di lain pihak tidak bisa melakukan login lewat pihak ketiga. Platform open source Hoodie yang tampilan website-nya tidak mengesankan, dan terlihat beberapa link dokumentasi berupa error 404, ataupun berada di server yang berbeda-beda, menyebabkan dicoretnya pilihan nomor tiga ini.

Tersisa tiga pilihan open source ini:

Supabase

Appwrite

Directus

Bisa diambil kesimpulan sementara, domain .io laku, bang! Apa banting setir jualan domain aja?

Supabase itu kalau dipakein ban, pasti bentuknya cantik macam mobil Tesla yang batrenya mati seperempat. Dokumentasi cakep, penggunaan mudah, fungsi hampir semua ada, komunikasi realtime pakai Phoenix, CRUD API otomatis menggunakan PostgREST, Otentikasi pakai GoTrue, penggunaan aplikasi gampang. Tapiiii kok ya gak ada dokumentasi untuk pembuatan server on-premise. Di sisi lain Storage API dan Cloud Function belum terbit dari ufuk timur. Tapi keren. Gak boleh disingkirkan dari lubuk hati. Mungkin untuk proyek yang bisa menggunakan storage API dari pihak lain, mantap juga untuk digunakan. Apalagi gak perlu instal segala, saat ini masih beta version, dan haratis dalam penggunaan. ๐Ÿ’˜ ๐Ÿ’–

Appwrite memiliki desain web yang unyu-unyu, dan dokumen yang cukup lengkap. SDK server yang ditawarkan berupa NodeJS, Deno, PHP, Python, dan Ruby, serta ada SDK generator untuk pembuatan SDK untuk platform lainnya. Digawangi oleh seseorang yang bernama rada weird AF, dan komunitas yang cukup ramai di discord, Appwrite bisa jadi pilihan sebagai backend server. Kemudahan instalasi menggunakan docker-compose, dan ada panduan singkat untuk berbagai pilihan OS. Banyak pilihan dalam third party authorization, dan database sudah terinstall di dalam docker. Tersedianya cloud function, webhook, dan storage, ditambah dengan Health API untuk melakukan monitoring terhadap server itu sendiri. Appwrite dilengkapi dengan web aplikasi untuk pembuatan table dan CRUDnya. Sayangnya aplikasi tersebut masih belum sempurna dalam mengisi table dengan foreign key.

Singkat soal Directus adalah aplikasi yang mirip dengan AppWrite. Perbedaannya adalah yang ditawarkan dalam proses instalasinya hanya menginstall backend tanpa database. Database yang mereka tawarkan untuk dikoneksikan adalah hampir semua SQL database melalui ORM yang mereka pakai. Isi di dalam database sesuai dengan struktur data yang didefinisikan, sedangkan Appwrite memiliki struktur data tersendiri untuk tabel yang dibuat.

Nah sekarang sudah jadi backend developer-backend developeran. Gak pake belajar panjang, tapi bisa menghasilkan uang. Bahasan backend development ditutup dulu tanpa hutang. Lanjut bahas proyek di masa depan. Tunggu lanjutan.

Suka programming, dan mau menulis untuk berbagi ke komunitas? Bikin blog gratis yang bisa terhubung langsung dengan domainmu! GRATIS...

Iklan penggalangan dana wakaf pembangungan Madrasah al-Fatih, bisa transfer bank atau pakai GoPay. Place your endowment here.