Belajar Coding dengan Fun di Tahun 2017, dan Dapatkan Pekerjaan!

Dalam artikel ini kamu akan mempelajari bagaimana cara untuk mendapatkan pekerjaan sebagai developer dalam 5 bulan bahkan jika tidak punya kemampuan coding sama sekali sebelumnya!

Jika kamu adalah seorang junior developer atau penasaran dengan industri teknologi informasi, artikel ini pas untuk kamu. Jika kamu seorang developer berpengalaman, kamu juga akan mendapatkan link kepada resource terbaik untuk meningkatkan skill-mu.

Artikel ini mungkin akan terlihat seperti langkah-langkah menjadi seorang developer, tetapi jika kamu teliti lebih jauh, ini bisa menjadi sebuah strategi untuk membantu kamu menguasai segala jenis skill baru.

Kenapa Memilih Coding?

Sebelum masuk ke langkah-langkah untuk menjadi developer, kamu harus benar-benar yakin dengan alasanmu mengambil jalan ini. Setiap keputusan yang akan mengambil banyak waktumu harus dipertimbangkan sebaik mungkin :

1. Kamu ingin bekerja di sebuah industri yang banyak membutuhkan tenaga kerja dan terbuka peluang besar untuk kamu berada di posisi atas.

2. Kamu ingin bekerja secara independent. Kamu ingin skill yang membuat kamu bisa pergi kemanapun di dunia dan dapat dengan mudah mendapatkan pekerjaan. Jika kamu pindah ke Australia besok, kamu ingin memastikan bahwa kamu tidak akan menemukan masalah dalam mencari kerja.

3. Kamu suka perubahan, dan tidak ingin berhenti belajar. Jadi, mengapa tidak memulai sesuatu yang baru?

4. Kamu merasakan perbedaan antara tahun 2002 dan 2017, dan sejauh apa teknologi sudah berkembang dalam 15 tahun tersebut. Kamu ingin berada di garis depan sebuah industri yang mempunyai dampak besar kepada dunia.

Tetapi, bagaimana jika kamu tidak mempunyai gelar dalam ilmu komputer, atau bahkan tidak tahu bagaimana caranya komputer bekerja! Jangan khawatir, kamu bisa menjadikan hal tersebut sebagai sebuah keuntungan.

Ketika memilih sebuah jalur karir baru, berikut hal-hal yang sebaiknya kamu punya:

a. Skill tersebut harus tetap relevan dalam 10 tahun ke depan. Ini untuk menjamin security kamu di masa depan.

b. Jumlah lapangan kerja yang ada harus lebih banyak daripada jumlah tenaga kerja yang tersedia. Makin sedikit tenaga kerja yang berkualitas, makin besar pula kontrol kamu terhadap pekerjaan dan perusahaan tempatmu bekerja.

c. Peluang untuk mendapatkan penghasilan yang besar terlepas dari lamanya tahun bekerja. Kamu tentu tidak ingin harus menghabiskan waktu bertahun-tahun terlebih dahulu hanya untuk dapat hidup layak?

d. Sebuah industri yang tidak membutuhkan gelar tertentu dari universitas. Jika bisa langsung bekerja dalam waktu singkat, mengapa harus kembali ke bangku kuliah dan menghabiskan 4 tahun lagi?

5. Kemampuan untuk memiliki skill yang terbaik dalam waktu yang singkat. Dapatkah kamu memperoleh pekerjaan dengan pengalaman yang sedikit? Dan dapatkah kamu secara cepat mempunyai skill yang bisa menandingi pekerja-pekerja terbaik di bidang tersebut?

6. Bahagia. Ini adalah yang paling penting. Dapatkah kamu membayangkan diri kamu senang melakukan pekerjaan tersebut selama 40 jam seminggu?

Bagi banyak orang, coding memenuhi semua kriteria di atas. Cobalah untuk mengevaluasi hal tersebut untuk dirimu sendiri, dan lihat apakah coding adalah sesuatu yang tepat untuk kamu.

PENTING UNTUK DIPAHAMI: ingatlah bahwa dalam 2 bulan pertama, belajar coding akan terasa seperti mempelajari sesuatu yang tidak mungkin dikuasai. Setiap tutorial, kelas, atau materi yang kamu baca akan membuat kamu berpikir bahwa kamu tidak cukup mampu untuk itu. Hal tersebut dinamakan Impostor’s Syndrome, yaitu saat di mana kamu merasa sebagai satu-satunya orang yang tidak mengetahui sesuatu hal, kamu dipenuhi dengan keragu-raguan. Ini sangat biasa terjadi saat mempelajari sesuatu yang baru. Tetaplah bertahan dan belajar lebih keras lagi. Sedikit-sedikit kamu akan mulai memahami dan mendapatkan gambaran yang lebih jelas.

Belajar menjadi developer bukan berarti harus mengingat semua dokumentasi, tetapi adalah belajar bagaimana memecahkan masalah menggunakan segala tool yang kamu punyai.

Bahasa Pemograman Apa yang Harus dipelajari?

Kamu akan menjadi seorang Javascript ninja!, berikut beberapa alasannya:

  • Javascript ada di mana saja. Setiap perusahaan yang mempunyai website membutuhkan seseorang yang menguasai Javascript. Kemampuan menggunakan bahasa pemograman ini adalah syarat yang dicantumkan di banyak posting-an lowongan kerja. Jika kamu ingin melihat sendiri, cobalah periksa lowongan kerja di wilayah kamu lewat LinkedIn.
  • Dengan adanya Node.js, kamu bisa menggunakan Javascript untuk membangun full-stack app. Melalui tools seperti Electron, React Native, dan banyak lagi, Javascript memberi kamu kemampuan untuk membangun aplikasi desktop, mobile, web, bahkan virtual reality app.
  • Komunitas Javascript berkembang dengan pesat. Sebagian orang komplain tentang banyaknya tool Javascript baru yang dikembangkan setiap harinya. Kamu bisa menjadikan ini sebagai keuntungan, yaitu kamu bisa belajar hal baru tersebut disaat yang bersamaan dengan orang-orang yang sudah lama berada di bidang ini.

Percayalah, saat banyak permintaan pekerjaan di bidang ini.

Cukup pembukanya, mari masuk ke bahasan utama. Berikut kamu akan mendapatkan media pembelajaran yang paling efektif. Dalam 5 bulan, seharusnya kamu akan mendapatkan pekerjaan sebagai programmer pertamamu. Kamu hanya butuh determinasi!

Bulan Pertama: Gambaran Umum

Pertanyaan penting yang harus terjawab: Bagaimana komputer, internet, dan website bekerja?

Kamu bisa belajar mengenai bagaimana internet bekerja di sini : LearnCode.academy dan thenewboston.

Ikuti kelas dari Harvard di youtube. Ini adalah tempat belajar yang luar biasa dengan instruktur terbaik dalam bidang ilmu komputer.

Cara menggunakan command Line oleh Zed Shaw.

Bagaimana membangun website, mendapatkan domain, dan menjalankan website tersebut: video LearnCode.academy.

Bagaimana HTML, CSS, dan Javascript bekerja bersama: FrontendMasters.

Jika kamu punya waktu, kamu bisa mencoba course HTML dan CSS di freeCodeCamp.

Bulan Kedua: Javascript

Pertanyaan penting yang harus terjawab: Bagaimana Javascript membuat hidup lebih baik?

Inilah yang akan menjadi fokus kamu dalam beberapa bulan ke depan. Masalah apa yang dapat dipecahkan oleh JavaScript? Mulailah menulis program sederhana pada JavaScript untuk mengkostumisasi website kamu. JavaScript menambah interaktifitas pada website kamu.

Kemudian, pelajari juga bagaimana JavaScript dapat digunakan di luar browser. Tontonlah video Kyle Simpson ini, dan selesaikan course yang kamu pelajari pada bulan pertama. Lalu, selesaikan 5 JavaScript course dari CodeSchool ini.

Untuk git dan Github, kamu bisa mempelajarinya di sini. Buatlah profil Github dan mulailah membuat sample website kamu sendiri.

Terminologi/Jargon : video ini dan ini.

Last but not least, tontonlah playlist video di youtube ini.

Bulan Ketiga: JavaScript+jQuery+Bangun Website Kamu

Pertanyaan penting yang harus terjawab: Dapatkah kamu membuat website yang profesional dan mengerti keseluruhan prosesnya?

Pelajarilah bagian jQuery di freeCodeCamp. Meskipun jQuery sudah tidak terlalu populer pada saat ini, tetapi menguasainya akan memberikan kamu pengetahuan yang mungkin akan berguna di masa depan. Lebih lanjut, kamu akan mengetahui bagaimana framework seperti React.js, Vue.js dan Angular mulai menggantikan jQuery.

Google Developer Tools: Belajar melalui CodeSchool tentang bagaimana debug program dan website kamu menggunakan Google Chrome.

Mulailah menghadiri pertemuan-pertemuan coding dan JavaScript di wilayah kamu.

Apa itu event loop? Ketika kamu sudah mulai menguasai JavaScript, ini akan sangat membantu kamu.

Terakhir, tontonlah course dari Douglas Crockford ini.

Pada akhir bulan, kamu seharusnya sudah mempunyai website pribadi dengan codebase di Github.

Bulan Keempat: Server, Database, dan Menghubungkan Hal-hal yang telah Dipelajari

Pertanyaan penting yang harus terjawab: Di mana posisi server, database, dan raspberryPis dalam keseluruhan pembelajaran ini?

Apa itu komputer/server/OS: dapatkan raspberryPi dan buat server kamu sendiri. Lihatlah project di youtube tentang project apa saja yang bisa kamu lakukan menggunakan raspberryPi. Lalu, buatlah skrip sederhana, ikuti langkahnya di course ini. Host website kamu di raspberry pie. Sekarang kamu telah menjadi orang yang keren.

Gunakanlah masing-masing satu hari untuk mempelajari subject berikut: Testing, Machine Learning, Time Complexity, SQL, UX/UI. Cari tahu mengapa mereka ada dan masalah apa yang dapat mereka pecahkan.

Mungkin akan banyak yang bertanya, apakah penting untuk belajar Testing? Jawabannya adalah iya. Bagaimana akan benar-benar menguasai sesuatu jika sebelumnya tidak mempunyai fondasi yang kuat?

PENTING DIINGAT: tujuan kamu adalah mendapatkan pekerjaan seefesien mungkin.

Buatlah project kecil menggunakan firebase sebagai database.

Bacalah artikel ini: Pilar JavaScript part 1 dan Pilar JavaScript part2.

Bulan Terakhir: React.js (atau Angular 2)

Pertanyaan penting yang harus terjawab: Masalah apa yang dapat diselesakan oleh React dan Angular?

React.js adalah tool yang lebih jamak digunakan dibanding Angular. Kamu bisa belajar React.js secara berurutan di sini: satu, dua, tiga. Kemudian bacalah sampai habis dokumentasi resmi mengenai React.js.

Belajar Redux melalui course ini, dan baca juga dokumentasinya.

Lalu, buatlah contoh aplikasi React+Redux

Aktifkan app kamu di Heroku.

Aktifkan juga app kamu di Github.

Mulailah follow Dan Abramov, Eric Elliot, David Gilbertson, Quincy Larson, dan Tyler McGinnis di Medium dan Twitter, dan baca artikel-artikel yang mereka tulis.

Mulailah membuat resume online kamu. Kamu bisa belajar cara membuatnya di sini dan di sini.

MENGULANG POIN-POIN PENTING

Pada akhir bulan ke 5 kamu sudah harus menguasai hal-hal berikut ini:

  1. Belajar HTML dan CSS. Kemudian, belilah sebuah domain dari situs hosting seperti BlueHouse, buatlah sebuah website dan mulai jalankan secara online. Ini akan menjadi portofolio kamu. Belajarlah cara melakukan update dan edit. Seiring kamu lanjut belajar, buatlah website tersebut semakin bagus. Tetapi, jangan terlalu banyak menghabiskan waktu di sini. Cukup untuk dapat membuat websitemu online dan terlihat bagus. Kamu bisa melihat contoh website ini.
  2. Belajar JavaScript. Jika sebelumnya kamu telah belajar cara membuat website, dengan JavaScript kamu akan belajar bagaimana caranya membuat website kamu interaktif.
  3. Mulailah memasukkan project kamu di Github. Perusahaan akan mengunjungi profil GitHub kamu, dan melihat seberapa aktif kamu di sana. Usahakanlah melakukan commit 5 kali seminggu, dan juga bacalah artikel ini serta berkontribusi dalam open source project seperti freeCodeCamp.
  4. Pahami bagaimana menggunakan Google dan Stack Overflow ketika kamu menghadapi masalah. 99% masalah yang kamu temui bisa kamu temukan solusinya secara online. Kamu juga bisa bergabung dengan chanel IRC JavaScript dan bertanya ketika kamu stuck.
  5. Menguasai penggunaan command line. Ini sebaiknya selalu kamu buka ketika berlatih. Cobalah untuk menggunakan command line dibanding GUI.
  6. Belajar tool dan trend terbaru di JavaScript, dan belajar memecahkan masalah menggunakan hal tersebut.
  7. Datangi pertemuan-pertemuan komunitas coding di wilayah kamu. Awalnya mungkin kamu akan pusing dan tidak mengerti dengan banyak hal yang dibicarakan. Jangan khawatir, itu natural. Tetaplah berkomunikasi dengan coder lain, kamu akan terbiasa dengan jargon-jargon yang digunakan pada akhirnya.
  8. Mulailah mendengarkan podcast JavaScript Jabber. Ini akan membuat kamu terbiasa dengan jargon-jargon sehingga saat interview perusahaan nantinya, kamu tidak kebingungan. Kamu juga bisa follow FunFunFunction.
  9. Mulailah mencari pekerjaan yang tersedia sejak awal. Gunakan ini sebagai sarana latihan interview dengan coder profesional. Kamu juga bisa menggunakan ini sebagai kesempatan untuk bertanya hal apapun yang kamu ingin tahu.
  10. Buatlah profil LinkedIn kamu menarik. Jangan terlalu panjang menuliskan resume. Buatlah secara padat dan ringkas, serta cantumkan skill apa saja yang telah kamu pelajari selama 5 bulan terakhir. Belajar secara mandiri memperlihatkan bahwa kamu mempunyai kemauan yang kuat. Kemudian, tekankah juga apa yang membuat kamu berbeda dari developer lain.

Jika ada perekrut dari perusahaan yang tertarik saat melihat profil kamu, maka kamu akan diundang untuk interview. Tidak akan semua interview berjalan lancar, tetapi kemampuan kamu mempelajari semua hal di atas dalam 5 bulan, memperlihatkan ambisi besar yang kamu punyai.

Sebaiknya kamu hanya melamar kerja melalui LinkedIn. Jangan buang waktu kamu di Craiglist, Kijiji, atau Monster.com.

Penyempurnaan Skill

Kebanyakan orang berpikir bahwa mereka butuh menguasai sebuah skill 100% sebelum bisa melangkah ke tahap selanjutnya. Namun, untuk kebanyakan skill, termasuk programming, makin dekat kamu ke 100%, maka makin banyak waktu yang dibutuhkan untuk benar-benar mencapainya. Kamu hanya punya 5 bulan. Ini akan memberikan kamu kira-kira 80% skill. 20% lagi akan bisa kamu pelajari lebih baik melalui project nyata bersama tim (dan mendapat bayaran!).

Pelajaran Terpenting yang Bisa Didapat

Teknologi selalu berubah. Ini sangat benar, terutama pada JavaScript. Dunia bergerak sangat cepat sehingga keliatannya tidak mungkin untuk mengetahui setiap library, quirk, atau framework. Yang perlu kamu ketahui adalah bagaimana hal-hal tersebut dapat berkolaborasi, dan masalah apa yang diselesaikan oleh masing-masing mereka.

Programmer adalah seorang problem solver. Belajarlah memecahkan masalah dengan tool yang tersedia untuk kamu. Kamu hanya perlu tahu sarana untuk membantu kamu mencari jawaban tersebut. Terdapat banyak tools yang bisa digunakan, seperti Google dan StackOverflow.

Kesimpulan

Fokuslah pada efisiensi. Banyak orang menyerah mencapai tujuannya karena ia tidak merasa memperoleh hasil. Dengan berfokus kepada hal yang penting, akan membuat proses belajar menjadi lebih menyenangkan. Tetapi, semua tidak berakhir di sana. Proses belajar tidak pernah berhenti, dan tujuannmu adalah mendapatkan pekerjaan secepat mungkin sehingga kamu bisa dibayar untuk belajar.

Coding akan menjadi lebih menyenangkan setiap harinya dan bahkan akan sangat lebih baik ketika kamu dibayar setiap harinya untuk memecahkan masalah dan mengembangkan kemampuanmu.

Perkembangan kamu sebagai seorang coder sebenarnya terjadi saat kamu bekerja dalam sebuah project nyata dengan tim yang nyata. Inilah mengapa sebaiknya kamu membuat waktu belajar sendirimu sesingkat mungkin, agar dapat lebih cepat belajar bersama tim. Kamu harus berkumpul bersama orang-orang yang lebih cerdas dari kamu, dan kemudian bekerja bersama mereka. Jad sebuah spons dan serap segala informasi dari orang-orang tersebut.

Ambillah sebuah resiko di tahun 2017 ini : mempelajari sebuah skill yang banyak dibutuhkan di dunia kerja. Kamu akan mempunyai pengalaman dan mendapatkan peluang-peluang baru. Give it a try.

Disadur dari: