image from unsplash
Saya akan bercerita sedikit tentang pengalaman menjadi seorang Web Developer. Sebelumnya disclaimer dulu ah, pengalaman atau pendapat terhadap pekerjaan setiap web developer mungkin berbeda-beda ya, susah senangnya mungkin berbeda-beda juga. So, ini sedikit gambaran mengenai gimana sih pekerjaan seorang web developer itu?
First of all, mungkin orang yang tidak bergelut di dunia IT sendiri agak sedikit bingung kali ya kok jabatan atau posisi pekerjaannya banyak banget dan mirip-mirip. Jadi sebetulnya, menurut Saya posisi-posisi tersebut muncul karena seiring berkembangnya teknologi semakin banyak pula tools yang digunakan untuk mengembangkan sebuah sistem dan karena membangun sebuah sistem dalam skala besar itu impossible untuk dibangun oleh satu orang programmer. Banyak sekali bidang-bidang yang membutuhkan spesialis atau ahli di bidangnya seperti keamanan, infrastruktur, antarmuka aplikasi, perancang sistem, dll. Saat ini pun satu bidang bisa banyak juga posisi pekerjaannya, misal posisi programmer, sekarang ini ada front end programmer dan backend programmer, dll.
But anyway, yang Saya lihat saat ini biasanya posisi pekerjaan IT itu terbagi jadi dua yaitu generalis dan spesialis. Nah, yang spesialis ini biasanya posisi-posisi yang sudah spesifik menyebutkan tools seperti PHP Programmer, berarti ini posisi yang diisi oleh orang yang spesifik membuat sesuatu menggunakan bahasa pemrograman PHP. Untuk generalis sendiri, ini yang biasanya banyak dibutuhkan karena di industri saat ini biasanya perusahaan pengennya satu orang itu bisa mengerjakan semua sistem dengan semua tools, impossible kan? ya, memang ini mission impossible haha.
Untuk generalis ini sendiri biasanya nama posisi atau yang tertera di lowongan pekerjaannya cukup general seperti Web Developer atau Web Programmer, Mobile Progammer, dll. Jadi tidak spesifik menyebutkan tools atau bagian terkecil dari pengembangan sistem (misal di pengembangan web itu ada frontend programmer dan backend programmer). Jadi ketika kita menjadi seorang web developer, tujuan utamanya adalah dapat membangun sebuah sistem berbasis web menggunakan teknologi apapun sesuai kebutuhan.
Banyak kan posisi pekerjaan di bidang IT? hehe. Sampai saat ini Saya belum menemukan nama baku posisi yang formal dan disahkan oleh Kementerian Ketenagakerjaan RI, jadi ya posisi pekerjaan di IT jadinya saat ini sesuai si perusahaan saja dia mau nulisnya apa, tapi buat para pencari kerja jangan lupa untuk selalu membaca deskripsi pekerjaan dengan detail ya, jangan sampai pas udah masuk kerja kaget karna kerjaannya tidak sesuai nama posisi di lokernya.

Gambar di atas adalah web developer sesungguhnya yang sudah ada bahkan sebelum internet ada haha
Sekarang kita fokus ke web developer. Seperti yang sudah Saya singgung sebelumnya, web developer ini memiliki tugas utama yang itu membangun atau mengembangkan sebuah sistem berbasis web menggunakan teknologi yang dibutuhkan. Teknologi baik itu bahasa pemrograman atau basis data yang digunakan untuk membangun sistem berbasis web sangat banyak. Namun untuk kasus yang Saya temukan di tempat Saya bekerja pemilihan tools sendiri tergantung tingkat kompleksitas dan skala sistem yang akan dibangun. Nah nanti mungkin teman-teman freshgrad atau yang mau memulai sebagai web developer bisa mempertimbangkan tools berikut untuk dipelajari.
Tingkat Kompleksitas Rendah
Untuk tingkat kompleksitas rendah ini misal membangun sistem yang proses bisnisnya tidak terlalu rumit. Biasanya sistemnya kebanyakan CRUD ke dalam satu tabel dan hanya memiliki 1 atau 2 proses transaksi. Proses transaksi disini bukan hanya transaksi kaya kalo kita beli barang di market place ya, tapi sebuah proses yang berfungsi mengolah data dari lebih dari satu sumber data. Nah biasanya untuk tingkat kompleksitas ini tools yang digunakan adalah tools umum dalam membangun web seperti PHP dan MySQL. Tapi ini sekali lagi tergantung kasus dan kebutuhan yaa.
Sekarang ini banyak framework yang dapat mempermudah pekerjaan kita. Untuk PHP sendiri biasanya menggunakan Laravel (monolitik) sebagai frameworknya dan sistem dikerjakan oleh 1 – 2 orang web programmer. Teman-teman mungkin bisa mempertimbangkan untuk mempelajari Framework Laravel untuk memulai karir sebagai web developer.
Tingkat Kompleksitas Sedang
Untuk tingkat kompleksitas sedang ini biasanya data yang dikelola dan fitur-fiturnya sudah cukup banyak sehingga diperlukan pembuatan struktur sistem yang jelas dan terstruktur. Sistem biasanya dikerjakan oleh 2 – 4 orang untuk programmer (note: diluar Bussiness Analyst, System Analyst karna bukan programmer). Tools yang dipakai umumnya sama menggunakan PHP dan MySQL atau Postgre namun sudah tidak menggunakan arsitektur monolitik. Untuk mempercepat proses pengembangan, programmer dibagi menjadi dua tim yaitu backend dan frontend.
Framework bahasa pemrograman untuk backend programmer pun banyak dan bisa disesuaikan dengan kebutuhan seperti Laravel, Lumen, Slim, dll. Untuk frontend progammer framework yang biasa digunakan yaitu VueJS, ReactJS, Angular, dll. Teman-teman mungkin nanti bisa mempertimbangkan tools tersebut untuk dijadikan bahan belajar selanjutnya setelah menguasai framework php monolitik.
Tingkat Kompleksitas Tinggi
Untuk tingkat kompleksitas tinggi ini biasanya data, fitur, dan pengguna sistem sudah banyak. Biasanya dikerjakan oleh lebih dari 4 programmer dan arsitektur sistemnya sudah kompleks (tapi sesuai kebutuhan) menggunakan micro services dan setiap setiap service mungkin menggunakan beberapa bahasa pemrogaman seperti GO, Python, dll (again, sesuai kebutuhan) kemudian database SQL ataupun NoSQL seperti MongoDB, Redis, Elastic, dll. Framework Python yang biasa digunakan yaitu Flask, Django, FastAPI.
Untuk teman-teman mungkin ini bisa dijadikan materi pembelajaran tingkat lanjut dalam mengembangkan sistem berbasis web. Selain itu di tahap ini juga mungkin perlu mempelajari tools pendukungnya seperti mempelajari Containerization menggunakan Docker atau sejenisnya. Kemudian bisa mempelajari Kubernets dan Rancher juga untuk membantu mempermudah proses deployment dan maintenance sistem.
Last but not least, menjadi seorang web developer saat ini menurut Saya aman aja, karena segala permasalahan dan bug selalu ada solusinya di internet atau bertanya pada rekan kerja yang pernah implementasi hal serupa. Sering-sering aja googling dan ngubek-ngubek Stackoverflow. Untuk pembaca yang punya pengalaman, saran atau tips n tricks menjadi seorang web developer silakan komen dibawah yaa.
Terakhir Saya ucapkan, selamat ngoding dan happy ngulik gaes.

Leave a comment