9 Ilmu (Teknologi) yang Saya Pelajari selama Tahun 2017


Update terakhir:

Saya tidak begitu pandai membuat rencana. Kadang sering mengubah rencana secara tiba-tiba.

Sebelum masuk tahun 2017 saya membuat rencana ingin belajar berbagai macam teknologi. Tapi malah melenceng, alias tidak sesuai dengan yang direncanakan.

…dan sekarang saya ingin me-review apa saja yang sudah dipelajari sepanjang tahun 2017.

1. Membuat Blog dengan Hugo

Akhir tahun lalu, saya mulai mengenal Hugo karena menonton video benchmark-nya di Youtube. Hugo bisa me-render 5000 halaman dalam beberapa detik. Hebat!

Hal ini membuat saya tertarik untuk mencobanya.

Hasilnya: sekrang saya punya tiga blog yang menggunakan Hugo.

Awal-awalnya memang sulit, karena banyak hal baru yang belum dipahami. Namun, sekarang saya sudah merasa terbiasa dan sudah bisa membuat template Hugo sendiri.

Proses belajarnya:

  1. Mengenal konsep Hugo dan Mulai mencoba membuat blog dengan Hugo
  2. Belajar deploy
  3. Belajar buat template
  4. Belajar best practice, optimasi, SEO, dll.

Perubahan yang dirasakan setelah menggunakan Hugo:

  • Ngeblog terasa lebih produktif, karena bisa dilakukan offline;

  • Menjadi lebih senang menulis blog daripada status 😄;

  • Lebih jarang membuka Blogger dan Wordpress;

  • Lebih sering buka teks editor;

  • Lebih aktif di Github, karena blognya dihosting di sana.

2. Git dan Github

Karena sudah mulai menggunakan Hugo, saya harus membiasakan diri untuk menggunakan Git dan Github.

Semua yang saya pelajari tentang Git dan Github sudah saya catat di sini. Sebagian mungkin masih belum, ditunggu saja catatan berikutnya.

Git dan Github adalah tools yang harus digunakan programmer. Karena dengan Git dan Github, kita bisa:

  • Kolaborasi dengan programmer yang lain;
  • Mengatur versi source code;
  • Menyimpan semua versi source code.

3. Membuat Aplikasi Android

Saya mengikuti akademi Dicoding: Menjadi Android Developer Expert. Alhamdulillah saya punya poin di atas 2000—dari hasil challenge—untuk bisa mengikuti kelas ini secara penuh dan bisa lulus tepat waktu.

Banyak ilmu yang didapat dari akademi ini. Selain itu, dapat buku dan token beasiswa untuk 8 kelas yang lain.

Project aplikasi yang dibuat dalam akademi ini:

  • Cataloque Movie (basic, UI/UX, akses API)
  • Kamus Indonesia-Ingris (Database SQLite)
  • Cataloque Movie + Widget

Akademi ini saya rekomendasikan buat yang mau belajar Adroid lebih dalam, karena materinya lengkap dan sudah diverifikasi oleh Google.

4. Membuat Game dengan Construct

Satu lagi akademi Dicoding yang saya ikuti adalah Belajar Membangun Game HTML5 dengan Construct.

Saya menggunakan Linux, Construct2 tidak ada untuk Linux. Namun, masih bisa menggunakan Construct3 yang berbasis web di: https://editor.construct.net/.

Setelah mengikuti kelas ini, saya menjadi paham konsep pembuatan Game. Meskipun di kelas ini tidak melakukan coding.

Berikutnya saya ingin coba belajar membuat game dengan game engine yang lebih canggih seperti Unity dan Godot.

5. Slim Framework

Orang-orang ingin belajar Laravel, saya malah mencoba Slim Framework. Slim Framework memang belum sepopuler Laravel. Tapi tidak ada salahnya mencoba.

Slim Framework memang tidak cocok dibandingkan dengan Framework besar. Karena Slim adalah micro framework.

Di Slim Framework:

  • Kita bisa tentukan sendiri libaray yang akan digunakan
  • Komponen Laravel dapat juga digunakan di Slim

Saya belajar Slim Framwork untuk belajar membuat back-end API.

6. Nodejs

Dulu saya belajar Javascript dan JQuery, namun setelah kehadiran Nodejs saya sedikit tertinggal. Karena banyak tools yang belum saya pelajari.

Beberapa teman sudah mencoba duluan kecanggihan dari Nodejs. Saya malah mulai belajar tahun ini. Tapi itu tidak apa-apa, karena tidak ada kata terlambat untuk sesuatu yang positif.

Saya belajar dari W3Schools. Tutorialnya lengkap untuk memulai.

Sejujurnya, saya masih pemula sekali dan belum terlalu paham dengan ekosistem Javascript zaman sekarang.

7. Serverless

Server = komputer server

Less = seidkit

Artinya dengan serverless kita tidak lagi merakit sendiri server untuk production dari nol. Semua fasilitas sudah disediakan, mulai dari database, hosting, cloud, analytic, dll.

Ada banyak platform serverless yang bisa dicoba. Sebagian ada yang gratis, ada yang trial, dan ada yang berbayar.

Saya sudah mencoba beberapa: Heroku, Google Cloud, Firebase, OpenShift, IBM Bluemix, dll.

8. Continous Integration (CI)

Awal kenal CI ketika mau deploy Hugo di Gitlab. Setelah baca-baca dari beberapa referensi, akhirnya paham juga maksud dari CI dan juga DevOps.

CI yang saya pahami adalah server yang menyediakan layanan otomatisasi saat melakukan developmen hingga deployment dan production. CMIIW 😄.

Saat ini saya sudah mencoba CI di:

  • Gitlab
  • Heroku
  • Travis CI
  • Netlify

Sebenarnya masih banyak lagi yang belum dicoba.

9. SEO dan Copywriting

Sebagai seorang Blogger, dua ilmu ini sepertinya harus dipelajari. SEO untuk mendatangkan trafik dan Copywriting untuk menjual produk.

Saya banyak belajar dari:

Dan juga blog-blog luar, seperti:

Penutup…

Mungkin ada yang akan bertanya.

Kenapa belajar berbagai macam hal atau teknologi?

Semua itu kan tidak dipakai di dunia kerja. Pelajari saja yang penting dan yang menghasilkan uang.

Saya setuju dengan itu, pelajari saja apa yang dibutuhkan dan mulai membuat produk.

Namun, satu-satunya alasan utama saya untuk belajar adalah karena ingin tahu dan itu terasa menyenangkan.

Saya pernah belajar karena ingin lulus UAS, dan itu terasa menyakitkan karena merasa dipaksa belajar sesuatu yang tidak diinginkan.

Seperti katanya om Steve Jobs:

The only way to do great work is to love what you do.