Kodlama Akademisinin 5 Yolu, Nasıl Programcı Olacağınızı Öğretiyor
Arka fon
Adım Nick Coultas ve şu anda Reno, Nevada'da yaşıyorum. Programcılar / Geliştiriciler gittiği sürece burada çok küçük bir topluluk var. Bunu, yakın zamanda, Bilim Ortaklarımı takip ederek yerel Topluluk Kolejime katılmaya başladığımda, yerel Bilgisayar Bilimi / Programcılığı Üniversitesine giderken anladım. Bu süre zarfında, 6 aylık bir Bilgisayar Bilimleri / Web Geliştirme Akademisi olan Lambda Okulu'na rastladım. Bu konuya baktıkça heyecanlandım ve zamanlama mükemmeldi. İlk başta gergindim, korktum, kesinlikle bunaldım. Bununla birlikte, sonunda bir Bitirme Projesi içermeyen 70 + projeyi tamamladıktan sonra, nasıl profesyonel bir programcı olunacağına dair çok fazla bilgi edindim. Sadece öğrenmedim; yeni kodlama dilleri ve sözdizimi, ayrıca Profesyonel Geliştirici olmak için gereken gerçek yumuşak becerileri ve zekayı öğrendim.
1. Nasıl Bir Geliştirici Gibi Düşünmek
Bu başlığı yazdıktan sonra karıma sordum - eğer sadece başlığı okuyacaksa ne düşünürdü? Cevabı “Bilgisayar Akıllı / Öğrenim Kodu Nasıl Olmalı?” İdi. Bunun, bunu okuyan çoğu insanın ilk düşüncesi olacağından eminim, ancak geliştirici gibi düşünmenin kodları öğrenmekten çok daha fazlası var. Bir geliştirici / programcı olarak sürekli olarak problem çözüyorsunuz, çözüme ulaşmak için yaratıcı yollar düşünün, daha önce çözülmüş problemleri yeni bir proje oluştururken kaçınılması gereken şeylerin bir kılavuzu olarak kullanın. Herhangi bir problemi parçalara ve parçalara ayırır ve her bölümü tek seferde çözersiniz, sonuçta sizi genel sorunun cevabına yönlendirirsiniz. Bunu gerçekten hızlı bir şekilde Lambda Okulu'nda öğrendim, özellikle de tanımadığım kod / projelere atladım. Derslerden ve uygulamalardan elde ettiğim bilgileri problemi parçalara ayırmak için kullanabildim. Genel cevap açık olana kadar her bir parçayı ayrı ayrı çalışacağım. Bu yeni öğrenme ve problem çözme yöntemiyle, eğer daha sonra benzer bir şeyle karşılaştıysam, o zaman ve orada nasıl düzelteceğimi biliyordum.
Bir geliştirici gibi düşünürken ortaya çıkan bir diğer büyük bölüm ise planlamadır. Bir kontrol listesine her adımı planlamak için bir Trello panosu mu kullanıyorsanız, yoksa projenin nasıl çalışması / işleyişinin görsel bir temeli olarak bir tel çerçeve kullanıyor olsun, her zaman bir sonraki saldırı planınızı planlıyorsunuzdur. Ayrıca, her adımı en kısa zamanda tamamlanması ve uygulanması gerekip gerekmediği veya daha sonra sağlanabilecek bir özellik olup olmadığı konusunda, bir dereceye kadar derecelendiriyorsunuz.
2. Takımlarda Çift Programlama / Çalışma.
Başlangıçta Çift Programlama kavramına yaklaştığımda, özellikle yoğun ve sürükleyici bir ortamda, beni gerçekten sinirlendirdi. İnsanlar, daha önce yazma kodu bilgisine sahip olanlar da dahil olmak üzere, Lambda Okulu'ndaki her türlü farklı kökenden gelmektedir. “Anlaşılmaz” gibi ses çıkarmak istemedim çünkü diğerleri benden daha fazla şey biliyor olabilir ve ortağım (lar) a zarar vermek gibi görünmek istemedim. Ortağım (lar) ile iletişim kurmak, benden daha fazla şey biliyorlar mıydı yoksa onlardan daha fazla tanıdım mı, programın etkili bir şekilde nasıl eşleştirileceğini ve bir ekip içinde etkili bir şekilde çalışmayı öğrenmemde bana yardımcı oldu. Bu süreç boyunca, soru sormak veya bir projeyi geliştirmek için fikirler önermek yoluyla mümkün olduğunca verimli bir şekilde iletişim kurmayı öğrendim. Bu aynı zamanda kod yazarken düşünce sürecimi açıklayabilmeme yardımcı oldu. Aynı zamanda, neden başka bir şey yapmayı seçtiğimin açıklanmasında da yardımcı oldu, özellikle de gezgin ve eşim sürücü iken.
Lambda Okulu çevrimiçi bir Programdır, programdaki herkes uzaktan çalışıyor. Programlama ve Capstone projeleri üzerinde çalışırken, yanımızdaki masaya gidip soru soramazdık. Ana arama / ekran paylaşım platformumuz olarak Zoom'a güvendik ve Slack ile mesajlaşmanın yanı sıra sürekli iletişim kurardık. Bu süreç kesinlikle eşinizle iletişim kurabilmenin önemini gösterdi.
3. Kalıcılık, Tutarlılık ve Grit
Profesyonel Geliştirici / Programcı olma yolunda ilerlemek, kalıcı ve tutarlı olma becerisinin yanı sıra, büyük bir rol oynamak da hepsi büyük bir rol oynamaktadır. Her zaman elinizdeki göreve odaklanmanız ve her zaman bir çözüm bulmanın bir yolu olduğunu bilmeniz gerekir. Kodunuzla tutarlı olmak çok önemlidir. Sürekli yeni dillerin, çerçevelerin ve güncellemelerin üzerinde durmalısın. Bir proje üzerinde asla “bitmedi”, proje veya uygulamayı geliştirmek için her zaman geri dönüp güncelleyebileceğiniz şeyler vardır. Kırılgan olmak da ısrarcı olmakla birlikte devam eder, bir çözüm bulmaya çalışırken yüzünüzü klavyenize çarpmak istediğiniz zamanlar olabilir. Bu belirli anlarda elinizdeki görevle motive olmanız ve karşılaştığınız sorunu çözmeye devam etmeniz gerekir.
Lambda Okulu'nda bu şeyler doğrudan öğretilmedi, bunlar üzerine geliştirdiğiniz ve zaman içinde geliştirmeyi öğrendiğiniz yumuşak becerilerdir. Bir Geliştirici / Programcı olarak sürekli olarak koda atlıyor olamayacaksınız, hatta sizin için tamamen yeni olan teknolojiyle sıfırdan tamamen yeni bir projeye başlayabilirsiniz. Kodun nasıl çalıştığını ve daha önce hiç girmediğiniz bir dili veya çerçeveyi nasıl kullanacağınızı öğrenmek için ısrarcı olmalısınız. Bu, ne yaptığını görmek için adım adım kodun çalıştırılmasını veya tümüyle yeni bir dil veya çerçeve için dokümanları okumayı içerebilir. Bir sorunla karşı karşıya kalırsanız, adımlarınızı tekrar izleyerek, kodunuzu yazarak veya eldeki sorunu araştırarak araştıran çözümü bulmak için kalıcı olmalısınız. Aynı zamanda tutarlı olmalı, günlük olarak olabildiğince fazla kod yazmalı, yeni çerçeveler / dilleri izlemeye devam etmeli ve gerektiğinde mevcut projeler üzerinde genişlemeye devam etmelisiniz.
4. Engellerin Üstesinden Gelmek
Daha önce de belirttiğim gibi, probleminize çözüm bulunmadığı görünen sinir bozucu anlara sahip olacaksınız. Elinizdeki görevi yapamayacağınızı hissederek, Sahtekarlık Sendromu'nun olduğu zamanlarla yüzleşeceksiniz. Yeni bulduğum yumuşak becerilerimi uygulamaya koyduktan sonra, bu durumlara girerken geliştiğimi farkettim. Beni daha çok çalışmaya zorluyor ve bunu okuduğunuz için durumun böyle olduğuna eminim.
Lambda Okulu aklımı başımdan geçenleri yapabileceğimi öğretti. Lambda Okulu'ndaki bir sorun veya engelle karşı karşıya kalırken, kodda bir sorun mu yoksa çözülecek bir hata mı olduğu, her zaman rehberlik ettik, ancak hiçbir zaman cevabımız açık değildi. Çözümlere kendimiz gelene kadar üzerinde çalışmak zorunda kaldık. Bu en iyi şey, çünkü şahsen ne yapabileceğimi fark etmeme yardımcı oldu. Daha fazla araştırma yapıp yapmadığımı, kendime (veya karıma) adım attığımı veya önceki adımlarımı tekrardan izleyebileceğim bir cevap bulabilirim. Kaç kere, eşimle (programlama hakkında hiçbir şey bilmeyen) bir sorunu açıkladığımı söyleyemem, sadece kafamdaki ampulün sönmesini ve yarı yolda durmasını sağlamak için bir cevap buldum.
Bir engelin üstesinden geldiğinizde aldığınız his, piyangoyu kazanmak gibidir. Ayrıca, öğrenmenin en iyi yollarından biri (bence), çünkü yalnızca güveninizi geliştirmekle kalmıyor, aynı zamanda yaptığınız büyümeyi görmenizi sağlıyor.
5. Kişisel ve Mesleki Gelişim
Daha önce Lambda Okulu'ndayken kişisel gelişimime değindim, ancak bir makaleye sığabileceğimden çok daha fazlası var. Yeni başarılı özellikler geliştirdim, engellerin üstesinden geldim ve partner (ler) ile programlanmış iletişim kurdum / çift oldum. Aynı zamanda kocaman bir profesyonel gelişimim oldu. Ben 21 kariyerime başlıyorum, ve fark ettim ki, bağlantılar çok büyük! Sadece Profesyonel Geliştirici / Programcı olmakla kalmaz, aynı zamanda hayatta ve genel olarak. Sadece Eğitmenler ve Personel aracılığıyla değil, Akranlarım ile de harika bağlantılar kurdum. Orada da bitmiyor, bağlanmaya ve hayatın her kesiminden Profesyonel Geliştiriciler olan insanlarla nasıl bağlantı kuracağımı öğrenmeye devam ettim.
Projelere nasıl profesyonel girdi vereceğimi ve bakış açımı nasıl derinlemesine açıklayabileceğimi öğrendim. Artık düşünce sürecimi ve eşimin ve ekibimin bir takım projesi için belirli bir Tech Stack'u seçmesinin nedenini açıklayabiliyorum. Bir projeye başlarken meslektaşlarımla iletişim kurabiliyorum ve en iyi sonucu elde etmek için en iyi adımların ne olacağını düşünebiliyorum. Kodlama çok büyük olduğunda problem çözme ve en iyi çözüme ulaşmak için ortak (lar) veya bir ekiple problem çözmeyi etkili bir şekilde yapabilirim.
Bunlar, Profesyonel Yazılım Geliştirici / Mühendis olarak gelecekteki görevimde yanımda alabileceğim şeyler.
Zaman ayırıp vaktinizi ayırdığınız için hepinize teşekkür ederiz!