Yazılım geliştiricilerle ilgili yaygın bir efsane, okulda matematik dehaları olan, bilgisayar ekranlarının önünde kod yazarak saatler geçiren sıkıcı ve kuru ineklerin olmasıdır.
Evet, geliştiriciler hayatlarını bilgisayar ekranlarının önünde kod yazarak geçirebilirler. Ancak, bütün gün bir makine gibi kodlamaktan çok daha fazlası var. Şahsen benim için geliştirici olmak, kendi başınıza harika şeyler inşa etme şansınız olduğu anlamına geliyor.
İkinci yılımda kendi kendine öğrenen ön uç geliştirmeye başladım. Yolculuğum, neşe ve aşırı heyecanla birlikte kendinden şüphe ve engellerle dolu. Bir şeyler öğrenirken tüm bunları deneyimleyebileceğimi hiç hayal etmemiştim.
Bazen, şimdi bile doğru yolu takip edip etmediğimi merak ediyorum. Ancak kendime sevdiğim şeyi yapabilmekten daha zevkli bir şey olmadığını söyleyerek kafamı eğip çalışmaya devam ediyorum.
İlk kod satırlarımı yazmaya başladığımdan bu yana yaklaşık iki yıl geçti. Saatlerce çalıştıktan sonra, bazen vazgeçmek gibi bir hisle ve ardından geçici bir kesinti ile, en başından bildiğimi dilediğim birkaç şeyi sizinle paylaşmak istiyorum.
İçindekiler
Kodlamayı boş zaman ilgisi olarak görmeyin
Öncelikle ve en önemlisi, kodlama sırasında ciddi olmanız gerektiğini düşünüyorsanız, yüzde 100 haklısınız. Beğenmediğiniz bir şeyi yapmak için muhtemelen zaman harcamayacağınız kesinlikle doğrudur.
Ancak, bunu sadece hobi temelinde yapmak – yani, yalnızca belirli bir taahhüt veya program olmadan yapmak istediğinizde kodlarsınız – muhtemelen sizi her zaman istediğiniz kariyere götürmez.
“Bu nedenle tutkunuza inanılmaz derecede bağlı olmalısınız dostlarım. Evet, tüm geliştiricilerin genel olarak kodlama ve teknolojiye büyük ilgi gösterdiğinden eminim.“
Ancak doğru uygulama olmadan tutku hiçbir şey değildir. Belirli bir hedefe ve uygun bir programa bağlı kalarak yolculuğunuz boyunca kilometre taşları oluşturursunuz. Verdiğiniz zaman dilimine büyük bir taahhütte bulunun. Belirli bir süre boyunca hangi becerileri ve teknolojileri öğrenmek istediğinizi belirtin. O zaman, kodlamayı yaşamınızın zorunlu bir parçası haline getirmeyi öğrenmeye her zamankinden daha yakın olacaksınız.
Hangi teknolojilere odaklanmanız gerektiğini belirleyin
Kodlamayı ciddiye almaya başladığınızda, bir sonraki adım kendinize karşı dürüst olmaktır. Ne tür bir geliştirici olmak istersiniz?
Sizi en çok ilgilendiren şeyi kendinize sorarak başlayın. Kullanıcıların ürününüzle etkileşimde bulunma şeklini kontrol eden kullanıcı arayüzleri oluşturma konusunda tutkulu musunuz? Cevabınız evet ise, ön uç teknolojiler ana odağınız olmalıdır. Ya da belki tasarım DNA’nızda değildir ve sunucu tarafının nasıl çalıştığı ile ilgileniyorsunuz – o zaman arka uç şeyler odaklanmanız gerekir.
İlgi alanlarınıza göre öğrenmeniz gerekenler hakkında kendinize net bir fikir vermek kilit unsurdur. Hala hangi tarafın sizin için olduğundan emin değilseniz, Google onları bulsun veya her birinden biraz deneyin. Her birimizin kendi tercihleri ve becerileri vardır – en iyi yaptığımız şeyler. Yani bu soruyu cevaplamak sandığınızdan daha kolay olabilir.
Kolay şeylerle başlayın
Başlangıçta, zorluk seviyesi ne olursa olsun hemen hemen her görevle kafanız karışabilir. Uygun bir metin editörü seçmekten bir proje için bir ortam kurmaya kadar, kesinlikle beklediğinizden daha fazla soruna neden olacaktır.
Bu nedenle, ilk dilini deneyen tam bir acemi iseniz, kolay şeylerle başlamanızı şiddetle tavsiye ederim. Codecademy gibi etkileşimli kodlama oyun alanları sağlayan platformlara odaklanın.
Ben de oraya başladım. Bu platformlar, başlatma konusunda endişelenmeden yalnızca programlama dillerine aşina olmaya odaklanmanıza yardımcı olur. Elbette bunları daha sonra öğrenmeniz gerekecek. Ancak, kod yazmakla başlamanın sadece sizi heyecanlandırmayacağına, aynı zamanda bunalmaktan kaçınmanıza yardımcı olacağına inanıyorum.
Orada hangi öğrenme kaynakları var?
Yazılım geliştirici olmak için seçebileceğiniz farklı yollar vardır. Bir bilgisayar bilimi derecesine kaydolabilir, kodlama eğitim kamplarına katılabilir veya hatta kendi kendinize öğretebilirsiniz. Her iki durumda da, öğrenme materyallerinizi her zaman sürekli güncellemeniz gerekecektir. Son kategoriye ait olduğum için, öğrenme kaynaklarımı nasıl filtrelediğimi paylaşmak istiyorum.
Oyun alanlarını kodlayarak başlayın
İlk adımda, Codecademy gibi anlaşılması ve öğrenilmesi kolay platformlardan başlayarak. Talimatları okuyabileceğiniz ve ardından yerleşik web tabanlı metin düzenleyici sayesinde hemen pratik yapabileceğiniz bir yer sunar. Sonuç ekranda da gösterilir. Sadece ücretsiz oturum açın, ilgilendiğiniz teknolojileri seçin, belirlenen öğrenme yoluna girin, o zaman hazırsınız.
Özellikle yeni başlayanlar için çok faydalı bir başka kaynak da freeCodeCamp. Daha fazla premium kurs için ödeme yapmanız gereken Codecademy’den farklı olarak (ancak bunlar çok kullanışlıdır), freeCodeCamp tamamen ÜCRETSİZ kurslar ve öğrenme yolları sunar. Her ana bölümü tamamladığınızda size sertifika bile veriyorlar.
Eğitimleri ayrıca ayrıntılı talimatlar, yerleşik bir metin düzenleyici ve net açıklamalar içerir. Ek olarak, öğrendiğiniz becerileri çeşitli sorunları çözmek için kullanabileceğiniz projeler vardır.
Doğru öğrenim kaynaklarını seçmek
Bu süreç aslında oldukça zordur. Çok az güvenilir ve iyi belgelenmiş kaynak olduğu için değil. Aslında sizi potansiyel olarak ilk başta bunaltacak çok fazla öğretici var. Hangi yoldan gideceğinize karar vermek zor olabilir, çünkü muhtemelen denediğiniz her yolu izleyerek belirli bir süre geçireceksiniz. Bu nedenle, kötü bir eğitim sadece size zaman kaybettirmekle kalmaz, aynı zamanda ilerlemenizi de engelleyebilir.
Başka birine sormadan veya Google’da nerede öğrenmeniz gerektiğini sormadan önce, lütfen bana bir iyilik yapın, arkadaşlarım: önce kendinize sorun! Neden? Çünkü orada çeşitli eğitim türleri var – videolar, e-kitaplar, ders kitapları ve çevrimiçi veya yüz yüze eğitim kampları. En çok ne tür kaynaklardan etkili bir şekilde öğrenebileceğinizi yalnızca siz söyleyebilirsiniz.
Şahsen ben video eğitimlerini izlemekten ve onları izlerken kod yazmayı seviyorum. Bu yüzden onu birincil öğrenme yöntemim olarak ele alıyorum. Ama bunun yerine okumayı sevebilirsin, böylece öğrenme hızını tamamen kontrol edebilirsin. Bu durumda, iyi bilinen kitaplara gitmeniz daha iyi olur.
Nihayetinde, farklı öğrenme yöntemlerini birleştirmenin gerekli olduğunu anlayabilirsiniz. Bununla birlikte, her durumda, belki de en rahat olduğunuz birçok yararlı kaynağı bulacağınız Medium’da çok zaman harcayacaksınız.
Ve tıpkı hangi teknolojileri öğrenmeye karar verdiğinizi anlamanın, bir adım geri atın, zihninize biraz yer açın ve ne tür öğrenme kaynaklarını tüketmek istediğinizi belirleyin. Sizin için doğru olan bir şey bulduğunuzda, peşinden gidin!
İşte süper yararlı bulduğum birkaç harika kategorize öğretici:
Video
- LearnCode.academy Eğitimleri
- Traversy Media Eğitimleri
- Academind Eğitimleri
- Yeni Boston Öğreticileri
- LearnWebCode Öğreticileri
- Ralli Kodlama Eğitimleri
- LevalUpTuts Öğreticiler
- DevTips Eğiticileri
- Kodlama Teknik Eğitimleri
- freeCodeCamp Eğiticileri
- Coding Tech Tech konferansı
MOOC’lar (Ücretli çevrimiçi kurslar)
Kitabın
- Eloquent JavaScript
- JavaScript Bilmiyorsunuz
Teknoloji ve Tasarım
- Phoenix Projesi
- Beni düşündürme
- Gündelik Şeylerin Tasarımı
Kendinizi teknolojiyle çevreleyin
Yukarıda belirtildiği gibi, hangi kaynakla başlamayı seçerseniz seçin, muhtemelen farklı ortamlara güvenmeniz gerekecektir. Ve bu bir geliştirici olmanın ilginç bir parçası. Kendinizi teknolojik şeylerle çevreleyerek, “dinlenirken öğreniyor olacaksınız”.
Bunu hayal ediyorum …
Erken kalkarsınız ve çevrimiçi eğitiminize devam ederek güne başlarsınız. Neredeyse bir saat kadar konsantre olduktan sonra, ara vermeye karar veriyorsunuz. Netflix bölümü mü? Hayır. TV izleyerek bir saat geçirmenin ve bunun yerine YouTube’u açmanın hiçbir yolu olmadığını anlıyorsunuz. Coding Tech üzerine 30 dakikalık bir konuşma yapmaya karar veriyorsunuz.
İzlediğiniz video yüz binin üzerinde görüntülendi. Adam, Grid sayesinde CSS’nin geleceğinden bahsediyordu. İlginç! “Bootstrap grid sınıfları için belgeleri hatırlama veya kontrol etme zamanı bitti” diye mırıldandınız. Nasıl çalıştığını görelim!
Google CSS Izgaranız, ardından freeCodeCamp Medium yayınında yayınlanan bir blog gönderisine gidin. Bu blog sayesinde, bazı önemli noktaları kavrıyorsunuz ve denemek için VSCode’u açmak için sabırsızlanıyorsunuz. Bu harika! Oops, bir şeyler ters gitti. Muhtemelen StackOverFlow’daki kişiler tarafından birkaç soruyu veya CSSTricks hakkında daha fazla öğreticiyi gözden geçirirsiniz. Etrafta dolaşıyorsun ve sonunda işe koyuyorsun.
Öğle yemeği sırasında, bir podcast açarsınız ve kendi kendini eğiten bir geliştiricinin ilk teknoloji işini nasıl aldığını anlatan en son freeCodeCamp bölümünü dinlersiniz. Öğle yemeğinden sonra Udemy’de React eğitimine devam etmeye karar veriyorsunuz. Aniden net olmadığınız bir sorun buluyorsunuz ve Soru-Cevap bölümü yardımcı olmuyor.
Yarım saat takılıp kalmaktan yoruldunuz, geçici olarak pes etmeye karar veriyor ve daha sonra çözmeyi umuyorsunuz. Ardından, diğer teknoloji meraklılarının ipuçlarını ve trendlerini görmek için Codeburst’teki Dev topluluğunda gezinmeye gidersiniz. Burası gerçekten insanların bilgilerini paylaşmak ve başkalarıyla tartışmak için katıldığı bir yer.
Sonra şöyle düşünürsünüz: “Belki de yolculuğum boyunca gözlemlediğim ve öğrendiğim şey ne olursa olsun yazmaya başlamalıyım… o zaman bunu herkesle paylaşabilirim”. Bir Google doküman sayfası açtığınızda heyecanla yazarsınız: “Bir geliştirici olmak istiyor musunuz….”?
Bu hikaye bir şekilde sizi motive ediyor mu? Cevabınız evet ise ne bekliyorsunuz? Dünyayı daha iyi bir yer haline getirmek için hepimizin teknolojik uygulamalar geliştirdiği dünyaya atlayalım.
Pratik yapın, pratik yapın ve pratik yapın
Tamam, şimdi nereden başlayacağınıza dair bir fikriniz olduğuna göre, hemen başlamak muhtemelen iyi bir fikirdir. Ancak bir konuda iyi olmak gerçekten zaman gerektirir. Harika olmak için tonlarca iş yapmalısın. Henüz yeni başlayan bir geliştirici olmak ile deneyimli bir geliştirici olmak arasındaki boşluğu ter ve gözyaşı olmadan doldurmak imkansız.
Başka bir deyişle, bir programlama dilinde yetkin olmak için saatler – yıllar – pratik yapmanız gerekir. Nasıl soruyorsun?
- Yol boyunca karşılaşabileceğiniz eğitimleri ve aktif olarak Google veya StackOverFlow hatalarını takip edin.
- Günde belirli bir süreyi yalnızca kodlamaya ayırın.
Yorgunsanız, ara verin ve dolaşın, teknoloji liderlerinin ve deneyimli geliştiricilerin teknoloji dünyasında neler olup bittiğini paylaştığı forumları ve platformları ziyaret edin. Temel olarak kendinizi teknik şeylerle çevreleyin.
Unutmayın, başarı merdiveninin sonraki önemli adımlarına ilerliyorsunuz. Ne kadar çok iş koyarsanız, kendinizi o kadar kendinden emin ve hevesli hissedeceksiniz. Kesinlikle hiçbir kısayol olmadığını unutmayın. Bir gecede başarı elde etmenize yardımcı olacak hiçbir dil, kitaplık veya uzantı yoktur. Koşuşturmaya devam edin, başarısızlıklardan öğrenin, sorumluluk sahibi olun ve programınıza bağlı kalın ve kendinize inanın. Hayalinizin gerçekleştiği gün köşede olabilir!
Bir sonraki yazımızda görüşmek üzere hoşçakalın webodasıyla kalın…
Hata!
Yorumunuz Çok Kısa, Yorum yapabilmek için en az En az 10 karakter gerekli