Membangun Kurikulum Pembelajaran Pribadi Anda Sendiri
Diterbitkan: 2022-03-10Setelah menyelesaikan bootcamp pada bulan Maret 2019, saya kewalahan dengan pilihan kerangka kerja, perpustakaan, bahasa, dan kursus yang harus saya pilih untuk melanjutkan pembelajaran mandiri dan semoga saya mendapatkan salah satu pekerjaan pengembang junior yang sulit dipahami. Hampir setiap orang yang saya ajak bicara memiliki pendapat yang berbeda tentang apa yang penting dan layak dikejar, tetapi kebanyakan dari mereka setuju bahwa mempelajari 'dasar-dasar' itu penting, sementara tidak pernah benar-benar menentukan apa itu.
Bahkan setelah mendapatkan pekerjaan pengembang pertama saya musim panas lalu, dengan cepat menjadi jelas bahwa saya harus melakukan pembelajaran ekstra kurikuler secara teratur untuk memenuhi tuntutan peran baru ini. Saya berpindah-pindah antara kursus Udemy untuk sementara waktu, dan ketika saya belajar, saya sering mendapati diri saya meniru instruktur tanpa mengembangkan keterampilan pemecahan masalah sendiri. Saya perlu membuat proyek sampingan kecil saya sendiri untuk benar-benar memahami materi baru. Jadi sekarang saya tahu apa gaya belajar saya: paparan awal ide dalam kursus atau di tempat kerja, membuat sketsa proyek untuk memperkuat konsep, dan kemudian menggunakan pembelajaran baru ini dalam pekerjaan sehari-hari saya jika saya bisa.
Sebagian besar dari kita memiliki pemahaman yang kuat (jika diperoleh dengan susah payah) tentang bagaimana kita belajar terbaik dalam jangka pendek, tetapi bagaimana hal itu diterjemahkan ke dalam struktur pembelajaran ekstrakurikuler jangka panjang? Saya akan memberi tahu Anda bagaimana saya mengatasi masalah ini untuk diri saya sendiri. Strategi ini akan bekerja di seluruh spektrum pengalaman, apakah Anda baru dalam pengembangan perangkat lunak atau insinyur berpengalaman.
Kurikulum Pribadi Anda Sendiri
Ini adalah metode saya menyusun kurikulum pembelajaran . Sebagai seseorang dengan waktu terbatas dan kecenderungan untuk terbawa oleh angin impulsif dengan mengorbankan kerja yang fokus dan berkelanjutan, saya menemukan metode ini paling cocok dengan otak dan ritme umum saya. Jarak tempuh Anda, tentu saja, dapat bervariasi.
Gunakan Spesifikasi Peran 'Pekerjaan Impian' Untuk Menetapkan Tujuan
Saya menemukan langkah ini sangat berguna untuk meredam semua kebisingan sekitar dan membuat diri saya fokus pada hal-hal yang praktis berguna bagi karir saya dalam lima tahun ke depan. (Sebagai pengembang front-end, saya sering mendapati diri saya membuat mata goo-goo dalam mempelajari Rust. Meskipun menarik, itu bukan prioritas.)
Anda mungkin tidak ingin bekerja di perusahaan teknologi besar sendiri, tetapi ada baiknya melihat apa yang mereka prioritaskan saat merekrut karena, baik atau buruk, perusahaan besar cenderung mengatur nada untuk industri secara luas. Saya memiliki daftar belanja kecil perusahaan non-jahat yang ingin saya akhiri pada suatu hari dan mereka semua secara luas berbagi prioritas yang sama: HTML/CSS semantik, keterampilan vanilla JS yang luar biasa, aksesibilitas, dan kerangka kerja yang populer. Suatu hari saya akan belajar Rust, tetapi, untuk saat ini, mengerjakan keterampilan ini adalah prioritas utama saya.
Saya cenderung menyukai Memang, Pekerjaan Wali dan LinkedIn untuk mendapatkan pekerjaan luas yang ada di pasar, tetapi yang sama bergunanya adalah Twitter (cukup cari [nama perusahaan yang Anda minati] dan 'pekerjaan'), dan pantau secara berkala di halaman 'Karir' dari beberapa perusahaan favorit Anda setiap beberapa bulan. Jessica Rose, yang menge-tweet sebagai @jesslynnrose, sering menulis utas panjang Twitter tentang lowongan pekerjaan di 'perusahaan non-jahat' yang terkadang tidak dipublikasikan dengan baik di tempat lain.
Setelah Anda mengumpulkan beberapa spesifikasi pekerjaan, coba temukan kesamaan di antara mereka dan catatlah. Kami akan menggunakannya untuk langkah berikutnya.
Identifikasi Peluang Untuk Mengembangkan Keterampilan yang Anda Inginkan
Ingat daftar yang saya sebutkan? Membaginya menjadi dua kolom. Kolom satu: hal-hal yang dapat Anda kerjakan dalam pekerjaan sehari-hari Anda. Kolom dua: hal-hal yang perlu Anda perhatikan pada waktu Anda sendiri.
Pembelajaran di Tempat Kerja
Hal-hal dalam daftar Anda yang tercakup dalam pekerjaan harian Anda adalah hal-hal yang paling tidak perlu Anda khawatirkan. Apa pun yang terjadi, keterampilan Anda di bidang ini akan meningkat seiring waktu. Beberapa dari Anda akan bekerja di organisasi besar yang dikelola oleh banyak pengembang dengan berbagai tingkat senioritas dan spesialisasi, dan saya menyarankan Anda untuk memeras bahwa untuk semua nilainya, terus terang.
Jika aksesibilitas adalah kesenjangan pengetahuan Anda yang ingin Anda tingkatkan, cobalah untuk tidak gugup dan dekati seseorang di tempat kerja Anda yang memiliki keterampilan itu untuk mengobrol / minum kopi Zoom. Cobalah untuk memasangkan dengan mereka, dengan pemahaman bahwa Anda dapat 'memasangkan' pada hal-hal yang bukan masalah pengkodean. Ngobrol dengan mereka tentang di mana mereka menemukan informasi mereka, akun Twitter, blog, dan podcast mana yang mereka ikuti, dan bagaimana mereka tetap up-to-date dengan perkembangan baru itu sendiri.
Pembelajaran di Rumah
Sebagai seseorang dengan dua karir sebelumnya, yang keduanya tidak terkait dengan ilmu komputer, yang memasuki industri melalui bootcamp sembilan minggu setahun yang lalu, saya memiliki pemahaman dasar tentang ilmu komputer, dan banyak dari Anda mungkin berada dalam situasi yang sama.
Saya telah menemukan bahwa Frontend Masters sangat berharga dalam hal kursus yang dirancang dengan sangat baik tentang prinsip-prinsip ilmu komputer dan pembelajaran yang lebih spesifik. Secara pribadi, saya telah menemukan kursus Will Sentance di Frontend Masters berharga untuk memahami bagaimana dan mengapa ketika datang ke vanilla JavaScript. Demikian pula, kursus 'Empat Semester Ilmu Komputer dalam 5 Jam' Brian Holt memaparkan siswa pada jenis konsep yang dapat muncul dalam wawancara teknologi.
Ada biaya berlangganan bulanan untuk Frontend Masters, dan itu sangat berharga, tetapi ada banyak sumber daya gratis yang luar biasa di luar sana. Saya sangat menyarankan siapa pun yang belum melakukannya mendaftar di CS50. Kursus, yang dijalankan oleh Universitas Harvard, adalah sumber daya gratis yang luar biasa, yang akan memaparkan Anda pada C, Python, JavaScript, dan modul tentang etika dan struktur data dasar. Ceramahnya sangat menyenangkan, dan Anda dapat melakukan sebanyak atau sesedikit kursus yang Anda suka, tanpa batasan waktu.
Demikian pula, FreeCodeCamp telah mendapatkan statusnya dengan baik sebagai titik awal utama bagi pengembang otodidak dan mereka yang ingin mengembangkan keterampilan mereka yang ada, dan saya mendorong Anda untuk mencari kursus yang relevan dengan minat Anda di Udemy (saya sarankan untuk tidak beli kursus Udemy yang tidak dengan diskon besar. Penjualan mereka terjadi setiap beberapa minggu sekali, dan selalu ada kode diskon yang beredar).
Favorit saya adalah Kursus Pengembang Node.js Lengkap oleh Andrew Mead, dan saya suka kursus Colt Steele (ada yang sangat bagus tentang algoritme dan struktur data yang akan membantu Anda jika Anda pernah menemukan diri Anda di sisi yang lebih berat algoritme spektrum wawancara teknologi). Majalah Smashing juga sering mengadakan lokakarya online tentang berbagai mata pelajaran yang akan membantu Anda meningkatkan keterampilan Anda.
Seperti yang mungkin Anda ketahui, keterampilan yang membuat orang mendapatkan pekerjaan di bidang teknologi sering kali berbeda dari keterampilan yang dibutuhkan orang untuk digunakan dalam pekerjaan. Kursus-kursus ini akan mengajarkan Anda dasar-dasar ilmu komputer sambil membuat Anda tetap gesit untuk wawancara, dan membantu Anda mengisi keheningan yang berpotensi menghancurkan dengan penjumlahan tajam dari struktur data yang berbeda, dan pro dan kontranya. Intinya bukan untuk melakukan semua kursus ini, tetapi untuk mengidentifikasi dan menggabungkan yang sesuai dengan spesifikasi pekerjaan yang Anda targetkan.
Saya menemukan Twitter sangat membantu untuk menemukan orang-orang untuk diajak mengobrol tentang masalah kode. Musim semi lalu saya berteriak ke dalam kehampaan tentang masalah yang saya alami dengan Android Studio dan terkejut saat melakukan panggilan video dengan pengembang Android kurang dari sepuluh menit kemudian, dan, tidak hanya itu, dia tampak senang membantu!
Jangan meremehkan kebaikan komunitas pengembang dan jangan malu meminta bantuan saat Anda membutuhkannya, dan lakukan yang terbaik untuk menempatkan diri Anda dalam situasi di mana Anda dapat berbicara dengan orang-orang dari dunia yang sama dengan Anda dalam konteks yang lebih luas dari industri teknologi. Tagar #CodeNewbie adalah hal yang berguna untuk digunakan jika Anda membutuhkan bantuan.
Tetapkan Target Dan Jadwal
Sekarang saatnya untuk mengikat tujuan pembelajaran mandiri Anda ke beberapa target. Cobalah untuk tidak menetapkan standar terlalu tinggi — jika tidak realistis bagi Anda untuk menyelesaikan kursus Udemy dalam satu minggu, jangan memaksakan diri untuk melakukannya terlalu keras sehingga Anda dapat memenuhi target dengan mengorbankan hal-hal penting lainnya dalam hidup Anda atau gagal memenuhi target dan membuat diri Anda merasa gagal. Idenya adalah untuk menjaga diri Anda di jalur , menerapkan tekanan lembut untuk tetap termotivasi, tetapi tidak terlalu banyak sehingga Anda merasa kewalahan dan kehilangan semua motivasi.
Sebagai orang pagi, saya merasa paling baik untuk berkonsentrasi belajar pada jam-jam sebelum pekerjaan saya dimulai pada pukul 9.30 pagi. Dengan mengingat hal ini, dan menggunakan alat pelacak waktu yang luar biasa, Toggl, saya menghabiskan jam 7 pagi hingga jam 9 pagi dua pagi per minggu untuk mempelajari kode. Menggunakan Toggl sangat penting bagi saya karena, tidak peduli seberapa sering saya melakukannya, saya sering merasa seolah-olah itu tidak cukup. Tetapi dengan bantuan Toggl, saya dapat melihat dengan pasti bahwa saya melakukan minimal empat jam per minggu (dengan tambahan di malam hari dan akhir pekan jika saya mau) dan saya merasa lebih baik untuk menjauh dari laptop saya dan beristirahat ketika saya waktu telah habis, aman karena mengetahui bahwa saya telah menghabiskan jumlah jam yang dapat diterima menurut standar saya sendiri.
Jadikan Kemajuan Terukur
Pikirkan tentang jadwal mingguan rata-rata Anda dan cobalah untuk memblokir beberapa waktu di hari ketika Anda memiliki peluang terbaik untuk mengamankan fokus yang tak terputus. Beberapa dari Anda akan menjadi penjaga atau sebaliknya sangat sibuk, dan mungkin akan lebih baik bagi Anda untuk meluangkan waktu Anda ketika Anda bisa mendapatkannya.
Jika itu membantu Anda untuk melihat contoh, target pribadi saya adalah sebagai berikut:
- Selesaikan kursus Node.js Udemy pada akhir Februari.
- Lakukan 30 menit Execute Program sebelum bekerja setiap hari.
Cobalah untuk berbuat salah di sisi hati-hati untuk set target pertama Anda. Anda selalu dapat meningkatkan tekanan jika Anda mau, tetapi lebih baik melakukannya setelah Anda berhasil di beberapa; pastikan Anda memiliki ruang mental dan fisik cadangan untuk benar-benar berkonsentrasi pada apa yang perlu Anda lakukan agar tetap di jalur.
Temukan Mentor, Atau Sobat, Atau Keduanya!
Bimbingan adalah sesuatu yang kebanyakan pengembang akan merekomendasikan untuk meningkatkan keterampilan, tetapi, dari pengalaman pribadi saya, menemukan seseorang dengan waktu untuk membimbing Anda adalah sebuah tantangan, terutama sekarang. Ada sumber daya seperti Coding Coach yang dapat membantu Anda, dan saya tahu beberapa pengembang yang menemukan mentor impian mereka di pertemuan dan di media sosial, tetapi menemukan pasangan yang sempurna lebih mudah diucapkan daripada dilakukan.
Saya berbicara dengan Falina Lothamer, seorang Perancang Instruksional di Thinkful — Kursus Online Terbuka Massive (atau disingkat MOOC) — untuk mendapatkan gambaran tentang bagaimana para profesional mendekati pembelajaran mandiri. Dia sangat jelas bahwa menemukan dan bekerja dengan seorang mentor adalah kunci untuk mengembangkan keterampilan Anda sebagai pengembang.
“Jika Anda perlu menyiapkan sesuatu untuk Anda, mintalah mentor itu untuk mengatakan: 'Di sinilah saya pikir Anda harus fokus', menunjukkan kepada Anda apa yang mereka lakukan di pekerjaan mereka, dan berbagi pendapat mereka tentang masa depan daerah Anda. teknologi akan banyak membantu. Saya pikir ada banyak orang di industri yang bersedia mengisi peran mentor itu dan melakukan untuk orang lain apa yang telah dilakukan seseorang untuk mereka.”
Setelah mengungkapkan beberapa frustrasi saya karena menabrak tembok bata dengan sejumlah kursus Udemy, hanya mendapati diri saya menyimpan informasi dan tidak harus memiliki kepercayaan diri pada apa yang telah saya pelajari untuk menerapkannya di area lain, atau pada proyek lain, Fallina adalah jelas bahwa bertanggung jawab kepada orang lain — idealnya seorang mentor tetapi juga pengembang lain dengan jumlah pengalaman profesional yang sama dengan Anda — sangat penting.
“Sebagai pengembang, Anda perlu mencari peluang untuk mendemonstrasikan apa yang Anda ketahui , dan bagaimana Anda belajar. Memiliki orang lain untuk diajak bicara tentang tantangan yang Anda hadapi, dan memiliki ruang untuk membicarakannya dengan seseorang dan untuk menyadari 'hal yang saya coba lakukan ini rumit, saya bukan pengembang yang buruk', memilikinya validasi bisa sangat besar.”
Bagi mereka yang tidak berhasil menemukan pengembang senior untuk membawa mereka di bawah sayap mereka, saya sarankan untuk mengikuti saran Fallina dan membuat diri Anda bertanggung jawab kepada orang lain di industri pada tingkat yang sama dengan Anda. Pengembang bersatu dan berbagi cerita akan memperkuat bahwa pekerjaan ini sulit, dan bahwa mereka bukan satu-satunya insinyur yang berjuang untuk bertahan di tempat kerja suatu hari nanti. Pekerjaan ini bisa sangat melelahkan secara emosional, dan memiliki seorang teman untuk berjuang bersama akan sangat berharga pada hari-hari ketika tampaknya tidak ada yang berjalan dengan baik.
Saya akan merekomendasikan mendaftar ke Kue Wawancara, Program Eksekusi, atau kursus Udemy yang relevan untuk tingkat keahlian dan spesialisasi Anda, dan menyelesaikan latihan yang sama dengan teman Anda pada waktu yang hampir bersamaan. Diskusikan apa yang menurut Anda lebih mudah, dan di mana Anda terjatuh, dan pertahankan kontak satu sama lain selama ini. Meskipun Anda pasti dapat melakukan hal-hal ini sendirian, menumbuhkan rasa kebersamaan akan membantu Anda untuk tetap pada tugas, dan membuat Anda lebih mungkin untuk tetap melakukannya.
Kasus Untuk Aplikasi Scratch Pad
Jika Anda punya waktu dan energi untuk dituangkan ke dalam proyek sampingan besar di atas pekerjaan, lebih banyak kekuatan untuk Anda, tetapi saya menemukan tekanan untuk melakukannya agak membebani. Sebaliknya, saya adalah penggemar proyek papan awal, terutama karena saya benar-benar mendapat manfaat dari mengikuti banyak ide baru sekaligus, dan dengan cepat menjadi tidak tertarik pada proyek pribadi, tidak ada tekanan waktu untuk mendorong saya.
Jika proyek sampingan Anda melakukan panggilan API, menampilkan informasi dengan cara semi-menarik, dan Anda telah belajar sesuatu dari proses tersebut, dan membangun proyek menjadi aplikasi yang lebih besar tidak sesuai dengan neurologi Anda, jadwal perawatan Anda , atau selera Anda, lalu beri diri Anda istirahat . Anda tidak akan mencibir seorang seniman karena membuat sketsa, dan Anda tentu tidak perlu merasa sedih jika proyek sampingan Anda adalah mutan yang setengah terbentuk selama Anda mendapatkan sesuatu dari proses tersebut. Repositori GitHub saya adalah elegi dari ide-ide bagus yang berlalu, dan saya telah berdamai dengannya.
Pembulatan
Mengingat keadaan dunia saat ini, hal terakhir yang saya inginkan adalah suara lain yang menuntut produktivitas dalam penguncian. Ini bukan tentang itu. Ini hanyalah langkah-langkah yang berhasil bagi saya ketika saya perlu belajar dari waktu ke waktu, tanpa kelelahan atau memberikan tekanan yang tidak semestinya pada diri saya sendiri. Jika mereka bekerja untuk Anda, luar biasa. Jika tidak, jangan khawatir. Kita semua memiliki kecepatan kita sendiri.
Langkah
- Gunakan spesifikasi pekerjaan untuk mengidentifikasi keterampilan utama.
- Pisahkan keterampilan tersebut antara pembelajaran di tempat kerja dan pembelajaran di waktu Anda sendiri.
- Tetapkan tujuan yang jelas, terukur, realistis, dan tingkatkan hanya jika Anda telah menemukan ritme Anda.
- Cari mentor atau teman sehingga Anda bertanggung jawab untuk tujuan tersebut.
- Santai! Belajar berantakan lebih baik daripada tidak belajar.
Sumber Daya yang Berguna
- Udemy
- Kue Wawancara
- CS50
- Jalankan Program
- Pelatih Pengkodean
- Toggle
- #CodeNewbie
- Lokakarya Online Smashing Mag
- FreeCodeCamp
- Master Frontend
- Memang
- Pekerjaan Penjaga
Semoga beruntung!