Sahtekâr Değil: Ön Uç Yorgunluğuyla Mücadele
Yayınlanan: 2022-03-10Geçenlerde bir arka uç geliştirici arkadaşımla iş dışında kodlama yapmak veya kod öğrenmek için kaç saat harcadığım hakkında konuştum. Bana, müzisyenlerin bir konsere hazırlanırken enstrümanlarıyla harcadıkları saatleri iş yerinde performans sergilemek için prova yapan geliştiricilerle karşılaştıran Bob Amca kitabından bir pasaj gösterdi, "Temiz Kod".
Analojiyi beğendim ama tam olarak katıldığımdan emin değilim; ilk etapta tükenmişliğe neden olabilecek bu tür bir düşüncedir. Bence zanaatınızı ilerletmek ve beceri setinizi genişletmek istiyorsanız harika ama bunu günün her saati yapıyor olmak sürdürülebilir değil.
Ön uç yorgunluğu çok gerçektir. JavaScript yorgunluğuyla ilgili birkaç gönderi gördüm, ancak sorunun bu belirli dilden daha fazla uzandığını düşünüyorum.
Açık olmak gerekirse, bu, her şeyin ne kadar kötü olduğu ve her şeyin çok hızlı hareket ettiği hakkında başka bir rant değil - teknolojinin bu kadar hızlı gelişmesini seviyorum. Aynı şekilde, bunun nasıl bunaltıcı olabileceğini ve zaman zaman kendimi kesinlikle tükenmiş hissettiğimi anlayabiliyorum.
SmashingMag'de Daha Fazla Okuma :
- Front-End'in Karanlık Köşelerinden Kirli Hileler
- Bir Ön Uç Geliştiricinin Spesifikasyonlara Övgüleri
- Ön Uç İş Görüşmesine Nasıl Hazırlanılır
Anladığım kadarıyla, bu iki yönlü bir sorun .
Birincisi, bir ön uç geliştirici olarak, cephaneliğinizde aşağıdakilerin tümüne sahip olmanızın beklendiğini düşünüyorsunuz:
- HTML (temiz yazma, anlamsal işaretleme)
- CSS (Modüler, ölçeklenebilir)
- CSS metodolojileri (BEM, SMACSS, OOCSS)
- CSS ön işlemcileri (LESS, SCSS, PostCSS gibi bir şey)
- Modern CSS (Flexbox, Izgara)
- JS
- Modern JS (ES6, Daktilo Yazısı)
- JS çerçeveleri (Angular, React, Vue [en sonuncusunu buraya ekleyin]
- JS metodolojileri (Fonksiyonel programlama, OOP)
- JS kütüphaneleri (Immutable, Ramda, Lodash)
- Duyarlı Tasarım ilkeleri
- Test (TDD)
- Test çerçeveleri (Jasmine, Karma)
- SVG
- WebGL
- animasyon teknikleri
- Ulaşılabilirlik
- kullanılabilirlik
- Verim
- Derleme araçları (Grunt, Gulp, NPM Komut Dosyaları)
- Varlık Paketleyicileri (WebPack, Browserify)
- NPM ekosistemi
- Farklı tarayıcı tuhaflıkları bilgisi
- Çevik Metodolojiler
- Sürüm Kontrolü (Genellikle Git)
- Görsel Tasarım temelleri
- Yumuşak beceriler, zaman yönetimi
- Hangi arka uç dilinin kullanıldığına dair temel bir anlayış
Üstelik ya şuna benzer şeylerle uğraşıyorsunuz ya da bunlara bakıyorsunuz:
- Servis çalışanları
- Aşamalı Web Uygulamaları (PWA)
- Web Bileşenleri
İkincisi, günlük çalışmanız muhtemelen hepsini kapsamıyor veya size her şeyi öğrenmeniz için zaman vermiyor, peki tüm araçlara sahip olduğunuzdan nasıl emin olacaksınız?
Şimdi, bir tüketici olarak şunları yapabilirsiniz:
- Bir dizi farklı haftalık geliştirme bültenine abone olun
- Twitter beslemenizi trolleyin
- Ön uç ekibinizi iş yerinde haftalık olarak yakalayın
- Alışveriş konusunda da konuştuğunuz birkaç geliştiriciyle iş dışında bir Slack kanalına sahip olun
- Çevrimiçi öğreticileri takip edin (umarım güncel değildir)
- Frontend Masters gibi bir video kursu eğitim sitesi kullanın
- Web geliştirme kitapları satın alın (umarım güncel değildir)
- buluşmalara katıl
- konferanslara katılmak
- Eğitim kurslarına katılın
Katkıda bulunan biri olarak şunları yapabilirsiniz:
- Bloglar/dergi makaleleri yazın
- Konuşmaya dalmak
- Bir podcast çalıştırın
- Açık kaynaklı projelere katkıda bulunun
- Kendi yan projeleriniz olsun
Son zamanlarda dikkatimin üç şekilde ayrıldığını fark ettim, üçüncüsü kod yazmaya odaklanıyordum, kulaklıklarla Slack'te kod hakkında sohbet ederken kod hakkındaki tartışmaları yarı dinliyordum. Yeterince karar verdim - her delik kodla tıkanmıştı ve zihinsel olarak tükenmiştim.
Bu kesinlikle en uç nokta olsa da, eminim aranızda da benzer şeyler yaşamıştır. Tüm bunlara ek olarak, muhtemelen tam zamanlı bir işiniz, aileniz, arkadaşlarınız, hobileriniz var. Birçoğumuzun kendini tükenmiş hissetmesine ve doğru kariyer seçimini yapıp yapmadığımızı merak etmesine şaşmamalı.
Ön uç arkadaşlarımdan bazıları, hepsini paketlemeye ve işi saat beşte kapanabilecekleri bir işe çevirmeye ilgi duyduklarını ifade ettiler. Ama bir yanım bu işin belirli bir kişiyi cezbettiğini düşünüyor ve eğer her şeyi bir kenara atıp onun yerine emlakçı olsak yine de olabileceğiniz en iyi emlakçı olmak istersiniz. Boş zamanlarınızda emlakçı buluşmalarına katılmak ve ev fiyat trendlerini takip etmek. Birkaç ay önce finans alanında çalıştım ve hala akşamları okuyor ve seçtiğim alanda elimden gelen en yetenekli olmak için okuyordum.
Bu disiplinde yalnız değiliz, birçok meslek iş dışında sağlam bir özveri ve öğrenme gerektiriyor. Belki de ön uç geliştirme ile ilgili olan şey, teknolojinin o kadar hızlı gelişmesidir ki , birileri kale direklerini hareket ettirmeye devam ediyormuş gibi hissettirir. Her geçen gün "XYZ" teknolojisinin öldüğünü söyleyen bir e-posta alıyorum. Ki eminim ki doğru olamaz çünkü aksi takdirde teknolojimiz kalmazdı.
Ekosistem sürekli bir değişim halinde ve bence bu iyi bir şey olabilir. Şahsen ben sürekli gelişmeyi öğrenebileceğim ve kendimi zorlayabileceğim bir rolde olmayı seviyorum ama bu bazen bunalmadığım anlamına gelmiyor.
Bunu akılda tutarak, kafamın patlamasını durdurmak için hatırlamaya çalıştığım bazı şeylerin yanı sıra yorgunluktan nasıl kaçınılacağına dair bazı genel tavsiyeler var.
Hepimiz Beraberiz
Hem işte hem de dışında tanıdığım geliştiriciler, tanıdığım en zeki insanlar arasında. Ama hepsi bunalmış hissediyorlar. Çoğu, öğrenmeye çalıştıkları bir tür teknoloji dilek listesine sahiptir. Her şeyi bilen ve her şeyin üstünde olan bir avuç insan olabilir ama çoğumuz aynı durumdayız.
Hepimiz, günü atlatmak için hâlâ Google'a ve Stack Overflow'a güveniyoruz ve web ile ilgili soruların yanıtlarıyla dolu çok fazla açık sekmemiz var. Yalnız değilsin!
Sırf havalı çocukların kullandığı her şeyi henüz denemediğiniz için kötü bir geliştirici olmadığınızı bilerek mutlu olun.
Evet, “web ünlüleri” bile aynı noktada…
Her şeyi bilmenin imkanı yok ve Twitter'da takip ettiğiniz rock yıldızı geliştiricilerin her biri birkaç alanda gerçekten çok iyi. Bunların, hakkında bilgi sahibi olmakla ünlü oldukları alanlar olduğunu fark edeceksiniz. Yine istisnalar olacak ama onlar da bizim gibi insanlar. :)
Imposter Sendromu Gerçek Ve Hepimizde Var
Rol için başvurmayacak birkaç harika ön uç geliştirici tanıyorum çünkü iş tanımı gereksinimlerindeki her şeyi bilmeden onlar için bir sahtekarlık gibi hissedecekler. Birinden alıntı yapmak gerekirse:
"Gördüğüm JD'lerin %90'ı bana "Argh, çok gerideyim!" diye düşündürüyor. sırf burada "payı kaçırmış" gibi hissettiğim için.
Gerçek şu ki, bu iş özelliklerinin çoğu bir saçmalık. Arkadaşım Bard, ön uç iş spesifikasyonlarının söyledikleri ile ne anlama geldikleri arasındaki farkı gösteren bu harika resmi bir araya getirdi.
Sadece hatırla, iyi olacak . Sahip olduğum her iş, başlangıçta derinliğimin dışında hissettim, ancak sonunda araçlarına ve iş akışına alışırsınız, öğrenir ve bunun için daha iyi bir geliştirici olursunuz.
İş başında öğrenmekten korkmayın, yeni beceriler edinmenin en iyi yolu onları her gün kullanmaktır.
İmposter sendromunuz varsa, muhtemelen gerçekten iyi bir geliştiricisiniz çünkü aksi takdirde bunu fark edecek kadar kendinizin farkında olmazdınız.
Temel Bilgilerinizi Kilitleyin
Parlak ve yeniyle dikkatinizin dağılması kolaydır, ancak temelleriniz sağlam değilse, o zaman inşa ettiğiniz şey, zamanın testine dayanamaz.
Yakın bir arkadaşımın bir keresinde bana dediği gibi:
"Temellere odaklanmak her zaman benim mantram olmuştur. İyi şeyler inşa edip sorunları çözebiliyorsanız, o zaman önemli olan tek şey bu, onları nasıl çözdüğünüz (araçlar) her zaman değişti ve değişecek."
Örneğin, React ün kazandığında, her zaman ES6 ile bir arada görünüyordu ve ben çerçevenin kendisinin nüanslarından ziyade dildeki bu değişikliklere veya eklemelere odaklandım. React ölüp gittiğinde, en son vanilya Javascript'i hakkında edindiğim bilgiler yaşamaya devam edecek. Chrome'da yerel olarak oynayabileceğiniz birçok özellik, böylece Babel'i alıp onunla oynamak için bağımlılık cehenneminde çıkmaza girmenize gerek kalmaz.
Her Şeyi Öğrenmenize Gerek Yok
Bu gerçekten önemli. Bizi öldüren şeyin yeni çerçeveler, kütüphaneler ve modüller olduğunu düşünmüyorum, hepsini öğrenmemiz gerektiğine dair kendi inancımız.
Öğrenirken en iyi bahsin odaklanmaya devam etmek olduğunu düşünüyorum - şu anda ES6'da işlevsel JavaScript programlamayı araştırıyorum.
Listemde öğrenmek istediğim tonlarca başka şey var ama dikkatimi dağıtmamaya çalışıyorum. Örneğin, erişilebilirlik bilgilerimi tazelemeyi, Polymer ile oynamayı ve Grid gibi en yeni CSS tekniklerinden bazılarına dalmayı çok isterim, ancak aynı anda çok fazla farklı alan hakkında okumaya başlarsam, tüm bilgileri saklamayacağım. Bu diğer şeyler hiçbir yere gitmiyor, onlara ulaştığımda onlara ulaşacağım.
Belirli bir konudaki her şeyi denemek ve tüketmek için acele etmekten kaçının . Zaman ayırın ve iyice anladığınızdan emin olun.
Eğer benim gibiyseniz, sürekli büyüyen bir listeniz olacak, ancak ondan öğeleri çıkarmaktan korkmayın. Her şeye zaman ayırmaya değmez ve nelerin öğrenmeye değer olduğunu ve birkaç yıl içinde nelerin ortadan kalkacağını belirlemeye çalışmalısınız. Programlama tasarım kalıplarını ve mimari teknikleri öğrenmek için zaman ayırmak, uzun vadede çerçeve alanındaki mevcut sıcaklığa atlamak yerine her zaman daha faydalı olacaktır. Pistte kısa bir süre sonra tekrar buzzword tombala oynamak için çabalamak zorunda kalacaksınız.
Çoğu Şirket Bleeding Edge Teknolojisini Kullanmıyor
Ortaya çıkan pek çok yeni şey var, web şaşırtıcı bir hızla ilerliyor, ancak işletmelerin bu yeni teknolojileri gerçekten benimsemeye başlaması genellikle uzun zaman alacaktır. Şirketlerin çoğu, bir teknolojinin olgunlaşmasını bir süre bekleyecek ve sahada kanıtlandığını görecek.
Angular altı yıl önce yaratıldı ve ben ilk olarak üç yıl önce bunun onlar için bir çerçeve olduğuna karar veren bir girişimde çalışmaya başladım. Reactjs yaklaşık üç yıldır var ve şu anki şirketim onu Noel'den hemen önce kullanmaya başladı. O zaman içinde başka birçok çerçevenin gelip gittiğine eminim. Hepsinin üzerine atlasaydım delirecektim.
CSS ülkesinde, Flexbox 2010'dan beri mevcut - altı yıl önce! Tarayıcı desteği hala sınırlıdır. Bu yılın başlarında üretimde kullanmaya başladık, ancak başka yerlerde vahşi doğada pek kullanıldığını görmüyorum.
Demek istediğim, her şeyi öğrenmek için acele etmeye gerek yok, teknoloji hızlı hareket edebilirken, potansiyel işverenleriniz çok daha yavaş ilerliyor. Önde olmanıza gerek yok, sadece gidişatına dikkat ettiğinizden emin olun.
Ne kadar çok öğrenirseniz, o kadar çok bilmediğinizi keşfedersiniz ve sorun değil
Bu tamamen normaldir. İlk başladığınızda, neyi bilmediğinizi bilmiyorsunuz. Sonra bir şeyler öğreniyorsun ve bir dahi olduğuna karar veriyorsun. Sonra yavaş yavaş bu fantezi çözülür ve aslında orada bilmediğiniz ne kadar çok şey olduğunu anlamaya başlarsınız.
Esasen, ne kadar çok deneyim kazanırsanız, boşluğun o kadar derinlerine inersiniz. Bununla barışmalısın, yoksa seni tüketir. Herhangi bir şey varsa, bu duygu size doğru yönde ilerlediğinize dair güven vermelidir. Seçtiğimiz meslekte, tüm ön uç bilgilerden inşa edilmiş bir tahtta asla rahatça oturamayacaksınız.
Tüm Boş Zamanınızı Öğrenmeye Harcamayın
Her dakika kod yazmanız ve öğrenmeniz gerektiğinin çok gerisinde olduğunuzu hissetmek kolaydır. Bu Burnout-ville'e tek yönlü bir bilet. Becerilerinizi geliştirmek için biraz zaman ayırın, planlanması için patronunuzla biraz zaman pazarlık edip edemeyeceğinize bakın ve zamanın geri kalanını sevdiğiniz şeyi yaparak geçirin.
Spor salonunda bazı kodlama deneyimlerim oldu. Egzersiz yapmak bedeniniz kadar zihniniz için de son derece önemlidir. Zihninizi keskin tutmak ve tükenmişliği önlemeye yardımcı olmak için günde en az 20-30 dakika yapmaya çalışın.
Aileniz ve arkadaşlarınız için zaman ayırın - onlarla alışveriş hakkında konuşmamaya çalışın!
Bu Bir Geliştirici Pazarı
Hemen iş bulma konusunda endişelenmeyin. Şu anda, onları dolduracak geliştiricilerden daha fazla rolün olduğu çok şanslı bir konumdayız. Bunun ne kadar süreceğini bilmiyorum, ama şimdi bundan yararlanın!
Her şeyi bilmeden iş bulabilirsin. Yaptığım görüşmelerde, insanların %99'unun bunu tamamen övdüğünü öğrendim.
En kötü senaryo, eski kodda altın olduğunu unutmayın. Eski yöntemleri seven bir geliştiriciyseniz, geliştiricilerin yazılımları üzerinde çalışmasına ihtiyaç duyan, eski teknolojiye takılıp kalmış şirketler her zaman olacaktır.
Çözüm
Umarım bu ipuçlarından bazıları, hissedebileceğiniz bazı hayal kırıklıklarını hafifletmeye yardımcı olmuştur. Yapabileceğiniz en kötü şey, sınıra ulaşmak ve tamamen tükenmiş olmaktır çünkü bir kez olduğunuzda, yaptığınız işe ve bunu neden yapmaya başladığınız için sahip olduğunuz tutkuyu yeniden kazanmak çok zordur.
Mutlu kodlama!