-->
KOMPUTER67
Lebih dari sekedar belajar !

Skill Yang Jarang Dimiliki Oleh Para Programmer



Kita bisa lihat startup yang sudah sukses dengan aplikasinya yang memiliki user hingga milyaran, bahwa mereka selalu menggunakan bahasa pemrograman dan framework yang modern. Bukan bahasa pemrograman/framework yang jadul ! Mengapa harus modern ? Jelas tujuannya agar aplikasi bisa berjalan lancar walaupun memiliki lalu lintas yang cukup tinggi.

Namun fakta yang mengejutkan adalah hampir semua fresh graduate tidak ada yang mengerti mengenai hal ini. Karena saat di bangku kuliah, mereka hanya diajarkan bahasa pemrograman pada umumnya saja. Bahkan itu aja belum tentu dia menguasai sepenuhnya. Maka dari itu dunia kerja dan dunia kuliah itu sangat berbeda. Jangan sampai Anda sudah bangga setelah lulus kuliah.

Taukah Anda tentang hal ini ?


grunt

 gulp

webpack

transpiler

jasmine, mocha, dan chai
Taukah Anda istilah-istilah tersebut ? Jika tidak, maka Anda benar-benar sudah ketinggalan jaman. Apakah hal-hal semacam itu diajarkan di perkuliahan ? Mungkin beberapa saja, namun yang lainnya mungkin tidak sama sekali.

Nah, maka dari itu sangatlah penting untuk kita belajar lebih dalam lagi dengan fitur-fitur modern agar memudahkan kita dalam pembuatan sebuah aplikasi maupun web.

Mungkin bagi Anda sudah merasa bahwa tak perlu belajar hal-hal semacam itu kok, dengan kemampuan yang saya miliki saya juga sudah bisa membuat web dengan desain yang responsive dan memiliki sistem yang baik. Tapi saya peringatkan, hal tersebut sama saja seperti orang tua kita yang memiliki HP jadul lalu berkata 'yang penting HP ini bisa dibuat untuk berkomunikasi kan ? Sama HP yang modern juga sama-sama untuk komunikasi kan ? Jadi gak ada bedanya'.

Nah, hati-hati untuk para programmer yang memiliki pemikiran semacam ini. Karena jaman terus berubah dan Anda harus mempelajari hal-hal yang baru agar persaingan dalam dunia programming Anda bisa menguasainya. Mungkin diluar sana programmer-programmer yang tidak membaca artikel ini sudah merasa cukup ilmunya. Nah saatnya bagi Anda untuk berubah dan mempelajari hal baru.

Memang ini sebenarnya menjengkelkan kita. Termasuk saya, saya sendiri juga kadang bingung sendiri, lha cuman bikin web aja banyak sekali framework-frameworknya, harus belajar itu ini itu ini. Baru selesai belajar itu, eh ada yang baru lagi..

Itulah yang saya pikirkan sebenarnya, namun memang kita tidak bisa menolaknya, bahwa zaman teknologi terus berubah, pasti ada orang yang selalu membuat sesuatu agar lebih efisien dan efektif. Tentunya kita harus memilih yang efisien dan efektif dong, walaupun itu harus dipelajari namun itu sebuah nilai tambah bagi kita sendiri.

Pemrograman Modern


CSS dan HTML sekarang dirender dengan javascript

Kita tentu sudah terbiasa dengan memisahkan HTML, javascript, dan CSS.  Namun taukah kamu bahwa facebook mengajarkan hal yang berbeda yaitu bahwa HTML dan CSS ditulis di dalam javascript ! Itulah Frontend Framework yang bernama React.

Mengapa hal tersebut dilakukan ? Memang sepertinya terlalu ribet jadinya. Tapi bila Anda mencoba melakukannya, itu semua akan terbiasa sendiri. Hal tersebut dilakukan dengan tujuan agar tampilan web bisa lebih dinamis jika ada perubahan.

Selain itu hal ini dilakukan agar bisa berjalan dengan baik di server stack seperti NodeJS. React tentunya bukan framework tercepat. Diluar sana masih ada Angular, Vue, Ember, dan lain-lain. Tapi saat ini banyak sekali developer yang menggunakan React, sehingga apabila kita mengalami error atau kendala yang kita belum menegerti, kita bisa mencari solusinya dengan cepat di google.

Apabila Anda menggunakan framework React, maka cobalah untuk menggunakan Redux yang digunakan sebagai state management.

Redux


State management adalah aspek yang cukup sulit dalam development. Redux sangat berguna sekali untuk state management. Selain itu, redux juga berguna untuk memudahkan kita dalam mengimpelementasikan fitur-fitur seperti undo/redo yang tidak terbatas dan live-editing time travel.

Redux ini berasal dari komunitas React. Tapi redux ini tidak terikat dengan React. Anda bisa menggunakan redux di berbagai framework javascript seperti React, Angular, Backbone, Cycle.js,dll. Apabila Anda tertarik mempelajari redux ini lebih dalam lagi, silahkan pelajari disini :
https://www.ibm.com/developerworks/library/wa-manage-state-with-redux-p1-david-geary/index.html

Client Side Rendering

Taukah kamu proses rendering pada browser di sisi client ? Pada umumnya browser akan menerima HTMl dari server lalu merendernya di browser. Nah kebalikannya, kalau kita sedang membuka navigasi lain, maka browser kita akan melakukan refresh dan server akan memberikan HTML yang baru sebagai halaman yang baru. Inilah yang disebut sebagai server-side rendering.

Saat ini jaman sudah berubah, dalam dunia pemrograman modern, client side rendering digunakan sebagai gantinya. saat kita ingin mengganti navigasi, tidak perlu refresh berkali-kali. Karena saat ini sudah ada JSON yang diambil browser dari server yang menggunakan script AJAX yang biasa dikenal REST API. Lalu konten pada browser akan berubah dengan sendirinya secara dinamis tanpa perlu refresh berkali-kali. Ini tentu sangat nyaman dilihat dan user friendly.

Lalu mengapa harus client side ? Karena ternyata data yang digunakan untuk AJAX ini tidak sepenuhnya selalu di proses melalui server side. Terkadang data ini juga disimpan dalam memory atau index sehingga data yang diterima dalam format JSON ini terkadang sudah pernah dirender sebelumnya.

Nah tentunya masih kurang kalau cuman itu aja. Bagaimana dengan web pemesanan tiket online yang harganya selalu berubah-rubah. Mereka menggunakan ElasticSearch. ElasticSearch ini memiliki output berupa JSON sehingga untuk memanipulasinya kita bisa menggunakan AJAX.

Jika Anda penasaran mengenai ElasticSearch ini, Anda bisa pelajari disini :
http://www.tutorialspoint.com/elasticsearch/

Linting Untuk Menganalisa Kode

Pernah mendengar kata linting ? atau linter ? Ya, linter digunakan untuk menganalisa kode kita seperti apakah ditemukan bug atau error. Sedangkan linting adalah proses saat menjalankannya.

Testing ini sebenarnya bukan hanya sekedar mencari bug, tapi juga mengecek apakah kita sudah memanggil API dengan benar dan efisien atau belum. Juga untuk callbacks apakah sudah dilakukan dengan benar atau tidak.

Testing ini tentu sangat penting sekali dimanapun kita bekerja. Karena ini sangat menentukan bisnis yang sedang berjalan. Apabila ada error yang kita tidak ketahui, maka hal tersebut bisa berdampak besar untuk kedepannya. Contoh kecil adalah kita lupa memberikan ; atau titik koma. Pada beberapa script masih bisa berjalan tanpa titik koma pada akhiran coding. Tapi saat script tersebut di minify, maka tentunya akan error.

Selain itu kita juga harus mentesting library yang kita gunakan di dalam frontend. Apakah library sudah terload dengan benar ketika halaman dipanggil dan apakah ada error atau tidak. Tools untuk mengecek ini bernama Jest. Selain itu Anda juga bisa mengkombinasikan dengan Enzyme, yaitu sebuah tools dari Airbnb.

Saya Berpikir 'Saya bingung dengan semua yang ditulis diatas', apa saya harus belajar lebih lagi ?


Tentu jawabannya adalah tidak sepenuhnya. Seperti yang saya jelaskan diatas, bahwa jaman teknologi sekarang sudah banyak yang berubah, memang seharusnya kita mempelajari hal-hal yang baru agar kita tidak ketinggalan. Namun hal tersebut sebenarnya tidak wajib. Karena yang terpenting adalah hasilnya.

Anda bebas sih boleh belajar atau tidak, namun syaa sarankan untuk mempelajari hal-hal diatas karena dengan Anda mempelajari hal-hal yang baru tersebut, Anda bisa lebih efektif dalam bekerja. Tapi tentu orang berbeda-beda, ada yang tetap tidak mau belajar dan tetap ingin mengembangkan apa yang ia tau sendiri. Tapi itu tidak masalah.

Yang dilihat user itulah yang penting !

Nih adalah hal yang sangat penting. Jika kita mampu belajar bermacam-macam hal, tools, framework, bahasa pemrograman, namun kita tidak bisa membuat sebuah app/web yang dapat bermanfaat bagi user, itu sama saja tidak ada gunanya. Lebih baik Anda mengerti sedikit namun bisa membuat hal yang bermanfaat bagi user. itu jauh lebih baik. Maka dari itu, saya sangat menyarankan untuk Anda sebaga programmer pikirkanlah apa yang dilihat user.

Jangan apa yang tidak dilihat user seperti codingan kita,dll. Ok tentu bukan berarti kita bikin codingan asal-asalan jadi yang penting enak dilihat oleh user. Hati-hati terhadap pemikiran seperti ini. Karena ini bisa dimanfaatkan para hacker untuk mencari kelemahan dari app/web kita. Sehingga walaupun apa yang dilihat user itu penting, namun kita juga harus profesional dalam merancang sebuah app/web.

Saatnya Belajar Dan Praktek !

Seperti slogan yang saya berikan di komputer67 ini, bahwa praktek itu jauh lebih penting daripada cuman belajar aja. Karena saat ini banyak sekali orang-orang yang hanya memiliki pengetahuan yang tinggi bahkan terbilang sangat pintar tapi ya gak bisa praktek.. Mana ada programmer kayak begituan dibutuhkan ? Tentu tidak ada yang mau ! Maka dari itu apabila Anda masih newbie, silahkan belajarlah beberapa hal berikut dan praktekanlah bahkan cobalah untuk membuat app/web sendiri.

Anda bisa belajar pemrograman disini :
w3schools
Codecademy
Code Avengers
CodeSchool
Teamtreehouse

Anda butuh ebook pemrograman ? Anda bisa download disini


Jangan cuman jadi programmer, jadilah Startup !

Banyak dari kita lulusan hanya jadi programmer, itu aja udah seneng banget. Namun bagaimana jika kita berhenti memikirkan untuk jadi programmer melainkan ingin jadi startup ? Tentu startup sangat jauh lebi sulit dari hanya cuman programmer. Namun taukah kamu apabila kamu berhasil menjadi startup yang sukses, maka kamu akan benar-benar memiliki kebanggaan yang luar biasa !

Lalu bagaimana sih caranya jadi startup agar sukses ? yuk baca artikel selanjutnya :


INGIN LIVE CHAT ? INGIN TANYA JAWAB GRATIS ? YUK LANGSUNG SAJA CHAT DENGAN KAMI DI FANSPAGE KOMPUTER67

    Blogger Comment
    Facebook Comment

0 komentar :

Post a Comment