paint-brush
Geliştirici İşi Almada Kısayol Yok: Yavaş Yolu Kodlamayı Öğreninby@wagslane
2,687
2,687

Geliştirici İşi Almada Kısayol Yok: Yavaş Yolu Kodlamayı Öğrenin

Lane Wagner5m2023/09/13
Read on Terminal Reader
Read this story w/o Javascript

3 ay içinde geliştirici işine ihtiyacım var; bunu yapmanın en iyi yolu nedir? Bir işe girmenin kısayolu yoktur.
featured image - Geliştirici İşi Almada Kısayol Yok: Yavaş Yolu Kodlamayı Öğrenin
Lane Wagner HackerNoon profile picture
0-item

Boot.dev'i başlattığımdan beri, "hızlı sorular" adını verdiğim sorularla dolup taşıyorum. Görünüşte, bataklık bir soru iyi bir soru gibi görünüyor . Eğer bu soruyu yanıtlayabilirseniz, sizi bulunduğunuz yerden (Wendy'nin arabalı restoranındaki gece vardiyası) olmak istediğiniz yere (arkadaşlarınıza burada çalıştığınızı söylemek) fırlatır. Netflix ve diğerleri).


Quicksand sorularının tamamı kısayol bulmakla ilgilidir.


3 ay içinde geliştirici işine ihtiyacım var; bunu yapmanın en iyi yolu nedir?


Arka uç öğrenme yolunuzda 20 ders belirlediğinizi görüyorum, ancak *göz kırpıyor* hangilerini atlayabilirim?

Kısayolların nesi yanlış?

Şimdi açık olmak istiyorum: Kariyer hedefinize doğru daha kısa bir yol izlemeyi istemekte kesinlikle yanlış bir şey yok. Bunun dışında her şey delilik olurdu. Seni bir gecede üst düzey bir geliştiriciye dönüştürecek bir hap olsaydı, o salağı patlatmanı tavsiye ederim.


Teorik olarak, eğitimsel minimumları maksimuma çıkarmak sağlam bir strateji gibi görünüyor, ancak pratikte işe yaramıyor.

Neden? Çünkü varış yeri bilinmiyor .


Nereye gittiğinizi biliyorsanız Dijkstra'nın algoritması harikadır. Eğer yapmazsan, başka bir şeye ihtiyacın var.

Kimse nereye gittiklerini bilmiyor

Teknoloji sahnesi karmaşıklığın bir kümesidir. Üniversitede yaklaşık on farklı programlama dili öğrendim ve diplomamı aldıktan üç yıl sonra bile Go yazan bir arka uç mühendisi olarak çalışacağımı hâlâ bilmiyordum.


Gömülü sistemlerden ön uç geliştirmeye kadar her türlü saçmalık için görüştüm. Evet, görünüşe göre Prolog dersim ilk röportajımda pek işe yaramadı ama biliyor musun? Acımadı ve artık birisi "Bu bir bildirim sistemidir" dediğinde yüz ifadem bilgisizliğimi ele vermiyor.


İlk görüşmenizi geçmek için tam olarak hangi kavramlarda uzmanlaşmanız gerektiğini biliyorsanız, o zaman etkili bir kısayol bulabilirsiniz. Sorun şu ki, mümkün olan her ilk görüşmeyi geçmek için her zaman yeterli olacak kesin bir bilgi alt kümesi yoktur.


  • Her şirketin kendi dandik teknoloji yığını vardır

  • Her Başbakan'ın kendi "çevik" versiyonu vardır

  • Her işe alım yöneticisinin kendi 7 adımlı görüşme süreci vardır

  • Her iş farklı gizli bilgiler gerektirir


Kodlamayı öğrenmeye başladığınızda ilk işinizde her gün ne yapacağınız hakkında hiçbir fikriniz yok. İnsanların "İşyerinde DSA becerilerimi asla kullanmıyorum" gibi şeyler söylediğini duyuyorum ve daha ayrıntılı inceleme sonrasında onların bir WordPress "geliştiricisi" olduğu ortaya çıkıyor.

Yani en kısa yolla ilgilenmemeli miyim?

Malısın; bulacağını sandığın yer orası değil. Programcı olarak işe giden en kısa yol, öğrenmeniz ve geliştirmeniz gereken şeylerin miktarını en aza indirmeyi gerektirmez . Bu tür bir düşünce, çok daha uzun, zihinsel olarak daha yorucu bir yolculukla sonuçlanır. Bunun gibi bir şey:


  1. Doğrudan bir web çerçevesine geçin (temel düzeyde olduğunuz için muhtemelen Next.js).
  2. TODO uygulamaları geliştirme konusunda yeteneğinizin olduğunu bulun
  3. Bir eğitim olmadan bir "merhaba dünya" kuramayacağınızı anlayın
  4. Daha fazla eğitim vererek bu sorunu çözmeye çalışın
  5. Twitter'da kesinlikle Rust'ın en iyi dil olduğunu okuyun
  6. Borç kontrolörünün elindeki yenilgiyi kabul et
  7. 1-4 arası adımları n kez tekrarlayın; burada n d4_roll * your_stubbornness

En kısa yol (veya en azından daha kısa bir yol ) genellikle şöyle görünür:

  1. Bazı dillerde temel programlama/CS kavramlarını öğrenin

  2. Yapmak istediğiniz programlama türüne (ön uç, arka uç, mobil vb.) geçici olarak karar verin.

  3. Bu tür programlamanın temellerini, buna çok uygun teknolojilerle öğrenin

  4. İş ararken asla öğrenmeyi ve geliştirmeyi bırakmayın


Beni yanlış anlamayın, bu ikinci yol hâlâ kısa değil. Programlama kolay değildir; Size öyle söylendiği için üzgünüm, ancak çaba göstermeye istekliyseniz, eğitim cehenneminin 9. çemberinde amaçsız bir gezintiden kaçınabilirsiniz.

İşten korkmayın

İnsanlar en kısa öğrenme yolunu bulmak için ya da "bir daha asla kullanmayacakları" şeyleri öğrenmekten kaçınmak için çağlar harcıyorlar. Gereksiz bir iş yapmaktan kaçınmak için kesinlikle hiçbir şey öğrenmeden aylar ya da yıllar harcamakta sorun yok. Sonunda yapacağınız işe doğrudan uygulanamayacak bir şeyi öğrenmek için birkaç gün harcama riskini mi göze alıyorsunuz?

Dogecoin aya mı uçacak?

%100000000 dürüst olalım. Bazı insanlar eski moda, hızlı bir şekilde zengin olma planı arıyor. Döngülerle birkaç hafta uğraştıktan sonra pes edecekler ve Fiverr'da yapay zeka destekli bir kripto ticaret botu satın alacaklar. O insanlar gibi olmayın.


Yazılım mühendisi olmak "çabuk zengin olma" planı DEĞİLDİR. Bu bir "üst-orta sınıfı yavaşlatma" planı


"Bunu yapmanın" püf noktası mı? Aslında iyi olmak lazım.


Bu nedenle, karşılaştığınız bir sonraki hatayı "düzeltmek" için StackOverflow'tan gelişigüzel kopyalayıp yapıştırmak yerine, bunun ne anlama geldiğini anlamak için ekstra dakikalar ayırın. Bir şeyi "düzelten" kaç tane PR'yi incelediğimi size anlatamam ama bunlar sadece bir yama yaması çünkü geliştirici altta yatan sorunu asla çözmedi.


Örneğin, eski bir Java geliştiricisi (her zaman bir Java geliştiricisidir), bazen bu işlevin (Go'da) paniğe kapıldığını fark eder:

 // sendEmail sends emails, but sometimes panics func sendEmail(e *email) error { // ... }

Doğrudan Google'a giderler ve Go'daki paniklemenin bir recover işlemiyle "çözülebileceğini" görürler. Böylece bir çekme isteği açarlar:

 func sendEmail(e *email) error { defer func() { if r := recover(); r != nil { log.Println("recovered from panic in sendEmail") } }() // ... }

Bu işe yarar mı? Ancak daha iyi bir geliştirici kodun altında yatan sorunu anlamaya ve düzeltmeye çalışacaktır. Bu işlev için nil kontroller eklerler veya işaretçileri kullanmayı tamamen bırakırlar ...

 // now sendEmail never panics func sendEmail(e email) error { // ... }

Sona ulaşmaya değil, daha iyi olmaya yönelik bir önyargıya sahip olmak istiyorsunuz. Bir "son" yoktur. Dışarıda öğrenilecek çok şey var.Yazılım mühendisliğinin tamamının kapsamı, son programınızın küresel ad alanının kapsamından daha geniştir.

İstediğin tavsiye bu değil

Formda kalmak, bağımlılıktan vazgeçmek, bir iş kurmak ve evet, ilk geliştirici işinizi almak hepsi zordur . Kısayolları arayarak zamanınızı boşa harcayarak işinizi zorlaştırmayın.


Daima temel bilgileri öğrenin, ilginizi çeken projeler oluşturun ve yalnızca bir veya iki yıllık tutarlı çabayla ne kadar ileri gidebileceğinize şaşıracaksınız.


Burada da yayınlandı.