Bilmek istiyorum, boş zamanlarında programlamak ne kadar önemli? Daha iyi bir programcı olmak için 9-5'inizi bir programcı olarak çalışmak ve daha sonra evinize ve hobiniz üzerinde çalışmak gerekli mi?
Bu, programlama yoluyla sadece programlamada daha iyi olduğunuzu biliyorum.
Muhtemel işverenler bir röportajda hobi programlamayı dikkate alıyor mu yoksa bunu meraktan mı istiyorlar?
Bir hobi projesine sahip olmadığım için kendimi suçlu hissediyorum, ancak yapmayı düşündüğüm her şey zaten yapıldı. Yani bunun hakkında iki aklım var, daha önce yapılmış bir şeye başladım ya da orijinal bir şey bulana kadar bıraktım?
Bir hobi projesine sahip olmadığım için kendimi suçlu hissediyorum
Suçluluk duymak bir programlama projesine başlamak için çılgın bir nedendir. Muhtemelen programlamadan nefret etmeye başlamanın iyi bir yolu. Bir şey üzerinde çalışın çünkü siz istediğinizi düşündüğünüz için değil siz olması gerekiyordu.
ama yapmayı düşündüğüm her şey çoktan yapıldı.
Bah! Zaten yapılmışsa kimin umurunda? Tekrar yap! Daha iyi yap! Ya da daha iyisini yapamayacağınızı ve yine de yapamayacağınızı kabul edin. Microsoft, "iyi, birisi zaten bir veritabanı/elektronik tablo/Kelime işlemci/işletim sistemi/IDE/proje yöneticisi/para yöneticisi/C tabanlı tek miras dinamik nesne yönelimli dil/web tarayıcısı/web sunucusu yaratmış olsaydı nerede olurdu?"/müzik çalar/mobil platform/arama motoru, bu yüzden başka bir şey arayacağız ... "?
Cidden, bir web sunucusu yazarsanız, muhtemelen Apache'yi gerçekleştirmeyecektir, ancak süreçte kesinlikle değerli dersler öğreneceksiniz. Angry Birds'ü satma olasılığınız düşük, ancak basit bir küçük video oyunu yazmak size çok şey öğretecek.
Bence hobi projeleri önemlidir
9-5'te yapamayacağım teorileri, tasarım uygulamalarını, yeni çerçeveleri test etmek için hobi projeleri kullanıyorum. Fonksiyonel programlama, algoritmalar, tasarım modelleri, yeni çerçeveler, yeni diller vb.
Bu, iş yerinde yeni bir projeyi ne kadar hızlı ve verimli bir şekilde ele alabileceğimin farkı, hatta bir istemciden yeni bir proje almanın veya kaçırmanın farkını ifade edebilir, çünkü sorun alanı hakkında yeterince bilgim yoktu.
Yeni şeyler veya yeni fikirler sunmuyorsanız, yalnızca 9-5 Grind'inizi yapmak bir geliştirici olarak sizi durdurabilir. Benim için hobi projeleri yapmak, beni daha iyi, daha akıllı ve daha verimli bir geliştirici haline getirmenin bir yolu.
Aday görüşmeciler hobi projelerini dikkate alırlar
Deneyimlerime göre, ilgili teknolojide işvereninizin şu anda kullandığı veya "baktığı" bir hobi projesi yaptıysanız. Söz konusu teknolojiyi daha önce tanımış olduğunuz için bonus kudos kazanırsınız. Bu, özellikle oyun alanının teknoloji deneyimine göre dengelendiği yerlerde ana akım olan yeni teknolojilerle ilgilidir.
Mevcut işinizle ilgili sorun, iş işlevinizi yerine getirmek için sadece sınırlı bir beceri grubuna ihtiyacınız olmasıdır. Programlama dünyası o kadar geniştir ki, her yıl bir rutta sıkışmak kolaydır. Hobi programlama ile diğer teknolojiler için şube kurabilir ve hazır olabilirsiniz önce fırsat mevcut pozisyonunuzda veya başka bir yerde ortaya çıkar.
Ancak, hobi programcılarının sadece programlamakla kalmadıklarını anlamak önemlidir.
Ancak bazen kendi özel ihtiyaçlarını karşılamak için bir program yazmaya ilham verirler; bir programcının suçlu zevki tam olarak istedikleri özelliklere sahiptir. Ve sonra onu yoruyorlar ve atıyorlar. Bu bir hobinin lüksü!
IMHO, sizi daha iyi hale getiren (kesin olarak zarar görmemelerine rağmen) kendi başına hobi projeleri olmak zorunda değildir, ancak genel olarak yeni şeyler öğrenmek için açık kalmak ve zaman harcamaktır. @Rick'in belirttiği gibi, aslında kodlama dışında birçok farklı şekil alabilir. Örneğin; kitap okumak - ama eğer bir dizüstü bilgisayarınız varsa, hatta kod - işe gidip gelirken.
Ayrıca şunu da unutmayın kesinlikle dengede tutulması gerekir.
Bir şey daha var: Biri genç ve bekârken hobi projeleri üzerinde çalışmak (önermek) kolaydır. Daha sonraki aşamalarda, bir aile sahibi olabilirsiniz ve bu, boş zamanınızın çoğunu yıllarca ortadan kaldıracaktır (en azından iyi yapmak istiyorsanız - ve bunun anlamı nedir?). Böylece, öğrenmeye değerli zaman ayırmak için zamanınızı daha verimli bir şekilde yönetmek zorunda kalacaksınız.
Yan projeler yapın! Bunu web'e yeni bir şey getirmek olarak düşünmeyin, bunu becerilerinizi uygulamak, öğrenme/mastering teknolojileri ve yaklaşımları için sanal alan olarak düşünün.
Bir işveren olarak her zaman potansiyel iş arkadaşlarıma ilginç yan projeler yapıp yapmadıklarını soruyorum. Ve bu muhteşem fikirler olmasa bile, yazarları bu konuda heyecan gösterdi - her zaman büyük bir profesyoneldi.
Yeni teknolojilerle güncel kalmakta zorlanan tanıştığım programcılar, onu iş olarak gören çocuklar. Onların muadilleri - do yeni şeylere ayak uyduranlar, evde bir şeyler yapanlardır.
Aklınıza gelebilecek her şeyin zaten yapıldığını söylüyorsunuz, ancak kullandığınız her araç istediğiniz gibi çalışıyor mu? Sıklıkla araçların neredeyse istediğimizi buluyorum, ama tam olarak değil, istediğim her şey ve hobi projelerim boşluğu doldurmaya çalışmaktan çıkıyor. Her zaman başarılı olamıyorum, ama denemekten zevk alıyorum ve son kullanıcı olarak motivasyon veya teknik özelliklerle ilgili sorunum yok
Bu projeler için gerçekten ilgi ve enerjiniz varsa, elbette yapın. Ama ciddi bir programcı için bir zorunluluk olduğunu söyleyecek kadar ileri gitmem. Programlama ile tam zamanlı çalışıyorsanız, boş zamanlarınızda da yapmak, ona olan ilginizi artırmayacaktır, bunun tersi çok iyi olabilir. Şahsen hobi projeleri yapardım ama durdum. Zaten haftada 5 gün program yapıyordum ve bana boş zamanımda tamamen farklı bir şey yapmak daha sağlıklı görünüyordu.
Ayrıca, işvereniniz işyerinde yeni şeyleri test etmek, sürekli çalışmak ve geliştirmek için size yer vermezse, muhtemelen boş zamanlarınızda bu işleri yapmak yerine yeni bir iş aramalısınız. İyi bir işveren, becerilerinizi yenilemenin, geliştirmenin ve genişlemenin kendi çıkarlarına olduğunu fark edecektir.
İşverenin bakış açısından (ben onlardan biriyim), gerçek bir iş deneyiminiz yoksa hobi projeleri bir hak olacaktır. Bu durumda, tüm hobi ve okul projeleri görüşme sırasında referans olması açısından çok önemli olacaktır.
Ancak deneyiminiz varsa, daha az alakalı olurlar: ticaretiniz için bir tutku gösterebilirken, aynı zamanda biraz inek olduğunuzu da gösterebilirler. Kişisel deneyimimden hobi projeleri ile iyi/kötü adaylar arasında gerçekten bir bağlantı bulamıyorum, ilk işinize başvurmaktan yeni çıkmadıkça özellikle alakalı olduklarını düşünmüyorum.
Ben tam ölçekli projeler daha sınavlar ve benzer küçük kod parçaları daha (gerçi zaman alırsanız bazı OSS projeleri üzerinde çalışmaya çalışın). Bu yüzden benim için bir proje için harika bir fikrim olmadığını söylemek için fazla mazeret yok. Sadece biraz Sudoku çözücü yaz ve daha hızlı hale getirmek için Dans Bağlantıları gibi bir şey uygulamaya çalış.
Daha iyi bir geliştirici olmanızın ne kadar önemli oldukları işinize bağlı olabilir. Bu zaten çok talepkarsa, ihtiyacınız olan tüm eğitimi alabilirsiniz. Aksi takdirde, doğru projeyi (veya çözmek için yapılacak sınavı) seçmek, size herhangi bir miktarda yeni şey öğretir ve çoğu zaman küçük bir dizi seti kullanmakla sınırlı olduğunuz için birçok işin sunmadığı geniş bir uzmanlık alanı ile iletişim halinde kalmanızı sağlar. açıkça tanımlanmış bir alan için araçlar.
Ve evet, bazı şirketler projelerinizle ciddi bir şekilde ilgileniyor. Başka bir şey yoksa, bir röportaj sırasında çok iyi bildiğiniz bir şey hakkında konuşma fırsatı sunarlar.
Hobi projelerinin çoğu röportajlarda kendileri için önemli olmayacaktır. Orada bir hobi olarak kodlama yapmayı önemseyen birkaç kişi var, ama çoğu değil. ANCAK, hobi programlamadan aldığınız beceriler bir röportajda önemli olabilir!
Yan taraftaki ekstra programlama, tükenmişlik noktasına kadar programlamada kesinlikle avantajlı olacaktır ... Ancak, tükenmişlik sorununun ötesinde bile, işverenlerin genellikle programlamanın ötesinde başka beceriler aradığını da düşünmeniz gerekir. 7/24 programlama yapıyorsanız, bu DİĞER becerileri geliştirmiyorsunuz! Denge... :-)
Birincisi hobi projelerinin önemli olduğunu düşünüyorum, çünkü aksi takdirde eğlenceyi durgunlaştıracak ve kaybedeceksiniz.
Yeni bir hobi projesi bulma önerim:
Hobi projenizi yapmak için yeni bir programlama dili öğrenin. Örneğin. iyi bir hedef yılda bir yeni dil öğrenmeye çalışmaktır (ne kadar çok bilirseniz o kadar kolaylaşır)
En iyisi size tamamen garip görünen biri olur. Çünkü size ne kadar yabancı görünüyorsa, ufkunuz o kadar genişleyecektir.
Ayrıca, farklı sözdizimine sahip birçok dili bilmek, programlama sırasında önemli olarak sözdizimine odaklanmanızı sağlar. Sözdizimi ağaçlarının yalnızca ardışık bir temsilidir ve çok da önemli değildir. Bu, pratikte çok daha yararlı olan semantiğe odaklanmanızı geliştirir.
İşlevsel bir programlama dili denediniz mi? Dağıtılmış programlama dillerini denediniz mi? Kalıp eşleme dilleri?
Üzerinde çalışılacak küçük projeler bulmak için Project Euler çok tavsiye edilir.
Diğerleri çok şey kapladı, ama bu bölüme odaklanmak istiyorum:
Bir hobi projesine sahip olmadığım için kendimi suçlu hissediyorum, ancak yapmayı düşündüğüm her şey zaten yapıldı. Yani bunun hakkında iki aklım var, daha önce yapılmış bir şeye başladım ya da orijinal bir şey bulana kadar bıraktım?
Bana öyle geliyor ki, bu bir "hobi projesi" nin noktasını kaçırıyor. Başkaları için ya da en azından kamu tüketimini göz önünde bulundurarak birçok hobi projesinin yaratıldığı kesinlikle doğrudur - bu projeler zaman içinde belirli miktarda tutarlı çalışma gerektirir ve bu nedenle göz korkutucu olabilir. Ne de olsa, kim = [başka bir az destekli, düşük kaliteli bir şey yapmak ister ya da sonunda birkaç ay sonra terk edilir?
Ancak , hobi projenizin hiç kimse için yararlı bir şey yapmasına gerek yoktur. Örneğin, son zamanlarda Haskell öğrenmeye başladım, çünkü alıştığım zorunlu dillerden çok farklıydı ve kurulumu gerçekten kolay. Aynı zamanda programlama oyununda Redcode Assembly-ish dilini öğrenmeye başladım Core War , yine meraktan.
Bu da, Redcode için daha iyi sözdizimi vurgulama özellikleri sağlamak için bir Notepad ++ eklentisi oluşturma içine bakmamı sağladı, bu da beni düşünmeye itti biraz C++ öğrenme . .NET ile karşılaştırmalı aşinalık üzerine çizim yapıyorum, şimdi Visual C++ ile kurulum yapmayı düşünüyorum.
Ve şey şu ki, bunların hiçbiri gerçekten "önemli" değil, en azından bir proje olarak. Cehennem, bir proje bile diyebileceğinden emin değilim per se, bir sürü şeyle uğraştığım için dikkatimi çekti. Yani, aslında get bir şey çıkardığınızdan emin olmak için biraz zamana ve organizasyona ihtiyacınız olacak, ancak okul başladıktan sonra hiç kimse Haskell için zamanım olup olmadığını umursamayacak.
Ve kimse Notepad ++ için eklenti geliştirmenin beklediğimden daha zor olduğu umurumda değil ve pes ediyorum - gerçekten, Redcode'a girmeden önce Perl'e baktım ve bunu almakta zorlandım çünkü ortamı düzgün şekilde ayarlayın. Bu bir sebat eksikliği gösterdi mi? Evet. Ama kimse umursamıyor, çünkü hobim ve bu da istediğim şeylerle oynadığım anlamına geliyor.
Bu nedenle, Pazarlanabilir Becerileri öğretecek bir hobi projesi seçmeniz gerektiğini düşünmeyin - bu, boş zamanınızı daha ücretsiz çalışma zamanına dönüştürüyor. Beceriler yaptığınız şeyin sonuç olarak gelir, ancak sebep değildir. Artık bildirimsel programlamayı ve Assembly dillerinin nasıl çalıştığını ve programların DLL'leri nasıl kullandığını anlıyorum. Windows komut istemi ve şimdiye kadar bahsettiğim herhangi bir şeye bağlı olduğunu düşünmeyeceğiniz diğer şeyler hakkında bir sürü şey öğrendim.
Mesele şu ki, tamamen yeni bir şey bulun ve göründüğü kadar ilginç olup olmadığını görün. Eğer öyleyse, harika ve değilse, devam edin. Derleyiciler veya tercümanlar hakkında en ufak bir merakınız oldu mu? Gidip LOLCODE adresine bakın. Seni benim kadar mutlu ediyorsa, başlama zamanı derleyiciler hakkında öğrenme . Ve hey, belki geri dönüp tekrar sözdizimi vurgulamayı düşünmelisin. Aslında, bu muhtemelen başlattığım bir sonraki proje olacak.
Bu sizin işiniz değilse, alışık olduğunuzdan daha düşük bir şey deneyin. Veya daha üst düzey. Önemli değil. yok önemli olan tek şey you baktığında "Eğlenceli!"
Ben kendi kişisel projemde (henüz) üniversite eğitimi olmayan amatör bir web geliştiricisiyim. Birkaç hafta önce bir programlama işi için ilk görüşmeme davet edildim çünkü kendi kişisel projem üzerinde çalışıyordum.
Bu fıkra kanıtını göz önünde bulundurarak, kişisel "hobi" projem üzerinde çalışmak, üniversiteye kaydolduktan sonra kariyerimdeki gelişimimi ilerletmek için yaptığım en iyi şey oldu.
Yani, evet, görüşmeciler kesinlikle kişisel projelerinizi dikkate alırlar, aksi takdirde benimle konuşmak bile rahatsız olmazdı.
Dükkanımda röportaj ve işe alma ile ilgileniyorum. Bir 'hobi projesi' bizim için her zaman bir artıdır.
Az ya da çok bitmiş kişisel bir projeye sahip olmak, yazılım geliştirmekten gerçekten hoşlandığınızı gösterir ve yeni şeyler öğrenmek ve becerilerinizi geliştirmek için motive olduğunuzu gösterir.
Bir röportajda gerçekten olumlu bir izlenim bırakmak istiyorsanız, kişisel projenizle bir dizüstü bilgisayar getirin. Görüşmeciye gösterin, onu oluştururken karşılaştığınız zorluklardan bahsedin, kodunuzu görmelerine izin verin. Onlara pürüzlü kenarların nerede olduğunu ve proje için gelecekteki planlarınızın ne olabileceğini açıklayın.
İyi bir şekilde hatırlanacaksınız.
Özellikle serbest yazar olarak çalışıyorsanız, bu proje ciddi bir programcı için bir zorunluluktur.
Haftada 6 gün, 1 gün dinlenmek yerine, yeni teorileri ve özellikleri ve 1 gün dinlenmeyi test etmek için haftada 5 gün, 1 gün çalışabilirsiniz.
Test gününün zaman kaybı olduğu düşünülebilir, ancak programlama dilinizde o günlerden birinde test etmiş olduğunuz yeni bir özelliği uygulamanızın faydalarını anlayacaksınız.
Boş zamanlarımda programlamanın iki amaca hizmet ettiğini görüyorum:
1) İş projelerinin kısıtlamaları olmadan kişisel olarak ödüllendirici bir şey yapmamı sağlar. Bu, özellikle iş projelerimle ilgili zor ve sinir bozucu sorunlarla uğraşırken önemlidir.
2) İstediğim şeyi yaratmakta özgür olduğum için programlama becerilerimi genişletme ve keskinleştirme fırsatı veriyor.
Yine de, bunu bilgisayar dışı hobilerle dengelemek de önemlidir. Benim için, evimin arkasındaki dereyi ve patikaları koruyor.
Bir evcil hayvan uygulamasına sahip olmak, mevcut platformunuzun düşünmemiş olabileceğiniz bölümlerini öğrenmeye zorlamanın harika bir yoludur. Örneğin, iş yerindeki bir ASP.Net uygulaması üzerinde çalışan harika bir C # geliştiricisi olabilirsiniz. Ancak ekibinizde CSS'ye adanmış bir erkeğiniz varsa, onu düzgün bir şekilde öğrenemeyebilirsiniz. Ancak, bir evcil hayvan web projeniz varsa, nasıl CSS yapılacağını öğrenmek zorunda kalacaksınız. Bu, tek geliştiriciniz olduğunuz kendi projeniz varsa, karşılaşacağınız bir dizi teknoloji için geçerlidir.
Evcil hayvan uygulamalarının tüm faydaları hakkında harika bir yazı için, bunu kontrol edin post .