Pengaturcaraan: Front-end atau Back-end?

Soalan yang sering sekali menjadi titik tolak untuk seseorang memulakan kerjaya sebagai pengaturcara (programmer)

Pengaturcaraan
profil

Abdullah Fitri Che Wan

September 10, 2021

front-end-vs-back-end

“Programming isn’t about what you know; it’s about what you can figure out.” — Chris Pine

Sebagai programmer, saya harus akur bahawa soalan ini adalah soalan yang paling famous di kalangan graduan-graduan yang lahir dari jurusan teknologi informasi (IT) mahupun dari kalangan individu-individu yang ingin cuba menyelami susur-galur cabang dunia pengaturcaraan untuk dijadikan sebagai hobi ataupun sebagai kerjaya sepenuh masa.

Tanpa melengahkan masa, jom kita kupas tentang soalan yang "hangat" ini.

Apa itu "Front-end developer" atau "Back-end developer"?

Sebelum kita pergi dengan lebih jauh, adalah lebih baik kiranya untuk kita mengenali apakah yang dimaksudkan dengan peranan:

  • Front-end developer, dan
  • Back-end developer

di dalam dunia pengaturcaraan (programming) itu sendiri.

a. Front-end developer

Front-end developer kebiasaannya bertanggungjawab di dalam pembangunan komponen visual secara berkesan untuk sesuatu laman web atau aplikasi telefon pintar (smartphone). Mereka ini juga melakukan tugas-tugas pembangunan (development) bagi mencapai kriteria rekabentuk antaramuka pengguna (user interface) dan juga pengalaman pengguna (user experience) yang penting seperti navigasi, butang, atau apa sahaja yang dapat membantu meningkatkan lagi visual keseluruhan dan juga pengalaman pengguna bagi sesebuah laman web atau aplikasi telefon pintar. Mereka juga adalah individu yang bertanggungjawab untuk menterjemahkan data yang diambil dari pelayan (server) dalam bentuk visualisasi grafik.

Untuk tujuan ini, HTML, JavaScript, dan CSS adalah stack technology yang sering digunakan bagi membangunkan setiap komponen visual seperti mana yang anda lihat di kaca skrin telefon bimbit mahupun skrin komputer anda ketika ini. Ini membolehkan pengguna berinteraksi secara bebas dan selesa terhadap sesuatu laman web atau aplikasi telefon pintar itu sendiri.

front-end-dev

Namun, dasawarsa ini kita dapat melihat lambakan teknologi-teknologi baru yang telah lahir dalam konteks pembangunan front-end. Sebagai contoh, pengaturcara JavaScript kini boleh memilih untuk menggunakan front-end framework seperti React, Vue mahupun Angular, di mana ia secara tidak langsung membantu ramai pengaturcara untuk beralih kepada framework yang lebih moden berbanding menggunakan JavaScript yang tradisional di mana penulisan sintaks dan logik agak kompleks jika dibandingkan dengan keupayaan 3 framework yang saya nyatakan sebentar tadi.

Jadi secara dasarnya, front-end developer adalah individu yang bertanggungjawab untuk menghasilkan visual dan komponen rekabentuk antaramuka pengguna (user interface) bagi tujuan untuk pengguna berinteraksi dengan sesuatu aplikasi/sistem. Baik aplikasi web, telefon pintar.

b. Back-end developer

Jika sebentar tadi kita telah pun membincangkan tentang peranan seorang front-end developer. Sekarang kita akan beralih kepada peranan sebagai seorang back-end developer.

Jadi, apakah peranan seorang pengaturcara yang bernama back-end developer ini?

Back-end developer bertanggungjawab pada pembangunan sistem yang menghubungkan sesuatu aplikasi kepada pelayan (server) yang menyimpan data di dalam pangkalan data (database). Fokus mereka lebih tertumpu kepada pengstrukturan pangkalan data (database), skrip, dan system architecture sesebuah aplikasi. Mereka ini juga memantau bagaimana sesebuah aplikasi/sistem itu berfungsi dan bagaimana mereka boleh membuat perubahan dan mengemas kini semua fungsi dan operasi di belakang tabir.

back-end-architecture

Teknologi-teknologi yang sering digunakan oleh back-end developer adalah seperti berikut:

  • Web Development Languages
  • Pangkalan data (Database) dan cache
  • Pelayan (server)
  • API (REST & SOAP)

Peranan back-end developer dapat kita simpulkan seperti berikut.

  1. Pembinaan laman web dengan membina pengaturcaraan dalam bahasa PHP, Java, JavaScript, Perl, Python, dan Ruby.
  2. Membantu front-end developers untuk mencapai masa tindak balas yang cepat kepada pengguna akhir (end-user).
  3. Mahir mengunakan sistem kawalan versi perisian dengan teknologi seperti CVS, Git, atau SVN.
  4. Back-end developer harus memahami matlamat laman web dan mencari penyelesaian yang berkesan.
  5. Pengurusan sumber API (Application Program Interface) yang berfungsi di seluruh peranti.
  6. Back-end developer juga berkemungkinan terlibat dalam pembinaan sistem dan analisis sains data.
  7. Back-end developer bertanggungjawab mengatur logik sistem, yang akan digunakan di pelbagai peranti.

Secara konklusinya, mana yang lebih baik?

Secara jujurnya, jawapan yang saya boleh kongsikan kepada anda ialah:

Bergantung kepada keupayaan dan keinginan diri anda sendiri.

gif-why

Kenapa pula saya mengatakan sedemikian rupa?

Kerana kedua-duanya mempunyai permintaan (demand) yang sangat tinggi di dalam pasaran kerja ketika ini. Dan untuk mendapatkan akses untuk mempelajari tentang ilmu pengaturcaraan baik front-end atau back-end kini lebih mudah kerana semua maklumat dan bahan pembelajaran yang anda ingin mempelajari, tersedia di hujung jari anda pada hari ini.

Jika anda seorang yang meminati untuk membina sesuatu yang berlandaskan visual grafik dan menghasilkan rekabentuk antaramuka pengguna (user interface) yang mampu menarik perhatian dan mudah digunakan bagi pengguna akhir (end-user), maka pengaturcaraan dalam bentuk front-end adalah amat sesuai untuk anda.

Jika anda seorang yang mempunyai critical thinking , mempunyai kepakaran dalam menyelesaikan masalah dengan keupayaan logik yang tinggi dan seorang yang bijak menyusun atur flow structure dalam apa jua keadaan. Maka pengaturcaraan dalam bentuk back-end amatlah bersesuaian dengan diri anda.

Andai kata anda meminati kedua-dua nya, anda boleh cuba cabar diri anda dengan menjadi seorang "full-stack developer". Bak kata orang Eropah: master of all trades.

Namun, ia berbalik kepada penyataan saya sebentar tadi.

Apa jua pemilihan dan keputusannya, ia terletak kepada naluri hati dan penilaian secara holistik dari diri anda sendiri di akhirannya.

Oleh itu, saya ucapkan maju jaya kepada anda yang ingin menyusuri perjalanan di dalam dunia pengaturcaraan. Dan selamat mengaturcara!

Rujukan yang boleh dilayari untuk mempelajari pengaturcaraan (programming)

  1. FreeCodeCamp
  2. Codeacademy
  3. HackerRank
  4. GeeksForGeeks
  5. Codementor

Terima kasih kerana sudi membaca!

Abdullah Fitri

© FVTRX. All Rights Reserved.