Kodlamayı öğrenen ilk 1000 saatime dair düşünceler

 Kodlamayı öğrenen ilk 1000 saatime dair düşünceler
Okunuyor Kodlamayı öğrenen ilk 1000 saatime dair düşünceler
“Zihin, bir kez yeni bir fikir tarafından esnetildiğinde, asla orijinal boyutlarına geri dönmez.” 
– Ralph Waldo Emerson

Yazara göre Michael Simmons ,

Öğrenmek, zamanımızın yapabileceğimiz en iyi yatırımıdır.

Veya Benjamin Franklin’in dediği gibi,

Bilgiye yapılan yatırım en yüksek faizi verir.

Bugün 4 Ekim 2017, Çarşamba ve tam olarak 513 gün sürecek, benim bilmediğim bir öğrenme ve kişisel keşif yolculuğuna çıkmak üzereyim. Bu süre zarfında, ortak bir hedef olarak, bir yazılım geliştiricisi olarak kariyere geçiş yapmak amacıyla, yaklaşık 700 saat kendi kendine öğretmenin yanı sıra bir kodlama eğitim kampında yaklaşık 500 saat geçireceğim.

Şimdiye kadar hızlı bir şekilde ilerleyin ve bir sonraki yolculuğumun başlangıcını merakla beklerken, çeşitli iş tekliflerini değerlendirecek kadar şanslıyım.

Bu hikaye, kısmen hem yatıştırıcı hem de zamanında yapılacağını düşündüğü için, son on yedi ayın bir yansımasıdır, ancak esas olarak programlama dünyasına kendi yolculuğunun başında herkes için bazı yararlı bilgiler sağlayabileceğim umuduyla.

Bu bağlamı göz önünde bulundurarak, o soğuğa, ıslaklığa ve geriye dönüp baktıktan sonra, Codecademy’nin “Sıfırdan Web Siteleri Oluşturma” programını başlatan bir kafede oturduğum bir kafede oturduğum ilhamla dönelim . Önümüzdeki on üç ay, neredeyse kırk çevrimiçi kursu tamamlamamı , ayrıca dört kitap ve sayısız Orta düzey makale okumamı görecek , hepsi de tek bir amaç için.

İlerlememi titizlikle belgelerken, ileri düzey öğrenme arayışında bir kaynaktan diğerine özlemle atlayarak öğretici bir bağımlı olduğumu söyleyebilirsin. Birçoğunuz bu davranışla ilişki kurabilirsiniz ve bu beni bu süreç boyunca edindiğim ilk ve belki de en temel öğrenmeye götürür.

İçindekiler

Öğrenme # 1 – Öğretici araflara dikkat edin

Hedefime ulaşabilmemin ana nedenlerinden biri, bugün İnternet üzerinden mevcut olan çok çeşitli kaliteli eğitim içeriğiyle ilgilidir; genellikle ücretsiz veya nispeten düşük maliyetlidir. Udemy , Pluralsight ve Frontend Masters gibi platformlardan Tyler McGinnis , Andrei Neagoie , Scott Tolinsky ve Wes Bos gibi bireysel katkıda bulunanlara kadar , hevesli bir yazılım geliştiricisi olmak için gerçekten daha iyi bir zaman olmamıştı.

Bununla birlikte, bu engin kolay öğrenim bolluğunun doğal bir sorunu var . Birincisi, pasif tüketimi teşvik edebilir ve karşılığında pek çok faydası olmadan öğrenme yanılsamasını sağlayabilir. İkincisi, sizi zor öğrenmeyle gelen gerçek derslerden korur . Öğrenmek ne zor ki sorabilirsiniz. Eh, uygun Will Cümle gelen CodeSmith ,

Yeni bir şey öğrenmek zordur ve zihinsel olarak yorucudur - ancak en iyi gelişiminiz, içinden geçmeniz gereken anlayışınızda zor bloklarla karşılaştığınızda olur. Bu engellerin üstesinden gelmek size problem çözme becerilerini ve yeni sorunları çözme anlayışını verir. Ancak, büyük olasılıkla pes edeceğiniz bu bloklarda.

Will’in burada tam olarak neyi kastettiğini tam olarak anlamam bir yıldan biraz fazla sürdü, ancak bunu yaptığımda, Northcoders Developer Pathway’e başvurma kararımda oldukça etkili oldu . Bu kodlama önyükleme kampı hakkında daha sonra daha fazlası, ancak buradaki temel çıkarım, eğitimlerin genellikle yeni bir dil / çerçeve / kitaplık için harika bir başlangıç ​​noktası olmasıdır. Ancak, yalnızca onlar tarafından yönlendirilmeye bağımlı olmanıza izin vermeyin. Konfor bölgenizin dışına ne kadar çabuk adım atarsanız ve gerçek ürünler oluşturmak için ellerinizi kirletirseniz, bir geliştirici olarak yeteneklerinizi ve güveninizi o kadar çabuk bulacaksınız.

Öğrenme # 2 – Son derece seçici olun

İkinci öğrenme, kodlama ayak izim olarak düşündüğüm şeyle ilgilidir . Bu daha çok neyle , nasıl ile daha az ilgileniyor .

Benim için web ve mobil uygulamalar geliştirmek istedim, bu yüzden MERN yığınının temel taşlarını öğrenmeye odaklandım; MongoDB, Express, React ve Node.js, sağlam bir HTML, CSS ve JavaScript temeli üzerine. İstekleriniz farklı olabilir, ancak becerilerin genişliği ile bilgi derinliği arasında sağlıklı bir denge kurma ihtiyacı da aynı derecede önemli olacaktır.

Programlamayı öğrenmenin en zorlu yönlerinden biri, bunun zaman alıcı bir süreç olmasıdır. Makul bir yetkinlik seviyesine ulaşmanız için yüzlerce saat kasıtlı uygulama yapmanız gerekecek .

“Kasıtlı uygulama rahat bir aktivite değildir. 
Sürekli çaba ve konsantrasyon gerektirir. 
Bilinçli uygulama sanatında ustalaşan insanlar kendilerini yaşam boyu öğrenenler olmaya adamışlardır – her zaman keşfedip deneyler ve geliştirirler. ” 
– James Clear

Tekrar vaktim olsaydı, bunun bir maraton değil, bir sprint olmadığı gerçeğiyle barışırdım. Örneğin, React ve Node.js gibi popüler kitaplıkları ve çalışma zamanlarını keşfetmeden önce JavaScript hakkında daha derin bir anlayış kazanmaya çalışmıştım. Sıcak bir konudan diğerine atlamak çok kolay, sadece yüzeyi gerçekten gözden geçirirken.

Bunun yerine, zamanınızı nasıl ve nereye harcadığınız konusunda acımasızca disiplinli olun ve anında geri ödemeyi geçmişe bakacak kadar sabırlı olun. Bilginizin parçalarının toplamından daha fazla olduğu bir noktaya güvenin; sadece daha geniş teknolojik manzara hakkında daha net bir anlayış sağlamakla kalmaz, aynı zamanda gelecekte yeni kütüphaneler ve çerçevelerle başa çıkma becerinizi de geliştirir. Benim için bu yaklaşık 800 saatti, ancak kilometre açıkça farklı olacak.

Öğrenme # 3 – Tekrar tüm öğrenmenin anasıdır

Yolculuğum boyunca çoğu zaman, bir sonraki kursu üstlenmem gereken bir iç ikilemle karşı karşıya kaldım (biliyorum, Öğrenme # 1 🙄’ye bakın). Örneğin, ben resmi geçmesi do, Tepki ben öğrenme ilgilenen söylemek öğretici / dokümantasyon , ya da biraz para ile ben düşeni ve bir ders yapmak Andrew Mead , Stephen Grider , Tyler McGuiness , Scott Tolinksy veya Wes Bos için, birkaç isim.

Farkına vardığım şey, öğrenmemi hızlı bir şekilde takip edecek hiçbir sihirli değnek, sihir kursu ve hatta pedagoji olmadığıdır. Ben de hepsini yaptım.

Birçoğu için bu tekrarlayıcı görünecek, ancak tam da bu tekrar sayesinde bilgi derinliğim arttı. Öğrenmenin bir hedef değil, bir yolculuk olduğunu hatırlamak önemlidir. Asla gerçekten varmazsınız, bu yüzden sürecin tadını çıkarmayı öğrenin ve arada bir adımlarınızı geri izlemenin değerini anlayın.

“Yol uzun ve birçok virajlı dönüş var.” 
– Hollies

Öğrenmek # 4 – Boşlukta çalışmaktan kaçının

En kodlama bootcamp yapıyor arkamda ana motivasyonları biri Northcoders onüç ay boyunca zar zor kimseyle bir teknik görüşmesi yaptı ediyorum olmasıydı, ne de böyle bir yazılım geliştirici olarak çalışan diğer temel yönleri maruz kalmış çevik ilkeler , sürüm kontrolü , çift ​​programlama ve Test Odaklı Geliştirme . Yeteneklerim büyüdükçe, öğreticilerden aldığım güçlü endorfin etkisi zayıflamaya başladı.

Bu aynı zamanda, yeni edindiğim becerilerimi diğer insanlarla gerçek projelerde test etme konusundaki artan arzuyla uygun bir şekilde tezat oluşturuyordu. Bu sadece oldukça tatmin edici bir aktivite değil, aynı zamanda öğrenmeniz üzerinde de önemli bir etkiye sahiptir, çünkü size toplu olarak daha zorlu problemlerin üstesinden gelmeniz için güven verir (bkz. Öğrenme # 1).

Kodlama yolculuğumun yaklaşık altı ayında freeCodeCamp’ın farkına vardım ve bu gecikmiş giriş nedeniyle zengin müfredata nereden başlayacağımdan emin değildim. Ayrıca öğrenci merkezli öğrenmelerini oldukça ürkütücü bulduğumu ve nihayetinde alıştığım daha kolay olana geri döndüğümü itiraf etmeliyim .

Geriye dönüp baktığımda, tam da en iyi öğrenmenin yapıldığı bu belirsiz, yapılandırılmamış ve rahatsız ortamda olduğu için bunun bir hata olduğunu görüyorum.

Webodasının diğer içsel faydalarından biri de, mücadeleyi ve eğlenceyi paylaşabileceğiniz benzer düşünen insanlardan oluşan canlı bir topluluğa erişebilmenizdir. Kişisel deneyimlerime dayanarak konuşamam, ancak yeniden başlıyorsam, muhtemelen yolculuğuma buradan başlardım.

Öğrenme # 5 – İlerlemenizi belgeleyin

Son olarak, bu çabaya harcadığınız zamanın kaydını tutmanızı şiddetle tavsiye ediyorum. Ben ilgilenen olanlarınız üzerinden bir göz atabilirsiniz için tamamen yeni bir seviyeye, bu stratejiyi aldı burada . Şimdi, benim kadar titiz olmanız gerektiğine inanmıyorum, ama ne diyebilirim ki, bir şeyi geliştirmek istiyorsanız, onu ölçerek başlayın .

İzleme konusundayken, Git / GitHub’ın işleyişini olabildiğince erken öğrenmenizi şiddetle tavsiye ederim . Bir eğitim üzerinde çalışıyorsanız, onu mini bir proje olarak ele alın ve değişikliklerinizi az ve sık sık uygulayın. Sadece profesyonel bir ortamda size iyi hizmet edecek kas hafızası geliştirmekle kalmayacak, aynı zamanda olası işverenler genellikle GitHub geçmişinize bakacaklar, bu nedenle üzerinde çalıştığınız şeyin anlamlı bir izini bırakmak, istihdam edilebilirlik açısından sadece iyi bir şey olabilir. .

Jerry’nin son düşüncesi ile hemen geri döneceğiz. 
– Jerry Springer Gösterisi

Son olarak, daha önce de bahsettiğim gibi, muhtemelen kodlamayı öğrenmedeki en büyük zorluk zamana bağlı. Bu sadece onu bulmakla ilgili değil, daha spesifik olarak spor uzmanlarının odaklanmış ve çaba gerektiren eğitim olarak tanımlayacağı şeye yeterince yatırım yapmak .

Bunu akılda tutarak, bu uzun süreç boyunca motivasyonunuzu sürdürmek kesinlikle başarınızın anahtarıdır. Beyzbol tarihinin en büyük vurucularından biri olan Joe DiMaggio, bodrum duvarındaki her antrenman vuruşunu takip etmek için bir parça tebeşir kullandı . Tüm zamanların en başarılı basketbolcularından biri olan Kobe Bryant, 800 yaptığından emin olmak için antrenman sırasında her şutu saydı . Benim için, koyduğum her kaliteli saatin dürüst ve ayrıntılı bir kaydını tuttum, çünkü bu sayının zamanla arttığını izleyerek, moral düşükken odaklanmamı daha kolay yeniden ayarlayabildim.

Şu ayrılık düşüncesini bir düşünün: Sör Edmund Hilary ve Sherpa Tenzing Norgay 1953’te Everest’i ilk kez fethettiklerinden beri 4.000’den fazla insan zirveyi başarıyla ölçeklendirdi. İlgili becerileri, kaynakları ve yaklaşımları şüphesiz farklılık gösterse de, birleştirici özelliklerden biri, hepsinin her seferinde bir adım atmasıdır . Zorluk ne kadar uzun olursa olsun, başarılı bir şekilde daha küçük zorluklara bölerseniz ve bunların her birini sırayla çözerseniz, başarı şansınız önemli ölçüde artar.

Sonuçta, en soyut düzeyinde, temelde yazılım geliştirmenin anlamı budur.

Sorunu Çözmek

Ve nefes alın… Bu makale zaten amaçladığımdan çok daha uzun bir süre oldu, bu yüzden bu kadarını yapmış olanlar için, zaman ayırdığınız için teşekkür ediyor ve bazı yararlı çıkarımlarla ayrılmanızı umuyorum. Sabırsızca bir kitabın son sayfasını okumaya meyilli olanlar için, size şunu öneriyorum…

TL; DR

  • Çevrimiçi eğitimler, yeni bir dilin / çerçevenin / kitaplığın temellerini verimli bir şekilde öğrenmenin harika bir yoludur, ancak mümkün olan en kısa sürede bunlardan kurtulun.
  • Mücadele etmekten ve hatta teknik bir şeyi başarmakta başarısız olmaktan korkmayın, çünkü bu mücadele içinde en iyi öğrenme yapılır.
  • Karmaşık bir problemi daha küçük, daha basit olanlara ayırmanın ve ardından çözümlerinizi bunlara yeniden düzenlemenin değerini anlayın.
  • Buluşmalara katılarak, bir eğitim kampına katılarak veya sadece çevrimiçi sohbet ederek benzer düşünen insanlarla kendinizi kuşatın.
  • Düzenli uygulama ile kasıtlı uygulama arasındaki farkı anlayın . İkincisi için çabalayın.
  • Bir kodlama başlangıç ​​kampı, bir yazılım geliştiricisi olarak bir işi güvence altına alma sürecini hızlandırmanın harika bir yoludur. Kaliteli bir program size sadece ihtiyacınız olan teknik temelleri vermekle kalmayacak, aynı zamanda bu yetenekleri potansiyel işverenlerin gözünde doğrulamaya yardımcı olacaktır.
  • Bir kodlama eğitim kampını tercih ederseniz, önceden en az 150 saat kaliteli kendi kendine öğretmeye çalışın ve yatırım yapın. Bu sadece kodlamanın sizin için doğru olduğuna dair bir güvence sağlamakla kalmayacak, aynı zamanda yoğun bir süreç olacağı konusunda sizi iyi durumda tutacaktır.
  • İlerlemenizi belgeleyin. Bir yazılım geliştiricisi olarak her gün öğrenmek için bir fırsattır ve süreç asla tamamlanamaz. Yolculuğun tadını çıkarmayı öğrenin ve belirli bir varış noktasına varma konusunda daha az endişe edin.

Ve sonunda…

  • Kaliteli kod yazmak, kaçınılmaz olarak devlerin omuzlarında durmayı gerektirir . Bu, bir meslektaşın çalışması, popüler bir çerçeve / kitaplık veya dilin kendisi gibi birçok biçimde olabilir. Bu, programlamanın harika ve doğal bir yönü, ancak bir yardım eli sunmanın da işe yarayacağını unutmayın. Hem katılımcı hem de tüketici olun.

Yararlı Kaynaklar

  • HTML ve CSS için Jonas Schmedtmann’ın Udemy kursunu öneririm.
  • JavaScript için, Will Cümle’nin Frontend Masters hakkındaki üç kursunu şiddetle tavsiye ederim . Ben gibi JavaScript kursu, bir giriş tamamladıktan sonra bunları taahhüt ediyorum bu yüzden bu, orta seviye vardır bu bir .
  • React için Tyler McGinnis’in kurslarını öneriyorum . Tyler, pasif öğrenmenin tehlikeleri ile çok uyumludur ve okuma, izleme ve uygulamalı gelişimi içeren oldukça ilgi çekici materyaller sunar. Bana göre kutsal bir üçlü.
  • Node.js için Andrew Mead’in Udemy kursunu tavsiye ederim . Bu seferki Mosh Hamedani tarafından da çok iyidir; özellikle bir RESTful API oluşturmakla ilgileniyorsanız. İkisini de yapardım 🤓 (yukarıdaki Öğrenme # 3’e bakın).
  • MongoDB için Stephen Griders’ın Udemy kursunu öneriyorum. Çok sayıda iyi kursu var, ancak çok sayıdan dolayı biraz güncelliğini yitirebilirler. İçeriği en son ne zaman yenilediğini kontrol etmeye değer. Aslında aynı şey herhangi bir kurs için de söylenebilir.

Sizi nereye götürürse götürsün, önünüzdeki yolculukta iyi şanslar! Lütfen aşağıdaki yorumlar bölümünde soru sormaktan çekinmeyin.

Mutlu kodlamalar!

Dilerseniz Bir Sonra Ki Blog Sayfalarımıza Göz Atabilirsiniz..

Görüşmek Üzere Hoşçakalın WebOdasıyla Kalın..

Yorum Yap