Front-End Developer

Setelah UI/UX designer menuangkan ide-ide dalam membuat layout/desain dari prototipe ,kini front end yang membangun proyek dari programnya

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”.

Tugas front end developer adalah memastikan konten yang ditampilkan di browser sesuai dengan tampilan konten yang disepakati.

Fitur yang ditulis dengan kode pemrograman oleh sang front-end developer
contohnya ,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 . Bahasa teknisnya, front end developer merupakan orang yang mempunyai tanggung jawab atas semua kode yang dikirim ke server dan diterima oleh browser pengguna.

Kamu akan terbiasa dengan istilah-istilah di atas saat mulai belajar tech skill. Untuk memudahkanmu, berikut 10 skill penting yang diperlukan setiap front-end developer.

1. HTML/CSS

Dua hal tersebut selalu ada dalam kualifikasi pekerjaan front-end developer.

Mari lihat dan pahami artinya:

HyperText Markup Language (HTML) adalah bahasa markup standar yang digunakan untuk membuat halaman web. Bahasa markup adalah sebuah cara untuk membuat notes dalam dokumen digital. HTML adalah hal paling dasar yang kamu butuhkan untuk mengembangkan website.

Cascading Style Sheets (CSS) adalah bahasa pemograman yang digunakan untuk mepresentasikan file HTML yang telah kamu buat. HTML berfungsi membangun fondasi dari website kamu, sedangkan CSS digunakan untuk mengatur layout website, warna, font, dan semua style lain.

Kedua bahasa pemograman ini adalah skill dasar yang sangat penting untuk seorang front-end developer. Singkatnya, tanpa HTML dan CSS, tidak akan ada web development.

2. JavaScript/jQuery

JavaScript adalah program yang menentukan fungsi-fungsi yang ada di website yang ingin di realisasikan

Jika kamu membutuhkan fitur interaktif seperti audio, video, game, atau animasi, maka kamu membutuhkan JavaScript untuk mengimplementasikannya.

Di dalam JavaScript, terdapat library untuk bermacam plug-in dan extensionyang dinamakan dengan jQuery. jQuery membuat penggunaan JavaScript menjadi lebih cepat dan mudah. 

Common task yang harus ditulis dalam berbaris-baris kode dalam JavaScript, dapat ditulis hanya dengan satu baris kode menggunakan jQuery.

3. Framework CSS dan JavaScript

CSS dan JavaScript merupakan sebuah bagian besar dalam front-end development sehingga menjadi dasar dari skill skill lain yang diperlukan oleh seorang front-end developer.

Framework dari CSS dan JavaScript adalah koleksi dari file CSS atau JavaScript yang membantu kamu melakukan tugas tertentu melalui pembagian common functionality. Sebagai contoh, saat kamu log in ke sebuah website atau mencari sebuah blog, kamu tidak mendapat teks dokumen yang kosong, sebelumnya telah ada kode JavaScript di dalamnya.

Tiap framework mempunyai kelebihan dan kekurangannya masing-masing. Penting untuk memilih framework yang tepat sesuai dengan tipe website yang akan kamu buat. Beberapa framework JavaScript sangat baik untuk membuat interface yang kompleks, sedangkan framework lainnya lebih baik digunakan saat kamu ingin membuat website yang lebih minimalis.

Kamu juga dapat menggunakan beberapa framework secara bersamaan. Misalnya yang umum dilakukan yaitu menggabungkan Bootstrap dengan AngularJS. Content website diatur oleh Angular, sedangkan tampilan oleh Bootstrap.

Kamu akan selalu bekerja menggunakan CSS dan JavaScript, oleh karena itu, penguasaan atas framework-framework yang ada, akan menjadikan kamu developer yang lebih efisien.

4. Preprocessor CSS

Satu skill lagi yang berkaitan dengan CSS!

Meskipun CSS adalah skill yang sangat esensial, namun terkadang banyak batasan di dalamnya. Beberapa batasan tersebut adalah CSS tidak bisa mendefinisikan variabel, fungsi, atau melakukan operasi aritmatika.

Hal di atas bisa menjadi masalah saat skala project semakin berkembang. Kamu akan merasa menghabiskan banyak waktu untuk menulis baris-baris kode yang sebenarnya bisa dikerjakan secara lebih singkat. Sama seperti framework CSS dan JavaScript, Preprocessor CSS adalah sebuah tool yang akan membuat hidupmu sebagai developer lebih mudah dan fleksibel.

Beberapa contoh Preprocessor CSS adalah Sass, LESS, atau Stylus. Kamu bisa menulis atau mengubah kode secara jauh lebih simpel. Kemudian preprocessor CSS tersebut akan mengubah kode ke dalam bentuk CSS yang nantinya akan bekerja di website kamu.

Sebagai contoh, kamu ingin mengubah shade warna biru yang kamu gunakan di beberapa bagian website. Menggunakan preprocessor CSS, kamu hanya perlu mengganti satu hex value melainkan harus mengubahnya berkali-kali dalam kode CSS-mu.

5. Version Control/Git

Akhirnya sebuah skill tanpa HTML, CSS, atau JavaScript!

Kamu pasti telah mengalami banyak revisi setelah semua kerja keras dengan marking up menggunakan HTML, styling dengan CSS, dan memprogram dengan JavaScript. Jika kemudian ada yang salah saat kamu sedang menyelesaikan sebuah project, tentu kamu tidak ingin mengulangnya dari awal lagi. Version control adalah sebuah proses melacak dan mengontrol perubahan-perubahan kode kamu sehingga kamu tidak perlu mengulangi semuanya dari awal.

Salah satu software untuk melakukan version control adalah Git. Ini adalah tool untuk melacak perubahan-perubahan yang telah kamu lakukan sehingga kamu bisa kembali ke versi kerja kamu yang sebelumnya dan menemukan apa yang salah tanpa merusaknya. Ini adalah skill yang akan sangat berguna bagi kamu dan calon perusahaanmu nanti.

6. Responsive Design

Apakah kamu masih ingat masa di mana membuka website hanya dapat dilakukan melalui PC? Kebanyakan orang mungkin sudah lupa hal tersebut karena pada saat ini sangat banyak media untuk membuka website. Dari PC dalam berbagai ukuran, handphone, dan tablet.

Pernahkah kamu menyadari bahwa website yang kamu buka menyesuaikan ukurannya sendiri tanpa perlu kamu atur lagi? Ini dilakukan melalui responsive design. Memahami prinsip-prinsip responsive design dan bagaimana mengimplementasikannya saat coding adalah kunci dari front-end development.

Perlu diingat bahwa responsive design adalah bagian dari framework CSS, contohnya bootstrap. Skill-skill tersebut saling berhubungan, dan kamu bisa mempelajarinya secara beriringan.

7. Testing/Debugging

Dari website lokal yang sangat sederhana sampai website untuk bank internasional, selalu tidak lepas dari yang namanya bug. Agar website bisa berjalan dengan baik, maka kamu selalu harus menghilangkan bug yang ada. Jadi, kemampuan untuk menemukan bug dan melakukan debug adalah skillyang sangat esensial untuk front-end developer.

Ada beberapa metode untuk melakukan testing web development, yaitu functional testing dan unit testing.

Functional testing melihat fungsionalitas bagian-bagian tertentu, apakah bagian tersebut sudah melakukan apa yang kamu perintahkan dengan benar. Contohya adalah form atau databaseUnit testing adalah cara untuk menguji unit paling kecil dalam sebuah kode, yaitu unit-unit yang hanya berfungsi untuk satu operasi saja.

Testing adalah bagian yang sangat penting dari proses front-end development. Untungnya ada program yang bisa membantu mempercepat dan menyederhanakan proses testing, antara lain Mocha dan Jasmine.

8. Browser Developer Tools

Pengunjung akan melihat website kamu melalui web browser. Bagaimana browser membaca kode kamu akan berpengaruh besar terhadap kesuksesan website.

Sama seperti testing dan debugging di atas, semua web browser modern dilengkapi dengan developer toolsTool ini membantu kamu untuk melakukan test dan merapikan website secara sepesifik di dalam browser tersebut.

Hal di atas akan bervariasi dari satu browser ke browser lainnya, tetapi umumnya terdiri dari inspector dan console JavaScript. Inspectormemungkinkan kamu untuk melihat bagaimana HTML dan CSS terhubung dengan komponen-komponen di dalam browser. Kamu juga bisa mengedit HTML dan CSS secara langsung di browser tersebut.

Sedangkan, console JavaScript memungkinkan kamu untuk melihat erroryang terjadi ketika browser menjalankan kode JavaScript.

9. Building dan Automation Tools/Web Performance

Kamu mungkin sudah menyadari bahwa HTML, CSS dan JavaScript adalah tiga alat utama untuk front-end development. Dan kemudian, skill-skill lain adalah penunjang agar kamu dapat memanfaatkan HTML, CSS, dan JavaScript secara lebih efisien. Begitu juga halnya dengan automation toolsdan web performance.

Kamu bisa membangun website secanggih apapun, tetapi jika peformanya kurang baik, maka semua akan menjadi sia-sia. Peforma web adalah jumlah waktu yang diperlukan oleh website kamu untuk loading. Jika kamu mengalami hal tersebut, ada beberapa cara yang dapat kamu lakukan antara lain: optimalisasi gambar dan meminimalisir CSS dan JavaScript tanpa mengganggu fungsinya.

Program-program yang dapat membantu kamu melakukan hal ini, antara lain: Grunt dan gulp.

10. Command Line

Salah satu hal yang bisa memperbagus tampilan website adalah penggunaan Graphic User Interfaces (GUIs). Siapa yang mau mengklik baris kode di layar? Lebih menarik untuk melihat dan klik menu yang interaktif.

GUI memang dapat sangat membantu untuk web development dan coding, serta mereka juga mudah digunakan. Tetapi, GUI juga mempunyai batasan-batasan untuk beberapa aplikasi. Ada saatnya di mana kamu tetap butuh untuk membuka sebuah terminal di komputermu agar dapat menuliskan command line.

Meskipun sebagian besar kerjamu menggunakan GUI, kamu akan tetap dipercaya jika kamu menguasai command line.

SOFT SKILL

Di luar hard skill yang disebutkan di atas, kamu juga tidak boleh melupakan soft skill seperti komunikasi dan kemampuan bekerja di dalam tim. Soft skillini sangat diperlukan baik di bidang industri teknologi, maupun di semua bidang lainnya. Jangan lupa untuk selalu mengasah profesionalitasmu seiring kamu menjalani karir di bidang yang paling inovatif ini!

Seperti profesi yang lain, ada bagian di mana menjadi seorang front end developer itu menyenangkan dan ada bagian tidak enaknya pula.