Boosting your skill to conquer the tech world

Sebenernya banyak banget cara untuk improve skill teman-teman sebagai programmer atau software engineer, dalam kesempatan kali ini gw ingin menyampaikan hal yg menurut gw penting tapi jarang dibagikan, yaitu mengejar perkembangan teknologi.

Mengejar Perkembangan Teknologi

Saat ini perkembangan teknologi begitu pesat, sehingga kalau kita tertinggal dengan teknologi, skill-skill yang kita miliki bisa jadi usang. Teknologi 2 hingga 5 tahun yang lalu sudah banyak yang ditinggalkan atau diperbarui, dan bukan tidak mungkin teknologi saat ini tidak lagi berlaku 2-5 tahun ke depan.
Top languages over the years
Top languages over the years

Ruby Objective-C Shell C C++ PHP C# TypeScript Java Python JavaScript 2 4 8 6 10 2014 2016 2018 2020 Ranking

sumber: https://octoverse.github.com/#overview
Nah ini contoh mengenai bahasa pemrograman. Ini merupakan grafik popularitas bahasa pemrograman di github seiring dengan waktu. Tapi informasi ini jangan ditelan mentah-mentah, ini hanya salah satu gambaran saja mengenai cepatnya perubahan atau perkembangan teknologi.

Banyak ilmu teknologi yang tidak didapat dari pendidikan formal

  • Git
  • Docker
  • Kubernetes
  • Cloud
  • CI/CD
  • Quality Gate
  • Code Review
  • Static Analysis
  • Caching
  • Rest API
  • Automated test
  • dll

Percayalah bahwa ketika teman-teman masuk dalam dunia kerja, akan banyak sekali berjumpa dengan teknologi yang tidak diajarkan dalam pendidikan formal. Misalnya: ...

Teknologi-teknologi ini ga gw dapet sewaktu kuliah, tapi dipake dalam kerjaan sehari-hari.

Nah ini gw mau sedikit cerita pengalaman gw tentang git. Jadi ketika kuliah, gw udah nyobain git, karena gw udah denger cerita-cerita tentang git. Kemudian gw cerita ke temen gw, dia pinter, tapi kalau dikasih tau susah. Akhirnya dianggap angin lalu aja gitu. Di kemudian hari gw bekerja masuk ke sebuah perusahaan bareng dengan temen gw itu, ternyata di perusahaan tersebut menggunakan git.

Memang saat itu requirement nya tidak diwajibkan bisa git, untuk freshgrad bisa belajar ketika mulai bekerja. Namun sebagai freshgraduate (bahkan gw saat itu masih kuliah, belum lulus), di mata perusahaan, gw ada nilai lebih, karena gw langsung bisa menggunakan git, sedangkan temen gw harus belajar dulu. Nah yang bisa gw lakukan ketika itu adalah mempelajari git lebih dalam lagi. Hingga ada suatu momen, ketika lagi mencari strategi branching yang sesuai, gw memberanikan diri untuk mengajukan solusi, yang akhirnya digunakan.

Gw merasa beruntung karena gw banyak mendapat informasi dari dunia luar. Terkait git tadi, gw rasa itu belum tentu terjadi kalau gw hanya mengandalkan ilmu yg gw dapat dari kuliah saja, atau dari teman saja.

Di mana mencari sumber informasi?

Nah sekarang yang menjadi pertanyaan, di mana harus mencari sumber informasi nya? Jawabannya di mana saja.

Buka mata buka telinga, tangkap informasi sebanyak-banyaknya semampu teman-teman. Kuncinya adalah tangkap aja dulu informasi nya, diproses nya belakangan, diolahnya nanti, kumpulin dulu data-datanya. Seiring waktu, teman-teman akan mendengar informasi informasi yang berulang, minggu lalu dapet informasi tentang git, minggu ini dapet lagi, minggu depan dapet lagi. Nah kalau sudah mendapat informasi yang berulang tentang suatu topik, itu merupakan indikasi bahwa teman-teman bisa mulai untuk olah tu informasi nya. Eh itu git apa ya? konsep nya seperti apa ya? cara kerjanya gmn? Teman-teman boleh mulai pelajari tentang topik nya, gw saranin ga usah terlalu dalam, pahami konsep nya pelajari dasar-dasarnya. Ketika nanti dalam pekerjaan atau dalam proyek personal ternyata teknologi nya digunakan, baru teman-teman perdalam lagi tentang teknologinya.

Gw akan coba membagikan sumber informasi pribadi gw, kalau memasak, istilah nya resep gw lah.

Agregator Berita

Ini merupakan sumber informasi utama gw, khusus nya di awal-awal karir gw. Ketika gw banyak waktu luang, jadi gw sisihkan untuk baca berita terkait teknologi.

Dulu biasa nya gw sambil commuting di krl gitu sambil baca-baca. Jadi temen-temen kalau punya luang bisa disisihkan untuk baca berita.

Terus apa aja sumber-sumber berita gw.

reddit

  • /r/programming
  • /r/php
  • /r/rust
  • /r/drupal
  • /r/webdev

Ini sumber pertama gw, ada yang pernah denger? Di reddit ini temen-temen bisa cari informasi apa aja, baik tentang teknologi maupun yang lain.

Sayang nya reddit ini banyak di blokir oleh ISP, gw sendiri sampe langganan VPN demi reddit.

Nah kalau temen-temen bisa akses reddit, silahkan baca-baca di sana, banyak sekali sumber informasi yang bisa didapat. Ini beberapa contoh subreddit yang gw ikuti.

hackernews

Untuk teman-teman yang ga bisa akses reddit bisa baca hackernews, ini sumber alternatif gw selain reddit. Hackernews ini lebih khusus tentang tech.

twitter

Teman-teman juga bisa ngikutin berita seputar teknologi di twitter. Di twitter ini teman-teman bisa ikutin tokoh-tokoh dalam dunia teknologi, produk-produk teknologi, ataupun perusahaan-perusahaan teknologi.

Buletin

Sumber gw berikutnya adalah buletin (newsletter). Buletin ini merangkum berita-berita populer yang terjadi dalam kurun waktu tertentu, ada yang mingguan ada pula yang bulanan. Ini cocok untuk teman-teman yang waktu luang nya lebih sedikit, jadi bisa baca seminggu atau sebulan sekali.

Mingguan

  • Awesome PHP (libhunt)
  • Awesome Rust (libhunt)
  • The Weekly Drop
  • The Overflow (Stack Overflow)

Bulanan

  • Jetbrains Newsletter
  • PHP Annotated (Jetbrains)
  • Github Explore
What sources of information do you use in general?
Survey yang dilakukan jetbrains tentang developer ekosistem juga menjelaskan damal salah satu bagian dengan pertanyaan "Apa sumber informasi yang biasa digunakan?"
What sources of information do you use in general?

What sources of information do you use in general?

sumber: https://www.jetbrains.com/lp/devecosystem-2020/lifestyle

Komunitas

Yang selanjutnya adalah komunitas. Teman-teman bisa bergabung dengan komunitas-komunitas teknologi baik lokal maupun internasional. Di sini lah tempat di mana teman-teman bisa berinteraksi langsung dengan sesama anggota komunitas. Teman-teman bisa bertanya, diskusi, sharing dan saling bertukar pendapat dan informasi. Selain itu teman-teman juga bisa mencari informasi lowongan pekerjaan, atau yang lagi hiring bisa juga cari talent.

Komunitas

  • Drupal Indonesia
  • Symfony Indonesia
  • Rust Indonesia
  • GatsbyJS Indonesia

Ini beberapa komunitas yang gw bergabung di dalamnya.

Kalau bisa dibilang gw terlahir dari komunitas. Cuma ada 3 perusahaan yang gw pernah kerja full-time, dan semuanya berawal dari komunitas.

Cerita pengalaman

Jadi dengan bergabung dengan komunitas untuk menambah ilmu dan informasi, juga bisa membantu karir teman-teman.

Do you visit local meetups?

Nah biasanya tiap komunitas ada pertemuan atau meetup rutin, kalau bisa silahkan teman-teman hadir untuk bertemu langsung dengan sesama anggota komunitas.

Dalam survey yang dilakukan Jetbrains juga ada bagian tentang pertemuan-pertemuan lokal.

Do you visit local meetups?

meetups

sumber: https://www.jetbrains.com/lp/devecosystem-2020/lifestyle

Open Source

Yang terakhir adalah open source.

Ini gw saranin untuk yang memang memiliki passion dan memiliki tekad, karena ini yang paling memakan sumber daya, baik waktu ataupun tenaga.

Kontribusi ke open source merupakan kesempatan untuk teman-teman bisa mengaplikasi kan informasi-informasi yang udah temen-temen dapet. Ga selalu tempat kita bekerja ada kesempatan untuk mengaplikasikan teknologi-teknologi tadi, dan kalau cuma coba-coba ga merefleksikan proyek sungguhan. Jadi kontribusi ke open source bisa jadi ajang untuk mengukur dan menguji kemampuan teman-teman.

Kemudian biasanya kontribusi kita tu akan direview dan diberi feedback. Di sinilah teman-teman akan mendapatkan ilmu dan pengalaman yang cukup berharga.

Secara personal gw merasa pengalaman dari kontribusi ke open source itu sama seperti pengalaman kerja di sebuah perusahaan. Jadi kalau gw cuma pernah kerja di 3 perusahaan, dengan kontribusi ke open source seolah-olah pengalaman gw tu udah kayak kerja lebih dari 3 perusahaan. Bedanya adalah kita ga dibayar, kecuali emg yang full-time di open source. Dan kita juga ga punya tanggung jawab.

Itu makanya tadi gw bilang ini lumayan memakan sumber daya, ga cuma waktu, tapi juga butuh tenaga dan pikiran. Tapi kalau ga nyari penghasilan, apa yang kita dapet dari open source ini sebanding dan berharga.

Do you contribute to open-source projects?
Dalam salah satu bagian dari survey jetbrain membahas tentang kontribusi ke open-source. Bahas chart.
Do you contribute to open-source projects?

Open source

sumber: https://www.jetbrains.com/lp/devecosystem-2020/lifestyle
“Good Programmers Are Lazy and Dumb”
— Philipp Lenssen

Gw coba rangkum lagi, jadi kalau teman-teman ingin mengejar perkembangan teknologi, teman-teman bisa cari informasi dari:

  1. Aggregator Berita dan Buletin
  2. Komunitas
  3. Open Source

Nah idi ada kutipan yang berbunyi ... Cukup kontroversial, tapi point nya kira-kira seperti ini. Malas itu maksudnya bukan malas ngerjain pekerjaan, tapi kalau ngerjain pekerjaan pengen nya cepet selesai, ga pengen ribet, pengennya simple. Engineer yang malas akan mikir gmn caranya kerjaan mereka tu enak, hasil pikiran mereka ini biasanya ternyata bisa juga dipakai dan bermanfaat untuk yang lain.

Kalau kita sudah "act smart" kita akan sulit mendapat input dari pihak luar. Sehingga akan banyak informasi-informasi yang kita ga dapet, karena udah kefilter duluan sebelum masuk. Filsafat lain mengatakan gelas yang penuh kalau diisi akan tumpah, kalau kata Socrates, "All I know is that I know nothing", "yang gw tau, gw gak tau apa". Be humble, tetap belajar terus.

Thank you!
https://learnterra.elabee.me