“Apakah saya harus menggunakan Java untuk Backend aplikasi? Atau pakai Go saja?”
“Haruskah saya membuat Frontend nya dengan VueJS atau ReactJS?”
“Untuk menyimpan datanya sebaiknya pakai MySQL atau MonggoDB ya?”
Dan pertimbangan-pertimbangan lainnya yang harus segera diputuskan.

Dalam memilih Tech-Stack saat ini memang sangat banyak sekali pilihan teknologi yang dapat digunakan. Mulai dari bahasa programming nya, frameworknya, databasenya, servernya, dan lain sebagainya. Dan kita perlu memilih satu yang sesuai dengan kebutuhan kita.

Ambil contoh kalau misal kita akan membangun aplikasi kita dengan bahasa JavaScript. Untuk proses AJAX sederhana saja, kalau kita cari di npmjs.com, kita akan melihat sebanyak 640 library yang dapat kita gunakan. Library yang memiliki score tertinggi akan tampil paling pertama. Yang pasti kita kita tidak mungkin mencoba semua library yang tersedia. Namun kita tetap harus memilih salah satunya dan itu membuat kita bertanya bagaimana memilih library yang tepat.

Idealnya, kita bisa memilih library yang akan kita pakai setelah melihat dokumentasi library nya.
– Apakah itu terdokumentasi dengan baik?
– Apakah library tersebut sudah mengcover use case yang ada?
– Apakah di maintenance dengan baik?
– Apakah mudah untuk diintegrasikan ke existing code yang ada?
– Apakah mudah untuk digunakan?
– Apakah itu open source atau memerlukan lisensi berbayar untuk penggunaan komersil?

Library yang tidak terdokumentasi atau dokumentasinya buruk harus dihindari karena untuk membaca dokumentasinya atau bagaimana cara kerja library nya kita perlu untuk melihat dulu kode sumber nya yang akan memakan waktu. Jika ternyata yang kita butuhkan adalah library yang berbayar, sarankan kepada perusahaan tempat kita bekerja untuk membayarnya dan tentu kita perlu jelaskan kenapa butuh library berbayar tersebut.

Syarat-syarat tadi bisa kita gunakan juga sebagai pertimbangan untuk memilih Tech-Stack lainnya. Selain hal-hal diatas, memilih Tech-Stack juga memerlukan riset untuk tiap-tiap teknologinya. Seperti misalnya Java digunakan untuk proses generate PDF, sedangkan GO untuk pembuatan core Backend aplikasinya. Atau MonggoDB untuk penyimpanan master data sedangkan MySQL digunakan untuk penyimpanan data geospasial, dan lain sebagainya.

Jadi sebuah Tech-Stack kalau bisa disesuaikan dengan kebutuhan dan masing-masing kelebihan dari Teknologi nya agar proses yang dijalankan oleh aplikasi bisa lebih maksimal hasilnya.

Referensi: https://blog.devgenius.io/choosing-the-right-tech-stack-70a6dd456ff0

Photo from Unsplash by Kevin Ku