Prioritas Belajar Teknologi Pemrograman di tahun 2017

Hallo guys,  selamat datang di candralab studio, saya akan cerita sedikit  tentang tahun 2016. Tahun lalu adalah tahun transisi dari programmer Freelance dan mulai beralih ke pekerjaan kantoran yang kebanyakan mengentri data, mengetik  surat dan laporan. Sedikit info dari saya sebagai penulis, saat ini saya bekerja full time  sebagai tukang ketik dalam arti sebenarnya, bukan lagi mengetik kode namun mengetik berkas berkas kerjaan kantor sehingga Blog ini agak terbengkalai. Saya sudah sangat jarang menulis bahkan bulan desember tahun lalu hanya sempat menulis satu artikel.

Namun, bukan berarti saya sudah tidak memberi perhatian pada blog ini. Saya sendiri sadar bahwa waktu untuk menulis dan coding memang tidak sebanyak dulu, namun saya berusaha mulai awal tahun ini akan mengupdate website ini setiap hari.  Pekerjaan sebagai programer selama lebih dari enam tahun membuat saya mencintai kode terutama kode PHP dan Java (android). dan tidak bisa hilang begitu saja. Bahkan kadang saya kangen dengan masa masa coding mengejar deadline dengan sistem kebut semalam.

Ada banyak hal yang berubah dalam dunia IT termasuk teknologi bagi para programer dan ada peralihan teknologi serta platfrom yang sangat cepat. Tahun ini ada beberapa  teknologi yang sangat menarik untuk dipelajari  diantaranya adalah sebagai berikut:

  1. Android Studio 
  2. PHP Modern Programing
  3. HTML5 Platform
  4. Blogging Platform
  5. Cloud Platform
  6. Design Grafis for Developer
  7. IoT
  8. Rich client /Desktop App
  9.  Scripting
  10. Network & Infrastruktur

Loh banyak banget ya? Sebenarnya saya tahun ini cuma fokus ke dua hal yaitu Android Studio dan PHP karena dari dulu  lebih dari 80% proyek yagn saya kerjakan berbasis android dan PHP. Saya urutkan teknologi diatas berdasarkan prioritas.

Saya tidak membuat judul pasaran dengan nama ” 10 teknologi wajib yang perlu anda pelajari tahun 2017″ karena  saya yakin anda sudah banyak membaca hal tersebut entah di blog luar negeri ataupun blog lokal. Ingat bahwa 10 teknologi diatas adalah pilihan penulis sendiri yang secara pribadi menarik untuk di pelajari dan tentunya ada manfaatnya bagi pekerjaan programer di Indonesia yang pasarnya masih didominasi web dan android.

Mengapa 10 teknologi itu menarik menurut seorang candra? Berikut saya tulis alasannya, semoga anda tertarik dan sependapat dengan apa yang saya tulis.

Android studio

Saya yakin anda yang mengunjungi blog ini sebagian karena mencari tutorial Android. Hampir semua tutorial Android dibuat dengan Eclipse yang saat ini sudah tidak dikembangkan oleh Google. Android Studio adalah next step dalam pemrograman Android. Jika anda masih cinta dengan Eclipse, tinggalkan secara bertahap dan konversi semua proyek eclipse ke Android studio.

Android studio menawarkan berbagai fitur yang tidak ada di Eclipse. Selain itu Tampilan UI Designernya juga sangat mudah dipakai, fitur build gradlenya juga canggih tanpa harus meletakan library jar ke folder lib dan segudang fitur lainnya. Anda bisa memulai belajar android studio dari Video Google IO

Selain 3 video diatas, saya sangat menyarankan membeli buku “Android Programming, The Big Nerd Ranch Guide (2nd Edition) “. Buku Edisi kedua ini mengajarkan teknik memprogram Android dengan Android Studio. Buku ini sangat berimbang dalam mengajarkan cara efektif memakai tool di Android studio dan teknik pemrograman Android itu sendiri.

PHP Modern Programing

Sejak PHP populer di Indonesia sekitar tahun 2000-an, sudah ada puluhan dan mungkin ratusan buku yang mengajarkan tentang PHP yang polanya hampir sama yaitu koding dengan gaya struktural dan menggunakan fungsi klasik mysql (mysql_query($sql) or die(” You FOOL!”).

Pola pemrograman yang sudah sangat kedaularsa ini sudah seharusnya di upgrade. Anda tidak perlu harus belajar Framework dengan segudang fitur. anda cukup mempelajari PDO sebagai ganti fungsi klasik mysql_query() dan mengupgrade gaya pemrograman ke OOP.

Bagi pemula PHP, PDO adalah teknik pemrograman database Universal. saat anda berganti database anda cukup mengganti 1 baris kode  dibagian koneksi Database .  OOP tidak kalah penting,  anda akan mudah masuk ke Framework PHP manapun dengan teknik ini. Tapi jika anda dari Programer struktural tiba tiba ke Laravel atau Yii saya yakin anda akan terseok seok. Ok lah untuk CRUD anda bisa 5 menit dengan Framework, namun saat anda ketemu project real dengan Logic bisnis berbeda, baru terasa bahwa memakai framework tanpa memahami OOP itu sama saja anda  berlari di lorong gelap penuh dengan paku dan duri, anda bisa sampai di ujung lorong (proyek anda selesai) tapi anda sampai disana dengan berdarah darah :).

Untuk memulai anda bisa membaca 6 Great Books for Learning PHP Object-Oriented Programing yang ditulis oleh w3guy.com.

HTML5 Platform

Teknologi HTML5 ini sebenarnya adalah sekumpulan teknologi browser yang terdiri dari teknologi HTML, Javascript dan PHP dengan berbagai tool dan framework di dalammnya. Untuk HTML5 ini saya sarankan fokus saja ke satu platfrom atau framework. Hidup itu pilihan dan emmang kita harus memilih. Dua framework yang sangat populer adalah React dan AngularJS. Teknologi lain yang perlu adalah CSS Framework , pilih antara Bootstrap, Foundation Framework atau puluhan framework  lain  di usablica.github.io/front-end-frameworks/compare.html?v=2.0.

Selain itu sebaiknya anda juga mengenal teknologi web seperti Push notification, Websocket, IndexDB dan teknologi lain seputar Progressive WebApp. Anda bisa mulai mengenal teknologi ini di html5test.com dan caniuse.com.

Blogging Platfrom

Ada dua Blog platform yang sangat populer yaitu WordPress dan Blogger. Perbedaan mendasar dari keduanya adalah yang satu open source dan yang kedua adalah Software as Service (SaaS). Untuk WordPress kita bisa mengembangkannya dengan membuat thema baru atau plugin baru.

Blogger tidak sebebas WordPress. Yang bisa kita lakukan adalah membuat thema Blogger dan membuat Widget.Sebenarnya Ada satu lagi fitur untuk Programer di Blogger yaitu Blogger API yang memungkinkan kita mengintegrasikan blogger ke aplikasi kita . Contoh sederhananya misalkan kita membuat program sederhana seperti ini ” Anda Membuat aplikasi PhotoTravel. Saat anda menjempret kamera, otomatis foto akan di upload ke Blogger lengkap dengan lokasinya “. Blogger API sangat powerful namun sekali lagi anda harus familiar dengan Google Platform dan Restful API.

Cloud Platform

Cepat atau lambat, teknologi ini akan populer di Indonesia. Era Hosting dan VPS tradisional akan tergeser dengan teknologi Cloud. Cloud Platform menawarkan kemudahan mengelola Infrastruktur Server dan berbagai teknologi didalamnya. Kita tidak perlu lagi memikirkan Rack server, Install OS server, konfigurasi jaringan, seting keamanan server dan sebagainya. Dengan Cloud anda fokus pada Logic Bisnis aplikasi anda. Ada 3 platform populer untuk Cloud yaitu Google Cloud Platform (GCP), Amazon Web Service (AWS) dan Microsoft Azure.

Sayangnnya semua teknologi Cloud ini berbayar. Untungnya layanan cloud ini menawarkan “Free tier” dan “Trial” Gratis untuk programer amatir atau yang sedang coba coba. Tapi walaupun Gratis, anda harus menyiapkan Kartu kredit untuk mencobanya karena tentunya Perusahan ini berharap anda akan mengupgrade paket gratis tersebut ke berbayar. Terus bagaimana bagi yang tidak punya Kartu kredit? Tenang aja bro, gunakan saja VCC. Salah satu penjual VCC yang cukup terpercaya yaitu vccmurah.com. Hanya dengan 75.000 rupiah anda dapat VCC yang bisa anda pakai di Amazon Webservice. Untuk mencoba Cloud Platform Google atau Azure, anda harus beli VCC Google developer dengan harga 445 Ribu, untuk pastinya tanya penjualnya.  Saya tidak iklan disini, kebetulan aja kemarin beli yang 75 ribu dan sukses di AWS.

Kenapa AWS bisa pakai VCC murah sedangkan Google dan Microsoft tidak bisa ? karena AWS berbaik hati membolehkan Prepaid Credit Card sedangkan Google dan Microsoft lebih ketat, intinya Google dan Microsoft itu PELIT. Karena AWS sudah berbaik hati maka kemungkinan besar tutorial AWS akan banyak di website ini :)  Horeeey!

Desain Grafis For Developer

Untuk poin ini memang spesial dan sangat khusus buat saya sendiri. Jujur saja saya “Suck at design” dan rata rata developer juga demikian. Maklum saja, developer berpikir dengan secara logis dan sistematis. Semantara Desainer lebih menggunakan perasaan dan kebebasan Imajinasi dalam karyanya. Saya sadar bahwa saya tidak akan jadi Desainer Ahli, namun target saya hanya ingin bisa menjadi desainer amatir yang bisa editing foto sederhana, croping atau membuat logo,icon  atau Header terlihat lebih profesional. Oleh karena itu bagi anda yang bernasib sama seperti saya bisa mengikuti video tutorial GIMP dan Inkscape di Youtube di chanel PhotoAdvanced dan PhotoAdvanced2 .

Mengapa pakai Inkscape dan GIMP? karena dua duanya Open source. Anda boleh kok pakai Photoshop atau  Adobe Ilustrator. Namun sekali lagi saya cari yang free dan tidak perlu jadi pembajak guys :). Hidup itu pilihan!

IoT (Internet of Thing)

Arduino dan Rasperberry PI adalah pilihan saya. Ada banyak platfrom IoT diluar sana, namun dua platform diatas yang paling banyak komunitasnya. Hardware untuk Arduino dan PI juga banyak yang menjualnya di indonesia.

Yang lebih menarik, Untuk RasperBerry PI bisa dipakai Android Things. Platfrom IoT yang menggunakan Java dan Android sebagai basisnya. Jika anda ingin IDE untuk IoT silahkan explorasi di http://www.instructables.com. Pilih kategori Arduino dan PI.

Rich Client /Desktop App

Kita semua tahu era kejayaan Aplikasi Desktop berlalu namun bukan berarti hilang sama sekali, banyak aplikasi yang tidak bisa dipindahkan ke web seperti aplikasi internal perusahaan yang sifatnya “Off the grid” dari internet. Alasan lain, sebagus apapun teknologi web, dari sisi performa belum bisa mengalahkan kecepatan aplikasi desktop. Teknologi ini masih di kuasai  Microsoft WPF dan Adobe Air dan teknologi lain seperti java SE, C++ atau Delphi.

Namun dari semua pilihan itu, saya fokus pada Electron, teknologi terbaru dari GitHub. Electron pada intinya adalah framework desktop yang dibangun dengan teknologi Web. Kelebihan utamanya Cross Platfrom dan Opensource. Yang dibutuhkan hanya kemauan belajar, tidak perlu cracking atau bayar lisensi.

Scripting

Scripting disini lebih berhubungan dengan administrasi server, bukan teknologi scripting secara umum. Tahukah anda apa cara paling efesien meremote server? dengan menggunakan Command line dan script. Baik itu server Linux, Windows, Mainframe IBM ataupun Perangkat jaringan seperti Cisco dan Mikrotik bisa di kelola dengan script. Namun teknologi ini juga sangat luas jadi saya sendiri fokus di BASH dan Powershell. Bash di pakai untuk administrasi Linux/ Unix Server dan Powershell untuk server Microsoft. Sekali lagi Hidup itu pilihan!

Tempat awal belajar Bash scripting di http://www.tldp.org/LDP/abs/html/ dan untuk Powershell bisa mulai dari http://powershelltutorial.net/.

Network dan Infrastruktur

Jika anda Murni Programer poin 10 ini tidak wajib kok, namun jika anda mengelola server perusahaan atau berurusan dengan VPS dan Cloud sangat saya rekomendasikan tetap belajar topik ini. Topik ini sangat luas memang namun coba disesuaikan ajad engan kebutuhan. Misalkan server yang kita kelola Ubuntu, fokusnya ubuntu saja, atau mungkin kita menangani jaringan dengan Router Mikrotik, udah Fokus aja di situ.

Jika anda mahasiswa, empat tahun ada kuliah itu tidak mungkin anda menguasai semuanya. Cukup fokus ke satu bidang atau teknologi dan jadilah spesialis disitu. Jika anda bekerja sebagai programer, fokus saja di teknologi yang berhubungan dengan bahasa pemrograman yang anda pakai. JANGAN BELAJAR hanya mengikuti TREND. trend itu terus berubah dan berganti, belajarlah yang bisa mendatangkan keuntungan bagi kita entah Lulus Kuliah jika anda mahasiswa, menjadikan sebagai topik penelitian jika anda dosen IT, meningkatkan Gaji anda jika anda programer perusahaan dan MENINGKATKAN PENDAPATAN anda jika anda Freelance.

Hidup itu singkat, waktu kita tidak banyak. Pilihlah teknologi yang akan dipelajari secara bijak!  sekali lagi Hidup itu pilihan, Choose Wisely!

7 Replies to “Prioritas Belajar Teknologi Pemrograman di tahun 2017”

  1. Trima kasih mas candra, artikel2nya sangat membantu, dengan bahasa yg mudah dpahami, download source mudah, serta info2 yg mnarik..

Tinggalin komentar dong!