Cara Menjadi Web Developer Di Tahun 2024
Teknologi bagi web developer selalu berganti dengan cepat, hari ini lagi belajar apa besoknya tiba tiba ada framework atau teknologi baru. Semua berganti terlalu cepat, dan mau ga mau kita sebagai programmer juga harus beradaptasi. Jangan mau ketinggalan trend namun di sisi lain juga harus fokus. Kesempatan kali ini kita
Maka dari itu saya menulis postingan ini, pengennya setelah membaca kalian bisa langsung waspada, terinspirasi atau bahkan evaluasi progress kalian selama belajar. Dan pastinya kalian ga ketinggalan trend dunia software engineeering yang berkembangnya terlalu pesat ini
Pengertian Web Developer
Web Developer singkatnya adalah orang yang bekerja untuk mengembangkan web. Kenapa mengembangkan, web developer ketika bekerja masih mengandalkan beberapa framework, package, library, yang didapat dari third party. Dengan kata lain, web developer gak begitu invent/menemukan metode baru saat ia mengerjakan project atau aplikasi
Sehingga bisa dibilang role sebagai web developer ini masih sangat mudah dipelajari dibandingkan dengan role pekerjaan lain.
Baca Juga: Dari Software Engineer Menjadi Product Engineer
Perbedaan Web Developer, Web Engineer, Web Programmer
Pernah ga kalian waktu menemukan akun akun techbros di Twitter, Facebook, Instagram mereka menuliskan nama pekerjaan mereka di bio. Ada yang menuliskannya web developer, web engineer, web programmer. Kira kira apa sih perbedaannya?
Sebenarnya letak perbedaannya ada pada apa yang mereka kerjakan. Tadi sudah dibahas bahwa web developer tugasnya hanya membuat web berdasarkan third party library orang lain. Maka web engineer dan web programmer punya beberapa perbedaan yang mencolok
Web Developer:
- Mengembangkan aplikasi web dengan mengandalkan package, library, framework, CMS pihak ketiga. Bisa berbayar, bisa juga open-source
Web Engineer:
- Membuat rancangan ulang dari aplikasi web beradasarkan fundamental cara kerja website untuk menemukan fitur terbaru, menguji performace, atau memberikan keefektifan tampilan web yang berbeda
Kalau kalian pernah mendengar istilah reverse engineering, maka web engineer juga melakukan hal ini namun untuk field web saja
Web Programmer:
- Orang yang menuliskan kode program untuk website
Yup, sesederhana itu. Karena memang fokus seorang web programmer hanya menuliskan kode saja untuk membuat aplikasi web, atau beberapa task pekerjaan. Maka dari itu Pak Sandhika Galih menamakan channel Youtubenya Web Programming UNPAS, karena memang beliau memfokuskan materi videonya untuk menuliskan kode mulai dari hello world! sampai yang ribet ribet seperti OOP dan Asynchronous
Ya meskipun Pak Sandhika menambahkan muatan materi lain seperti framework, namun yang menjadikan dirinya unik adalah betapa beliau bisa mengajarkan segalanya dari yang benar benar basic hingga advanced
Baca Juga: Retropeksi Hakiki 3 Tahun Terakhir Terjun Belajar Ilmu Komputer
Jenis Jenis Web Development
Ada beberapa jenis web development yang harus difahami, ini sangat penting untuk menentukan karir kalian kedepan bakalan seperti apa
Front End Development
Front End Developer bertugas untuk merancang tampilan antar muka sebuah website. Mulai dari mendesignnya di Figma hingga mengkoding hasilnya ke dalam web. Kadang kedua role ini pun dipisah ada UI/UX Designer ada juga Front End Developer. Namun, masih ada dijumpai berbagai perusahaan masih menggabungkan role ini karena -mungkin dirasa hanya sedikit task UX Designer yang dibutuhkan
Ada beberapa hal yang harus dipelajari jika kamu ingin masuk ke role ini
UI Library
UI Library adalah tools yang berisikan berbagai macam komponen UI yang bisa digunakan untuk tampilan web. Jadi alih alih kalian menuliskan kode dari awal, kalian bisa mengcopy paste kan UI library dari dokumentasi dan menyesuaikannya ke dalam aplikasi kalian
UI Library terkenal: Shadcn/UI, MaterialUI, RadixUI, HeadlessUI
CSS Framework
CSS Framework adalah kerangka berbasis CSS yang memudahkan positioning, layout sebuah website. Perbedaan CSS Framework dengan UI Library adalah CSS Framework tidak begitu mendalam menangani events di dalam komponenya. Jadi kadang ketika menggunakan UI Library kita pun masih membutuhkan CSS Framework sebagai bantuan. Misal, TailwindCSS dengan Shadcn/UI, ChakraUI dengan TailwindCSS, dan lain sebagainya
CSS Framework terkenal: Bootstrap, TailwindCSS
Oh iya, Tailwind selain menyediakan CSS Framework bernama TailwindCSS ia juga menyediakan UI Library bernama TailwindUI yang berbayar
Back End Developer
Back End Developer adalah programmer yang bertugas untuk membuat sistem di balik web, mulai dari bagaimana data diproses, diambil, diakses, hingga autentikasi ketika user masuk ke dalam website. Intinya segala hal yang berususan masalah 'dapur' rancangan bagaimana website bekerja.
Ada beberapa hal yang harus kalian pelajari
RESTFul API
RESTFul API adalah sebuah sistem di dalam aplikasi dimana sebuah aplikasi bisa tekoneksi secara data dan real time dengan aplikasi lain.
Menurut Binar Academy Blog, API singkatan dari Application Programming Interface adalah kumpulan aturan / code yang membuat 2 program atau lebih dapat berkomunikasi. API menjadi jembatan antar sistem yang menghubungkan client (program yang membutuhkan data) dengan server (database)
Kalian juga harus belajar apa saja prinsip prinsip RestAPI mulai apa itu GET, POST, PUT, DELETE, dan lainnya
Database Design
Database Design adalah skill untuk merancang relationship database, hal ini penting karena berkaitan dengan fitur fitur krusial dalam sebuah aplikasi web. Jadi ketika kalian ingin membuat aplikasi, kalian harus terbayang dulu bagaimana databasenya di-design dengan efisien dan efektif
Kalian harus mengerti apa itu konsep one to many, one to one, many to many, many to one.
SQL Query
SQL Query adalah kode yang berisi instruksi untuk mengambil (meretrieve) data dari database. Semua backend engineer maupun develope wajib menguasai hal ini. Karena menggunakan SQL Query dianggap lebih efektif dan berperan besar terhadap performa website
"SELECT * FROM users"
ORM (Object Relational Mapping)
ORM adalah tool/library/package yang berfungsi untuk mengambil data dari database namun berbasis function sehingga jauh lebih mudah digunakan
User::all()
Menggunakan Larvel Eloquent
Fullstack Developer
Kalo tadi kita sudah belajar dua role yaitu Front End Developer dan Back End Developer, maka Fullstack Developer bertugas untuk menangangi dua duanya. Intinya kita sebagai fullstack developer ditugaskan untuk membuat aplikasi seutuh utuhnya.
Mungkin beberapa hal yang harus dipelajari dari role role diatas sudah sangat overwhelming. Namun sekarang banyak sekali teknologi, framework, library, yang men-support kita jika ingin beralih menjadi fullstack developer
Fullstack Framework
Dua Framework ini merupakan framework yang saya rekomendasikan jika kamu mau jadi fullstack developer karena framework ini menangani sistem backend dari suatu aplikasi juga kita sebagai programmer juga bisa melakukan design dan coding terhadap tampilan web secara leluasa
NextJS
NextJS adalah framework frontend bahkan fullstack yang mendukung server side rendereing, sehingga kamu bisa melakukan fetching data dari server dan merender tampilan antar muka langsung dari server
Laravel Livewire
Laravel Livewire merupakan framework dari Laravel yang memberikan fitur jauh lebih mutahir, sehingga kita sebagai programmer bisa mengubah tampilan web dari server
Server Client Fundamental
Server Client adalah konsep dalam aplikasi web dimana server dan client saling berkomunikasi untuk bisa menjalankan web. Sebenarnya ini kosenp basic how the website works aja si, dimana browser (client) memberikan request kepada server lalu server memberikan response. Bisa berupa tampilan web html, json, dan lain sebagainya
Dulu seorang programmer harus ngbuild server dan client ini secara terpisah. Bikin server dulu pake nodejs, golang, atau pyhton, lalu client/clientnnya dibuat lagi dari reactjs, vuejs, atau angular. Lama kelamaan konsep ini sangat ribet kalo dikerjain sendirian. Maka dari itulah banyak sekali Fullstack Framework (yang sudah disebutkan diatas) mulai bermunculan
Skill Yang Dibutuhkan
HTML, CSS, Javascript (WAJIB SEMUA)
- HTML (hyper text markup language) adalah sebuah basis atau struktur program dari browser yang dirancang untuk memetakan apa saja yang harus ditampilkan dari sebuah website. Perlu digaris bawahi bahwa, HTML bukan bahasa pemograman. HTML adalah struktur kode yang mempunyai aturan tertentu dan kita tidak bisa melakukan operasi logika, aritmatika, dan kondisi di dalamnya
- CSS adalah sebuah program yang ditujukan untuk mengubah tampilan warna, karakter, layout, posisi pada sebuah struktur HTML. CSS juga bukan bahasa pemograman karena tidak melakukan operasi logik, dan hitung hitungan
- Javascript adalah bahasa pemograman script yang bisa melakukan segala operasi dan menjalankan fungsi dalam web
PHP, Golang (Pilih salah satu)
Untuk kebutuhan backend saya menyarankan salah satu atau dua duanya lebih baik dari bahasa pemograman PHP atau Golang, karena bahasa pemograman ini demandnya sedang naik dan dari segi performa juga sangat sering diandalkan
- PHP adalah bahasa pemograman berbasis web yang sangat mutahir untuk melakukan request response dalam web, mengambil data dari database, dan lain sebagainya. Meskipun banyak haters, kepopuleran PHP tidak pernah lekang oleh jaman!
- Golang adalah bahasa pemograman yang dikembangkan oleh Google. Sebenarnya fungsinya persis sama seperti Javascript, namun perbedaannya Golang jauh lebih object oriented, setiap kalian menuliskan kode meskipun hanya hello world, kalian harus membuat class/object terlebih dahulu
Laravel, ReactJS (Pilih salah satu)
Ini merupakan framework yang setidaknya kalian harus pelajar kalo mau menjadi web developer. Karena framework ini mudah digunakan dan sangat sering digunakan di industri
- Laravel adalah framework web berbasis PHP. Laravel memiliki keunikan dari segi nama nam syntaxnya yang sangat mudah diingat. Laravel memiliki komunitas yang besar sehingga tidak heran Laravel punya banyak sekali fitur fitur untuk para programmer mengembangkan aplikasinya dengan mudah seperti Laravel Livewire, Laravel Eloquent, Laravel Tinker, Laravel Valet, Laravel Socialite, Laravel Jetstream, dan masih banyak lagi!
- ReactJS adalah framework berbasis javascript yang memudahkan programmer membuat user interface dengan komponen. Pastikan kalian sudah memahami javascript dengan mendalam sebelum belajar framework ini ya
MySQL, PostgreSQL
- MySQL adalah database berbasis SQL, MySQL berisi data data mulai dari column, rows, dan fields. Kalian bisa memanipulasinya secara dinamis dan tidak real time
- PostgreSQL adalah database seperti MySQL namun dengan fitur yang lebih scalable dan mampu menangani workload yang jauh lebih banyak (duh jadi mau belajar PostgreSQL)
Docker, Kubernetes
- Docker adalah sebuah konsep virtualisasi dalam OS dimana beberapa aplikasi bisa dijadikan satu induk, namun alih alih aplikasi ini berjalan pada OS Guest seperti konsep virtualisasi pada umumnya. Docker mempunya konsep tersendiri bernama containerization, dimana aplikasi aplikasi yang dibawahi terisolasi dari OS Host
- Kubernetes adalah sebuah teknologi open source yang menghandle containerzation yang banyak.
Comments
Post a Comment