Bukan Penipu: Melawan Kelelahan Front-End

Diterbitkan: 2022-03-10
Ringkasan singkat Dalam artikel ini, David Berner membagikan saran tentang cara menghindari kelelahan. Setelah Anda benar-benar lelah, sangat sulit untuk mendapatkan kembali gairah yang Anda miliki untuk apa yang Anda lakukan dan mengapa Anda mulai melakukannya sejak awal.

Baru-baru ini saya berbicara dengan teman pengembang back-end tentang berapa jam saya menghabiskan coding atau belajar tentang kode di luar pekerjaan. Dia menunjukkan kepada saya bagian dari buku Paman Bob, "Kode Bersih", yang membandingkan jam yang dihabiskan musisi dengan instrumen mereka dalam persiapan untuk konser dengan pengembang yang berlatih kode untuk tampil di tempat kerja.

Saya suka analogi ini tetapi saya tidak yakin saya sepenuhnya mengikutinya; itu jenis pemikiran yang dapat menyebabkan kelelahan di tempat pertama. Saya pikir itu bagus jika Anda ingin mengembangkan keahlian Anda dan memperluas keahlian Anda, tetapi melakukannya setiap jam sepanjang hari tidak berkelanjutan.

Kelelahan front-end sangat nyata. Saya telah melihat sejumlah posting tentang kelelahan JavaScript tetapi saya pikir masalahnya meluas lebih jauh dari bahasa tertentu itu.

Untuk lebih jelasnya, ini bukan kata-kata kasar tentang bagaimana semuanya buruk dan semuanya bergerak terlalu cepat — saya suka bahwa teknologi berkembang begitu cepat. Sama halnya, saya dapat menghargai bagaimana hal itu dapat membuat saya kewalahan dan kadang-kadang merasa diri saya memerah.

Bacaan Lebih Lanjut tentang SmashingMag:

  • Trik Kotor Dari Sudut Gelap Front-End
  • Ode Pengembang Front-End Untuk Spesifikasi
  • Bagaimana Mempersiapkan Wawancara Kerja Front-End
Lebih banyak setelah melompat! Lanjutkan membaca di bawah ini

Sejauh yang saya tahu, ini adalah masalah bercabang dua .

Yang pertama adalah bahwa sebagai pengembang front-end Anda pikir Anda diharapkan memiliki semua hal berikut di gudang senjata Anda:

  • HTML (menulis bersih, markup semantik)
  • CSS (Modular, skalabel)
  • Metodologi CSS (BEM, SMACSS, OOCSS)
  • Praprosesor CSS (seperti KURANG, SCSS, PostCSS)
  • CSS modern (Flexbox, Kotak)
  • JS
  • JS modern (ES6, TypeScript)
  • Kerangka kerja JS (Angular, React, Vue [masukkan terbaru di sini]
  • Metodologi JS (Pemrograman fungsional, OOP)
  • Pustaka JS (Tidak dapat diubah, Ramda, Lodash)
  • Prinsip Desain Responsif
  • Pengujian (TDD)
  • Kerangka pengujian (Jasmine, Karma)
  • SVG
  • WebGL
  • Teknik animasi
  • Aksesibilitas
  • Kegunaan
  • Pertunjukan
  • Membangun alat (Grunt, Gulp, Skrip NPM)
  • Bundler Aset (WebPack, Browserify)
  • ekosistem NPM
  • Pengetahuan tentang kebiasaan browser yang berbeda
  • Metodologi tangkas
  • Kontrol Versi (Biasanya Git)
  • Dasar-dasar Desain Visual
  • Soft skill, manajemen waktu
  • Pemahaman dasar tentang bahasa back-end apa pun yang digunakan

Dan di atas itu Anda mencoba-coba atau melihat ke arah hal-hal seperti:

  • Pekerja layanan
  • Aplikasi Web Progresif (PWA)
  • Komponen Web

Yang kedua adalah bahwa pekerjaan Anda sehari-hari mungkin tidak mencakup semuanya atau memberi Anda waktu untuk mempelajari semuanya, jadi bagaimana Anda akan memastikan bahwa Anda memiliki semua alat yang Anda inginkan?

Mendengar istilah seperti 'Aplikasi Web Progresif' bisa sangat menakutkan bagi telinga pengembang. Teknik dan teknologi baru menyebabkan rasa lelah — kelelahan front-end.
Mendengar istilah seperti "Aplikasi Web Progresif" bisa sangat menakutkan bagi telinga pengembang. Teknik dan teknologi baru menyebabkan rasa lelah — kelelahan front-end. (Kredit gambar)

Sekarang, sebagai konsumen Anda mungkin:

  • Berlangganan ke banyak buletin pengembangan mingguan yang berbeda
  • Telusuri umpan Twitter Anda
  • Hadiri pertemuan mingguan untuk tim Front-end Anda di tempat kerja
  • Miliki saluran Slack di luar pekerjaan dengan beberapa pengembang yang juga Anda ajak bicara
  • Ikuti tutorial online (semoga tidak ketinggalan zaman)
  • Gunakan situs pelatihan kursus video seperti Frontend Masters
  • Beli buku pengembangan web (yang mudah-mudahan tidak ketinggalan zaman)
  • Menghadiri pertemuan
  • Menghadiri konferensi
  • Ikuti kursus pelatihan

Sebagai kontributor, Anda dapat:

  • Menulis artikel blog/majalah
  • Coba-coba dalam berbicara
  • Jalankan podcast
  • Berkontribusi pada proyek sumber terbuka
  • Miliki proyek sampingan Anda sendiri

Baru-baru ini saya menemukan perhatian saya terbelah tiga, saya memfokuskan sepertiga pada penulisan kode, dengan headphone setengah mendengarkan diskusi tentang kode sambil mengobrol di Slack tentang kode. Saya memutuskan sudah cukup — setiap lubang tersumbat dengan kode dan mental saya terkuras.

Sementara itu pasti di ujung yang ekstrim, saya yakin orang lain dari Anda pernah mengalami hal serupa. Di atas semua ini, Anda mungkin memiliki pekerjaan penuh waktu, keluarga, teman, hobi. Tidak heran jika banyak dari kita merasa lelah dan bertanya- tanya apakah kita telah membuat pilihan karir yang tepat .

Beberapa rekan front-end saya telah menyatakan minatnya untuk mengemas semuanya dan beralih pekerjaan ke pekerjaan yang dapat mereka matikan pada pukul lima. Tetapi sebagian dari diri saya berpikir pekerjaan ini menarik tipe orang tertentu dan jika kita membuang semuanya dan menjadi agen real, Anda tetap ingin menjadi agen real terbaik yang Anda bisa. Menghadiri pertemuan agen real estat dan melacak tren harga rumah di waktu luang Anda. Beberapa bulan yang lalu saya bekerja di bidang keuangan dan saya masih belajar di malam hari dan membaca sekitar untuk menjadi yang paling terampil yang saya bisa di bidang pilihan saya.

Kami tidak sendirian dalam disiplin ini, banyak profesi membutuhkan dedikasi dan pembelajaran yang solid di luar pekerjaan. Mungkin hal dengan pengembangan front-end adalah bahwa teknologi berkembang sangat cepat sehingga terasa seperti seseorang terus memindahkan tiang gawang. Sepertinya setiap hari saya menerima email yang mengatakan bahwa teknologi "XYZ" sudah mati. Yang saya yakin tidak mungkin benar karena jika tidak, kita tidak akan memiliki teknologi yang tersisa.

Ekosistem dalam keadaan berubah terus-menerus dan saya pikir itu bisa menjadi hal yang baik. Secara pribadi saya senang berada dalam peran di mana saya dapat terus belajar mengembangkan dan mendorong diri saya sendiri, tetapi itu tidak berarti saya tidak pernah kewalahan.

Dengan mengingat hal itu, berikut adalah beberapa hal yang saya coba ingat untuk menghentikan kepala saya meledak serta beberapa saran umum tentang cara menghindari kelelahan.

Kita Semua Di Dalamnya Bersama

Pengembang yang saya kenal, baik di tempat kerja maupun di luarnya adalah di antara orang-orang terpintar yang saya kenal. Tapi mereka semua merasa kewalahan. Sebagian besar memiliki semacam daftar keinginan teknologi yang mereka coba pelajari. Mungkin ada segelintir orang yang mengetahui semuanya dan berada di atas segalanya, tetapi sebagian besar dari kita berada di posisi yang sama persis.

Kita semua masih bergantung pada Google dan Stack Overflow untuk membantu kita menjalani hari dan memiliki terlalu banyak tab terbuka yang diisi dengan jawaban atas pertanyaan terkait web. Kamu tidak sendiri!

Berbahagialah mengetahui bahwa Anda bukan pengembang yang buruk hanya karena Anda belum mencoba apa pun yang digunakan anak-anak keren.

Ya, bahkan "selebriti web" berada di tempat yang sama ...

Tidak mungkin Anda bisa mengetahui segalanya dan pengembang bintang rock yang Anda ikuti di Twitter cenderung sangat bagus di beberapa area masing-masing. Anda akan melihat bahwa mereka adalah area yang sama yang terkenal dengan pengetahuan mereka. Sekali lagi akan ada pengecualian tetapi mereka hanya manusia seperti kita. :)

Sindrom Penipu Itu Nyata Dan Kita Semua Memilikinya

Saya tahu beberapa pengembang front-end hebat yang tidak akan melamar peran karena mereka akan merasa seperti penipuan untuk mereka tanpa mengetahui semua hal tentang persyaratan deskripsi pekerjaan. Mengutip salah satunya:

"90% dari JD yang saya lihat membuat saya berpikir, "Argh, saya sangat ketinggalan!" Faktanya, itu sangat mengganggu saya, sehingga saya berpikir untuk tetap dalam peran saya saat ini, dan hanya mencoba untuk mendorong lebih banyak uang hanya karena saya merasa seperti "telah lolos" di sini."

Faktanya adalah, sebagian besar spesifikasi pekerjaan itu adalah lelucon. Teman saya Bard mengumpulkan gambar hebat ini yang menunjukkan perbedaan antara apa yang dikatakan spesifikasi pekerjaan front-end dan apa artinya.

Iklan Pekerjaan Dijelaskan
Iklan lowongan dijelaskan (Pratinjau besar) (Kredit gambar)

Ingat saja, itu akan baik-baik saja . Setiap pekerjaan yang saya miliki, saya merasa keluar dari kedalaman saya untuk memulai, tetapi akhirnya Anda terbiasa dengan alat dan alur kerja mereka, Anda belajar dan menjadi pengembang yang lebih baik untuk itu.

Jangan takut untuk belajar di tempat kerja, cara terbaik untuk mempelajari keterampilan baru adalah dengan menggunakannya setiap hari.

Jika Anda memiliki sindrom penipu, kemungkinan besar Anda benar-benar pengembang yang layak karena jika tidak, Anda tidak akan cukup sadar diri untuk menyadarinya.

Dapatkan Dasar-dasar Anda Terkunci

Sangat mudah untuk terganggu oleh mengkilap dan baru tetapi jika fondasi Anda tidak kokoh maka kemungkinan besar apa yang Anda bangun tidak akan bertahan dalam ujian waktu.

Seperti yang pernah dikatakan oleh seorang teman baik saya kepada saya:

"Fokus pada dasar-dasar selalu menjadi mantra saya. Jika Anda dapat membangun sh!t yang baik dan memecahkan masalah maka itu yang terpenting, bagaimana Anda menyelesaikannya (alat) telah dan akan selalu berubah."

Misalnya, ketika React melambung ke ketenaran, sepertinya selalu digabungkan dengan ES6, dan saya memusatkan perhatian saya pada perubahan atau penambahan bahasa itu daripada nuansa kerangka itu sendiri. Setelah React mati dan hilang, pengetahuan yang saya ambil dari menjaga Javascript vanilla terbaru akan terus hidup. Banyak fitur yang dapat Anda mainkan dengan asli di Chrome sehingga Anda tidak perlu menggunakan Babel dan terjebak dalam neraka ketergantungan untuk memainkannya.

Anda Tidak Perlu Mempelajari Semuanya

Ini benar-benar kunci. Saya tidak berpikir itu adalah kerangka kerja, perpustakaan, dan modul baru yang membunuh kita, itu adalah keyakinan kita sendiri bahwa kita harus mempelajari semuanya.

Dengan belajar, saya menemukan taruhan terbaik adalah tetap fokus — saat ini saya sedang mempelajari pemrograman JavaScript fungsional di ES6.

Ada banyak hal lain dalam daftar saya yang ingin saya pelajari, tetapi saya berusaha untuk tidak terganggu. Misalnya, saya ingin memoles pengetahuan aksesibilitas saya, bermain-main dengan Polymer dan menyelami beberapa teknik CSS terbaru seperti Grid tetapi jika saya mulai membaca tentang terlalu banyak area yang berbeda sekaligus saya tidak akan menyimpan semua informasi. Hal-hal lain ini tidak akan kemana-mana, saya akan mendapatkannya ketika saya sampai di sana.

Hindari terburu-buru untuk mencoba dan mengkonsumsi segala sesuatu tentang topik tertentu. Luangkan waktu Anda dan pastikan Anda benar-benar memahaminya.

Jika Anda seperti saya, Anda akan memiliki daftar yang terus bertambah, tetapi jangan takut untuk mengambil item dari daftar tersebut. Tidak semuanya layak untuk diinvestasikan waktu dan Anda harus mencoba mengenali apa yang layak dipelajari dan apa yang mungkin hilang dalam beberapa tahun. Meluangkan waktu untuk mempelajari pola desain pemrograman dan teknik arsitektur akan selalu lebih bermanfaat dalam jangka panjang daripada melompat ke panasnya kerangka kerja saat ini. Anda hanya akan berebut untuk memainkan bingo kata kunci lagi sebentar lagi.

Sebagian Besar Perusahaan Tidak Menggunakan Bleeding Edge Tech

Ada banyak hal baru yang keluar, web berkembang dengan kecepatan yang mengejutkan tetapi biasanya akan memakan waktu lama sebelum bisnis benar-benar mulai mengadopsi teknologi baru ini. Sebagian besar perusahaan akan menunggu teknologi matang untuk sementara waktu dan melihatnya terbukti di lapangan.

Angular dibuat enam tahun lalu dan saya pertama kali mulai bekerja di sebuah startup yang memutuskan bahwa itu adalah kerangka kerja untuk mereka tiga tahun lalu. Reactjs telah ada selama lebih dari tiga tahun dan perusahaan saya saat ini mulai menggunakannya tepat sebelum Natal. Saya yakin banyak kerangka kerja lain telah datang dan pergi pada waktu itu. Jika saya melompat pada mereka semua, saya akan menjadi gila.

Di tanah CSS, Flexbox telah tersedia sejak 2010 — enam tahun lalu! Dukungan browser masih terbatas. Kami mulai menggunakannya dalam produksi awal tahun ini, tetapi saya tidak melihatnya banyak digunakan di alam liar di tempat lain.

Maksud saya adalah, tidak perlu terburu-buru untuk mempelajari semua hal, sementara teknologi mungkin bergerak cepat, calon pemberi kerja Anda bergerak dengan kecepatan yang jauh lebih lambat. Anda tidak harus berada di depan kurva, pastikan Anda memperhatikan lintasannya.

Semakin Banyak Anda Belajar, Semakin Banyak Anda Menemukan Yang Tidak Anda Ketahui, Dan Tidak Apa-apa

Ini benar-benar normal. Ketika Anda pertama kali memulai, Anda tidak tahu apa yang tidak Anda ketahui. Kemudian Anda mempelajari beberapa hal dan memutuskan bahwa Anda adalah seorang jenius. Kemudian sedikit demi sedikit fantasi itu terurai dan Anda mulai memahami sebenarnya betapa banyak hal di luar sana yang tidak Anda ketahui.

Pada dasarnya, semakin banyak pengalaman yang Anda dapatkan, semakin dalam kehampaan yang Anda tuju. Anda perlu berdamai dengan ini, jika tidak, itu akan menghabiskan Anda. Jika ada, perasaan ini seharusnya memberi Anda kepercayaan diri bahwa Anda sedang menuju ke arah yang benar. Kemungkinannya adalah dalam profesi pilihan kami, Anda tidak akan pernah bisa dengan nyaman duduk di atas takhta yang dibangun dari semua pengetahuan front-end.

Jangan Menghabiskan Seluruh Waktu Luang Anda Untuk Belajar

Sangat mudah untuk merasa bahwa Anda sangat tertinggal sehingga Anda perlu coding dan belajar setiap menit. Ini adalah tiket sekali jalan ke burnout-ville. Sisihkan waktu untuk mengembangkan keahlian Anda, lihat apakah Anda dapat menegosiasikan waktu dengan atasan Anda sehingga itu dijadwalkan dan menghabiskan sisa waktu melakukan apa yang Anda sukai.

Saya memiliki beberapa pencerahan pengkodean di gym. Berolahraga sangat penting untuk pikiran Anda serta tubuh Anda. Cobalah dan lakukan setidaknya 20-30 menit sehari untuk menjaga pikiran Anda tetap tajam dan membantu mencegah kelelahan.

Luangkan waktu untuk keluarga dan teman Anda — cobalah untuk tidak mengobrol dengan mereka!

Ini Pasar Pengembang

Jangan khawatir tentang mencari pekerjaan sekarang. Saat ini kami berada dalam posisi yang sangat beruntung di mana ada lebih banyak peran daripada pengembang untuk mengisinya. Saya tidak tahu berapa lama ini akan bertahan, tetapi manfaatkan sekarang!

Anda bisa mendapatkan pekerjaan tanpa mengetahui semua hal. Saya telah menemukan bahwa dalam wawancara yang saya lakukan 99% orang benar-benar membualnya.

Skenario terburuk, ingatlah bahwa ada emas dalam kode lama. Jika Anda seorang pengembang yang menyukai cara lama, akan selalu ada perusahaan yang terjebak pada teknologi lama yang membutuhkan pengembang untuk mengerjakan perangkat lunak mereka.

Kesimpulan

Saya harap beberapa petunjuk ini telah membantu mengurangi beberapa frustrasi yang mungkin Anda rasakan. Hal terburuk yang dapat Anda lakukan adalah mencapai tepi dan menjadi benar-benar terbakar karena sekali Anda, sangat sulit untuk mendapatkan kembali gairah yang Anda miliki untuk apa yang Anda lakukan dan mengapa Anda mulai melakukannya di tempat pertama.

Selamat mengkode!