Belajar Programming Tanpa Kuliah IT, Mungkinkah?


“Truth can only be found in one place: the code.”
-Robert C. Martin -


Berawal dari banyaknya sumber belajar yang linknya aku forward di WA grup pribadiku </Our-CodeVenture> tapi ternyata malah bingung karena tidak terorganisir dengan rapi, jadi aku memutuskan untuk menulisnya di sini. Siapa tahu ada yang berminat belajar juga, bisa jadi referensi. Tapi, sorry ya kalau di tulisan ini bahasanya campur-campur. Ada yang santai ada yang semi formal juga. Kalau ada info baru ditambah terus, insyaAllah ;)

Pertanyaan pertama, kenapa sih kita harus belajar pemrograman?

Cuan? Ya gapapa sih, realistis saja lah
 

Mundur empat tahun kebelakang, waktu masih pusing-pusingnya milih jurusan dan PTN, keinginanku untuk bisa kuliah di Ilmu Komputer -spesifically, UGM- masih sangat menggebu-gebu. Aku bahkan mencari tahu daftar pertemanan salah satu kakak kelas SMAku yang diterima di jurusan itu dan meng-add facebook beberapa teman kuliahnya untuk bertanya-tanya lebih jauh tentang program studi tersebut. But, sadly, it didn't end well. Aku menyerah dengan mimpiku dan memberanikan diri untuk membelokkan arah langkah, jauh dari tujuan awal. Setelah melihat kenyataan seiring waktu, terkadang aku menyesal, dan di lain waktu aku juga bersyukur. Sama seperti semua jurusan lain, pasti akan ada satu dua orang yang masuk ke suatu jurusan bukan karena passion, ada yang masuk karena jurusan ini terlihat keren, ada yang memang karena merasa tertantang, ada yang karena asal dan iseng, ada ada saja.


Seiring waktu pula aku belajar hal yang lain, dan ternyata takdir tidak pernah benar-benar membuatku lepas dari keinginan masa lalu itu. Dalam beberapa kesempatan, ada pilihan dimana ketika aku mengambilnya akan berpotensi membuat mimpi lama itu tumbuh lagi. Dan aku telah mengambil kesempatan itu. Benar saja, mimpi itu tumbuh lagi dan sudah lebih spesifik, meskipun masih terlalu luas: all about website. Tapi aku masih terlalu bingung untuk mengambil langkah. Harus mulai dari mana?


Tantangan belajar programming jaman sekarang bukan lagi tentang keterbatasan, melainkan melimpahnya sumber belajar. Dan itu cukup membuatku lama berputar-putar dan terpikir, "Ah, ini terlalu sulit!"


Dalam suatu ketidaksengajaan, aku menemukan sebuah artikel menarik di Medium yang ditulis oleh CTO salah satu startup/ventura/entah apa namanya, CMIIW -anak perusahaan Djarum yang bergerak di bidang teknologi- GDP Labs. Aku mengutip salah satu bagian yang membuatku terkesan:

Both of my sons started learning computer programming when they were in elementary school. Nowadays, many high schools are offering computer and programming classes. This is possible due to affordable computer hardware, developer-friendly computer languages, easy-to-use integrated development environments, widely available books, community support, and mentors.


Youngsters should view programming as a fundamental skill like mathematics. You should start learning to code as early as possible because there is so much to learn. Additionally, there are regular programming competitions at state, national and international levels. You should participate in these competitions to sharpen your skills by learning from your coaches and peers. Practice makes perfect. And, it’s fun!


- Mr. On Lee, CTO & CEO GDP Labs | CTO GDP Venture


Sepenting itu lah belajar pemrograman, bahkan sejak dini. Bukan hanya sekadar peluang kerja yang menggiurkan di bidang IT di masa depan, tapi proses berpikir di baliknya lah yang membuat tidak semua orang betah mempelajarinya. Programming itu mengajarkan bagaimana cara berpikir dan memecahkan masalah. Itu pointnya. Programming itu bukan hanya semata-mata menulis kode. Semua orang bisa coding, toh coding itu hanya menulis mengetik.

So, harus belajar mulai dari mana?

Informasi-informasi di bawah ini aku kumpulkan dari berbagai sumber selama proses belajar beberapa bulan terakhir. Semoga bermanfaat :)


1. Mulai dari titik akhir. Ke arah mana tujuanmu? 


Dunia IT itu sangat luas. Coba mulai proses belajarmu dengan bertanya, mau jadi apa? Ada banyak pilihan yang bisa diambil, apakah menjadi developer web? mobile? desktop? IoT? machine learning? cloud computing? Lebih suka ngulik kodingan atau cenderung ke visual? Untuk kedepannya, apakah hanya ingin sekadar mengerti teknologi? atau untuk bekerja di startup/software house/freelance?


Dari sini coba munculkan ketertarikan pada salah satu bidang dahulu sebelum mendalaminya. Disinilah muncul istilah the art of googling. Pada zaman sekarang yang segalanya serba canggih memungkinkan kita mencari banyak sumber belajar yang tersebar di internet, asal mengerti keyword yang tepat. Ilmu di dunia IT itu tidak seperti ilmu dari jurusan kedokteran dan hukum yang mau tidak mau harus dipelajari di universitas. Bahkan teman-teman yang mengambil jurusan Ilmu Komputer dan semacamnya masih perlu mengasah skill di luar kelas misalnya dengan mengikuti beragai kompetisi pemrograman/mengikuti internship/mengambil side project karena apa yang di ajarkan di universitas adalah mengenai fundamental dan cara berpikir saja. Sedangkan teknologi berkembang dengan sangat cepat, lebih cepat daripada waktu yang diperlukan untuk memodifikasi sebuah kurikulum di perguruan tinggi secara menyeluruh. Ini juga yang membuat orang menyebutkan bahwa belajar di dunia IT itu merupakan pembelajar sepanjang hayat. Walaupun pada kenyataannya konsep ini juga perlu diterapkan di semua bidang karena long life learning is a must. Dunia tidak akan berhenti hanya karena menunggu kita belajar sesuatu!

2. Mencari sumber belajar


Sumber belajar yang sangat luas membuat kita kadang bingung sendiri, harus mulai dari mana? Kalau aku sendiri dulu ketika memutuskan untuk membelokkan jalur ke pendidikan, tidak serta merta bisa meninggalkan ketertarikan dengan dunia IT sepenuhnya. Sebuah alasan yang agak kocak sih, jadi waktu aku membuat account instagram di akhir semester 1, aku menemukan salah satu account yang cukup menghibur @lukananakit. Sebuah account yang tidak hanya memberikan pengetahuan, tapi juga meme-meme dan ungkapan mengenai 'sisi gelap' dunia anak IT yang dikemas dengan cara menghibur. Dari situ aku menemukan banyak istilah yang aku tidak ketahui. So, motivasi awalku ingin belajar pemrograman lagi bukan karena ingin pekerjaan di bidang IT ataupun ingin membuat aplikasi yang bermanfaat, melainkan agar aku mengerti meme-meme dan berbagai jokes receh tentang dunia programming, hahaha.


Back to topic
. Ini penting. Agar tidak terlalu bingung, aku akan mencoba merangkum beberapa sumber belajar berikut ini:

a. BOOTCAMP


Kalau mau belajar cepat dan tepat sesuai kebutuhan dunia industri, coding bootcamp adalah pilihan terbaik. Ada banyak penyelenggara coding bootcamp yang terpercaya dan bahkan tidak jarang bisa langsung menyalurkan pesertanya ke perusahaan yang bekerja sama dengan mereka. Soalnya kan mereka biasanya di akhir bootcamp ditugaskan untuk membuat project yang nantinya dipresentasikan di depan recruiter/perusahaan afiliasi. Banyak banget kan plusnya, minesnya? Cuan cuy cuan, ongkosnya lumayan. Tapi testimoni dari yang ikut sih, biasanya udah balik modal setelah beberapa bulan kerja. Worth it sih, tapi ya itu, modal.


Rekomendasi: Impact Byte, Hactiv8, Refactory, Purwadhika School, Generation Girl, dll

b. WEBSITE/ONLINE COURSE


Beberapa sudah tak kasih link di blog ini, cek di bagian recommended di sidebar di samping yaa.


Rekomendasi: Udemy, Coursera, Dicoding, Khan Academy, SoloLearn (yang ini fun banget, dikemas kayak game gitu), Udacity, Codewars, hackr.io, hackerrank


Rekomendasi lain:

https://roadmap.sh/ (ini penting banget, wajib jib jib buat baca, akan memudahkan proses belajar kita biar nggak kebanyakan muter-muter cari silabus) -> github

https://freecodecamp.org/

https://scratch.mit.edu/ (belajar pemrograman interaktif untuk pemula)

https://devfestindonesia.com/ (eh, ini komunitas sih ya?)

https://www.w3schools.com/

https://web.dev/

https://tlx.toki.id/ (latihan pemrogramman kompetitif dengan Pascal/C++, pertama kali tahu ini pas olimcamp SMA, dimana aku cuma hah heh hah heh karena baru pertama kali ngerasaain ngoding di komputer, bukan cuma ngitung output program-program anehnya Pak Dengklek di soal latihan)

https://olympia.id/ dan https://k12cs.org/ (ini wow sih, rekomendasi Bu Inge/Inggriani Liem, mantan dosen ITB, pembina TOKI)

https://stackoverflow.com/ (kalau google adalah tangan kanan, maka stack overflow adalah tangan kiri kita hahaha)

c. YOUTUBE

Rekomendasi: Web Programming Unpas (runtut, sangat mudah dipahami, channelnya dosen Unpas), Kelas Terbuka (kocak sih ini pembahasannya, channelnya pak dosen ITB, masih muda, habis kelarin S3 di Sidney), Codepolitan, Petani Kode, Sekolah Koding, Juniordev, Angga Risky, Riza Fahmi, Indra Gunawan, Agit Naeta.


d. BUKU


Coder at works, The finish/brisk project, The effective engineer by Edvan Lau, The leans start up, Cracking decoding interview, dll.


Ebook:

https://bit.ly/EbookITGratis/

https://insta.zaletskyi.com/

e. MEDIA SOSIAL


Facebook

Gudangnya segala komunitas online, monggo di serach sesuai minat.


Instagram

Ini isinya nggak cuma meme kok, kayak sekarang kan yang lagi famous model-modelan microblog gitu-gitu. Banyak info webinar juga. Tapi ngikutin meme-meme yang berkembang bisa sangat menghibur sih, biar kalau ada istilah yang nggak paham bisa terpacu untuk belajar juga hahaha.

Tips untuk kalian yang mudah terdistraksi dengan kehidupan orang lain di instagram: buat satu account khusus yang kalian gunakan untuk follow account belajar, informatif, dan hobi. Jangan follow orang-orang yang kalian kenal di real life. Aku pribadi menjadi lebih sering membuka account ini dibandingkan account utamaku. And it's works for me! Sekali scroll bisa sekaligus belajar, menghindari kepo dengan urusan orang yang bahkan tidak memberi dampak signifikan untuk perkembangan karir dan kehidupan kita.


Medium

Ada buanyakk banget, tinggal masuki keywordnya mau belajar tentang apa. Masih banyak orang baik dan kompeten yang membagikan ilmunya secara cuma-cuma di sini, bukan hanya teknis tapi juga pengetahuan umum, teknologi terbaru, isu-isu terkait dunia IT, sampai tips n trik yang berdasarkan pengalaman di dunia kerja yang sesungguhnya. Ada yang berbahasa Indonesia, tapi lebih banyak yang berbahasa Inggris.

Rekomendasi: Quick Code, Code.org, Dose Of Tech, Girls Who Code, Codementor, GDP Labs (buat pengetahuan aja sih, aku nemu ini karena kecelakaan -yang disengaja- hehe). Banyak banget sebenarnya, tapi akhir-akhir ini lagi suka baca Codex Stories, dan juga tulisan-tulisan dari Ann Adaya, Nuha Khaled.


Quora

Uwahhh. I really really love this site! Seperti medium, banyak juga di Quora orang-orang dengan kredensial luar biasa yang bisa menyampaikan ilmu secara sederhana, tidak bertele-tele, to the point. Media sosial berbasis pertanyaan-jawaban ini tersedia dalam bahasa Indonesia, Inggris, dll. Lebih santuy daripada medium, soalnya topik beragam dan penulis pun sering kali membahas berbagai pertanyaan-pertanyaan receh/daily life dengan sudut pandang dan pengalaman mereka. Salah satu idolaku di Quora adalah Mbak Radita Liem, seorang penggiat IT perempuan yang bahkan sudah melebarkan sayap dengan mendalami machine learning di Estonia, sekarang pindah ke Jerman. Di samping itu masih banyak lagi yang lain, bisa di search kredensialnya atau ikuti ruang-ruang/space yang ada di Quora. 

Rekomendasi: Radita Liem, Inggriani Liem, Krishna Rowter, banyak banget nget nget, kapan-kapan tak tulis disini.


Telegram

Ada buanyakk komunitas.  Cuss cek: 

https://github.com/hendisantika/List-All-Programming-Telegram-Group/


GitHub

Aku dulu mengira github hanyalah situs yang berguna untuk berbagi source code, tapi ternyata lebih dari itu. Ada banyak repository keren yang bisa kita follow:

Developer Roadmap (kamranahmedse/developer-roadmap)

Awesome (https://github.com/sindresorhus/awesome)

Coding Interview University (https://github.com/jwasham/coding-interview-university)

You Don't Know JS Yet (https://github.com/getify/You-Dont-Know-JS)

Free Learning Resource (https://github.com/EbookFoundation/free-programming-books)


LinkedIn Learning

Yang ini aku baru tahu malah, ternyata LinkedIn mengeluarkan e-learning juga, kirain cuma bisa buat pamer, eh personal branding dan cari koneksi maksudnya. Belum pernah coba sih. Katanya nanti kita dapat pembelajaran materinya berdasarkan profesi/keahlian yang kita input saat pertama mendaftar. Ya, semacam ada algoritma rekomendasi gitulah.


Podcast (Spotify)

Kode Nol

Ceritanya Developer Podcast (Riza Fahmi)

Kartini Teknologi

Sekolah Koding

Dunia Dalam Design (ini yang tertarik design tapi merasa berat buat ngoding, coba lirik peluang jadi UI/UX designer)

Remote Worker Indonesia (hari gini cuy, peluang kerja remote sangat menggiurkan)

Arvipra Tech Podcast

AppsCoast

Wicara Podcast

Ruangguru Engineering

Code Newbie (playlist)

Ngobrolin Startup & Teknologi

Podcast Kawan Koding

Dan yang masih wacana, tapi sangat worth it untuk dinanti: podcast kolaborasi antara Web Programming Unpas dan Kelas Terbuka (expected 2021, nunggu kang Pukis kelar S3)

Discord

Ini baru kuketahui baru-baru ini. Ternyata ada apps semacam telegram yang didalamnya bisa dibuat ruang-ruang belajar dan diskusi dengan topik tertentu, berbagi meme, bahkan mabar hahaha. Sayangnya aku bukan tipe orang yang menyukai game online.  Eh, bagaimana mendeskripsikannya ya? Entahlah, lebih baik dicoba saja. Aku mengetahui discord dari Pak Shandika Galih (Web Programming Unpas) dan tertarik untuk join karena showcase projectnya.

Channel Discord yang aku ikuti: WPU (of course hahaha), mathdroid&friends, TeamUp


3. Mencari Mentor

Cari mentor yang supportif itu susah-susah gampang. Butuh banyak-banyak networking. Sering-seringlah main LinkedIn, ikut webinar, aktif komunitas online, ikut jobfair mungkin nanti kalau kelar pandemi. Mentor dalam hal ini bukan hanya terkait teknis, namun juga hal-hal non teknis seperti menjadi sosok panutan ketika kita sedang down/kehilangan semangat. Menjadi self taught developer merupakan pilihan yang memerlukan konsistensi tinggi. Jalan kita kedepan sangat terjal dan panjang, terkadang kita juga perlu dorongan motivasi eksternal, entah dari seseorang yang memang mengerti kondisi kita, atau orang asing yang kebetulan membagi kisahnya yang memiliki latar belakang yang tidak jauh seperti kita. Bukan berarti kita tidak membutuhkan dorongan orang terdekat seperti keluarga atau sahabat, simply karena mereka tidak mengerti dunia yang kita hadapi, itu saja.


Bicara tentang mentor, disamping aku memiliki salah satu senior di organisasi yang bisa diajak bertukar pikiran tentang dunia ini, aku juga banyak terinspirasi dengan tulisan salah satu self taught developer wanita dari Filiphina yang kutemukan melalui platform medium: Ann Adaya. Kombinasi wanita pekerja keras di bidang teknologi dan kemampuan menginspirasi orang melalui tulisan adalah sosok yang sangat wahh di mataku, glad to know her :)


4. Create Fake Project 

Ini nanti kalu skill udah cukup lumayan, coba-coba bikin fake project, belajar melalui studi kasus, learn by doing, ambil peran di project open source di github. Untuk anak IT cross background abal-abal macam kita yang tidak punya sokongan ijazah mentereng, portfolio adalah senjata utama!


5. Apply!

Nah, kalau skill sudah mumpuni, portfolio sudah outstanding, pengalaman sudah lumayan, nggak perlu nunggu lama-lama lah. Segera ambil langkah nyata, entah buat real project sendiri, gabung ke perusahaan, atau niatin nge-freelance. Diamalkan lah itu ilmumu, sekecil apapun itu.

---


Gimana? Ada yang minat belajar programming? Jangan keder karena banyak sumber, ya! Disesuaikan sama path-nya masing-masing. Banyakin sabar, tidak perlu buru-buru, pintar-pintar memotivasi diri sendiri. Iya, programming itu susah, tapi worth it untuk dipelajari.


Belajar pemrograman memang sulit kok :)

Anda tidak sendiri. Semua orang pernah mengalami fase yang sama saat pertama kali belajar: struggle, stuck dalam mempelajari sebuah bahasa/teknik dalam pemrograman/konsep dalam programming.

Tidak. Bukan karena kita bodoh sehingga kita kesulitan.

Tidak. Bukan karena kita tidak mampu sehingga merasa seperti programming bukan dunia kita.

Tapi memang seperti itulah dunia pemrograman.

 

- Naufaldi Rafif Satriya, Quora



Intinya sih #MulaiAjaDulu #TidakBermaksudPromosiHihihi

It is not the strongest of the species that survives, nor the most intelligent;
it is the one most adaptable to change

- Charles Darwin -
Art by Farid Nahrir


Kalau ada yang bilang, "Punya mimpi kok diumbar-umbar, apa nggak malu kalau ternyata nanti nggak kesampaian?" Menurutku, itu bukan masalah. Cara mengumbar/koar-koarnya itu yang perlu digarisbawahi. Kalau memang itu bermanfaat untuk banyak orang, kenapa harus dipendam sendiri? It's okay to not achieve all of our dreams, toh tidak semua hal dalam hidup bisa kita dapatkan. Tapi jika tulisan kita/perkataan kita/tindakan kita ikut membuka jalan rezeki orang lain, hal itu akan kembali ke diri kita sendiri dengan kebaikan berlipat ganda. Kalau tidak di dunia, kebaikan kita akan kembali pada kita di akhirat nanti. Itu yang aku yakini.


And the end of this post
, aku akan cantumkan mantra yang selalu aku tulis di setiap akhir sesi tulisanku di Quora:

"Docendo discimus, quietia non movere" 

Kita belajar dengan mengajarkan, sesuatu yang diam tidak menggerakkan.

 

Tidak ada komentar:

Posting Komentar

Pages