Jika Anda mengetikkan URL di tab browser Anda dan menekan enter. Seketika Anda disuguhkan dengan tamplilan visual web yang memukau. Animasi-animasi indah serta konten interaktif yang memberikan experience lebih kepada kita sebagai pengguna terkadang menggelitik rasa penasaran kita, bagaimana membuat website yang seperti ini?

Sering kali website yang eksepsional seperti itu dibuat tidak hanya oleh seorang web developer saja melainkan satu tim dengan spesialisasi masing-masing. Dalam tim tersebut biasanya terdiri dari 3 profesi yaitu UI/UX designer, front-end developer, dan back-end developer. Apa saja perbedaan pada setiap profesi tersebut? Yuk kita bahas satu per satu!

 

UI/UX Designer

Kita tidak akan banyak membahas tentang UI/UX designer karena profesi ini lebih ke arah desain (baca: Pengembangan UI/UX: Merancang Nyawa Sebuah Aplikasi jika ingin mengetahui tentang pengembangan UI/UX lebih dalam). Seperti halnya arsitek, UI/UX designer sangat berperan dalam menentukan estetika dan pengalaman pengguna dalam sebuah web yang Anda kunjungi. Peran UI/UX designer hanya sebatas membuat wireframe (sketsa layout untuk sebuah web) dan tentunya web design itu sendiri mulai dari komposisi letak, jenis dan ukuran font, sampai warna-warna yang digunakan. Seorang UI/UX designer sama sekali tidak mengotori tangannya dengan menulis kode. Walaupun begitu biasanya UI/UX designer memahami bagaimana HTML, CSS, dan JavaScript bekerja sehingga tidak ngawur dalam mendesain website.

 

Front-End Developer

Setelah UI/UX designer menuangkan ide-ide cemerlang dan tangan terampilnya dalam desain sebuah web, kini giliran front end developer yang akan meneruskan proyek membangun website ini.

Jika tadi UI/UX designer kita ibaratkan sebagai arsitek, si front end developer ini adalah engineer-nya. Tugas front end developer adalah merealisasikan desain kreatif nan imajinatif dari sang UI/UX designer. Jika ada ungkapan “architect’s dream is the engineer’s nightmare” di proyek properti, di proyek website ini ungkapannya hampir sama yaitu “Designer’s dream is front end developer’s nightmare”.

Ya! Tugas front end developer adalah memastikan konten yang ditampilkan di browser pengguna berjalan sesuai desain disepakati. Header yang menggeser ke samping atau yang disebut slider, ikon menu yang berubah saat di-scroll, serta animasi-animasi lucu dan menggemaskan yang membuat kita ingin mencubit layar monitor adalah fitur yang ditulis dengan kode pemrograman oleh sang front-end developer. Bahasa teknisnya, front end developer adalah orang yang bertanggung jawab atas semua kode yang dikirim dari server dan diterima oleh browser masing-masing pengguna.

Untuk menjadi seorang front end developer, kita mempelajari bahasa mark up seperti HTML dan CSS serta bahasa pemrograman JavaScript. JavaScript sendiri mempunyai banyak library dan framework seperti jQuery, AngularJS, ReactJS, dan lain-lain. Seorang front end developer juga harus mengerti bagaimana RESTful Service dan API bekerja. RESTful sangat dibutuhkan ketika kita ingin menghubungkan web kita dengan aplikasi web lain seperti Facebook atau Twitter.

Seperti profesi yang lain, ada bagian di mana menjadi seorang front end developer itu menyenangkan dan ada bagian tidak enaknya pula. Bagian menyenangkannya adalah semua output dari kode yang kita tulis dapat dilihat dengan mata sehingga memudahkan kita untuk mencari bagian mana dari kode yang kita tulis yang tidak berjalan. Bagian tidak enaknya adalah web yang kita buat harus berjalan dengan sempurna di berbagai browser dan berbagai perangkat yang dimiliki pengguna, apalagi sekarang lebih banyak orang yang membuka web dari perangkat mobile.

 

Back-End Developer

Jika dummy website sudah dibuat dan berjalan semestinya di browser masing-masing pengguna, saatnya back end developer mengambil alih tanggung jawab. Kode HTML, CSS, dan JavaScript untuk setiap jenis atau bagian halaman dipecah lagi agar dapat dijadikan semacam template. Bagian footer yang pasti ada di setiap jenis halaman misalnya, kita tidak perlu menulis kode footer tersebut berulang-ulang setiap akan membuat halaman baru. Di sinilah peran back end developer diperlukan.

Back end developer bertanggung jawab memprogram server agar mengirimkan dokumen (dalam hal ini HTML, CSS, dan kode JavaScript) ke browser pengguna setiap kali pengguna memintanya melalui http request. PHP, JavaScript, Python, dan Ruby adalah bahasa pemrograman yang biasanya dipakai di server.

Back end developer juga akan sering berkutat dengan database dan manajemen konten di suatu website. Bentuk dari tanggung jawab tersebut yang paling bisa dilihat adalah Content Management System (CMS). Kita tentunya sudah sering memakai blog seperti WordPress dan blogspot. Nah, CMS ini mirip dengan aplikasi blogging sehingga memudahkan admin web untuk mengisi konten tanpa harus menuliskan kode HTML maupun CSS. Tentu saja tidak semua back end developer membuat sendiri CMS website yang sedang mereka kembangkan. Banyak dari back end developer yang memakai CMS yang dikembangkan oleh pihak ketiga seperti WordPress yang merupakan CMS open source yang bisa kita install sendiri di server kita.

Selain CMS dan database, seorang back end developer juga bertanggung jawab memastikan keamanan sebuah web. Bagian yang paling menjengkelkan adalah ketika ada seorang ‘penyusup’ dapat mengakses web server dapat mengacak-acak konten, maupun database, dan yang terparah adalah mengganti seluruh system di server kita.

 

Full Stack Developer

Sebenarnya tidak ada yang perlu dijelaskan lagi mengenai full stack developer karena full stack adalah front end dan back end developer yang dirangkap oleh 1 orang. Perkembangan teknologi yang cepat membuat batasan front end dan back end semakin kabur. Apalagi sekarang banyak diantara bisnis yang menginginkan hasil cepat dan murah sehingga para developer ‘penyendiri’ mulai mengembangkan dirinya menjadi full stack untuk menghemat waktu dan tentu saja biaya produksi.

Memang kebanyakan dari full stack developer memiliki kecenderungan untuk lebih ahli di sisi front end atau back end. Sangat sedikit yang kemampuannya benar-benar hebat di dua bidang tersebut sekaligus. Selain memiliki logika dan problem solving yang baik seperti back end developer, seorang full stack developer juga dituntut untuk memiliki kreativitas yang tinggi seperti front end developer.

Full stack developer merupakan profesi yang populer setelah Facebook merekrut full stack developer walaupun untuk mengerjakan bagian front end saja atau back end saja. Alasannya adalah full stack developer lebih paham bagaimana proses pembuatan website di dua bagian tersebut sehingga mempermudah komunikasi antara divisi front end dan back end.

Jika Anda tertantang untuk menjadi seorang full-stack developer dari nol, Anda bisa ikut bootcamp full stack web programming yang diselenggarakan Inixindo Jogja. Batch bootcamp ini dibuka tiap bulan.