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?
Ş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.
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.
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:
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:
Bazı dillerde temel programlama/CS kavramlarını öğrenin
Yapmak istediğiniz programlama türüne (ön uç, arka uç, mobil vb.) geçici olarak karar verin.
Bu tür programlamanın temellerini, buna çok uygun teknolojilerle öğrenin
İş 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.
İ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?
%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.
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ı.