Web üzerindeki birçok blog ve tavsiye, harika bir geliştirici olmak için sadece günlük işinizi yapmak için yeterli olmadığını düşündürmektedir. Örneğin, boş zamanlarınızda açık kaynak projelerine katkıda bulunmanız, akıllı telefon uygulamaları vb. Yazmanız gerekir. Aslında bu tavsiyenin birçoğu, gün boyu bunu yapmak için yeterince programlama sevmiyorsanız muhtemelen yanlış kariyerde.
Bu benim için doğru değil. İşimden zevk alıyorum, ama ofisten eve geldiğimde doğrudan bilgisayara atlamak ve yatmadan önce kodlamaya başlamak havasında değilim. Her gün sadece belirli bir saat boş zamanım var ve onları diğer hobilere harcamak, arkadaşları görmek veya bilgisayarın önünde olmaktan çok dışarı çıkmak yerine tercih ederim.
Programlamaya başladım ve zaman zaman iş dışında dolaşıyorum. Kişisel gelişimimi taahhüt ediyorum ve öğrenmeyi ve daha iyi olmayı sürdürmenin bir yolu olarak teknoloji bloglarını ve kitaplarını okumaya zaman ayırıyorum. Ancak bu, kodlama için tüm boş zamanlarımı kullanmak istememe kadar uzanmıyor.
Bu, 'gerçek' bir yazılım geliştiricisi olmadığım anlamına mı geliyor? İşinizin dışında ekstra bir şey yapmadan iyi bir yazılım geliştiricisi olmak mümkün müdür? Ne düşündüğünü duymak isterim.
Güncelleme: Yorumlarınız ve cevaplarınız için herkese teşekkürler. Bir sürü iyi düşünce ve tavsiye!
IMO bu tutum korkunç, ruh emme işleri olan ve işemek fakir zaman yönetimi becerileri ile birlikte gelen insanlardan geliyor. Temel olarak tüm gün web formları yazıyorsanız, dışarı çıkın ve daha zorlu bir iş edinin veya kendi formunuzu başlatın.
İşte bir şey. Bir konser müzisyeni (çellist/piyanist/her neyse), günde en fazla 6 saat çalışacaktır. Çoğu sadece günde birkaç saat pratik yapar. en yüksek düzeylerde
İnsanlar programı daha fazla diyorlar çünkü daha fazla öğreniyorsunuz, ama bu bir duman perdesi. Günde 8 saat bol .
Bir müzisyenin 3 saatten fazla pratik yapmasının tek nedeni, bu saatlerin onlara verdiği ekstra% 1'i sıkmaları gerektiğidir. Bunun sizin için geçerli olduğunu düşünüyorsanız, CS'nin 2 yıl önce çözdüğü bir sorunu yeniden çözerseniz, önyükleme yapmak için bir prima-donna kompleksiniz var.
Daha önce düdüklü tencere şirketlerinde çalıştım ve bana güvenin, bu adamların yaptığı gerçek iş miktarı, 37signals gibi iş miktarına kısıtlamalar koyan bir şirketten daha iyi değil: http://37signals.com/svn/posts/996-why-i-love-working-with-family-people
Neler oluyor ki, 10-12 saat boyunca bir bilgisayarın önünde ve 2 daha fazla ofiste olabilirsiniz, ancak aldığınız 90 dakikalık öğle yemeğini, tartışmaya harcadığınız 2 saati içermiyor forumları ve saat molası, ofiste düzenlenen birçok oyundan birini (langırt, bilardo, yada ...) oynamak zorunda kaldınız.
Bu grafiğe tekrar bakın. Şimdi bana geri dön.
Zihniniz aslında başka bir etkinliğe katılırsanız çok daha fazlası genişletme fırsatına sahiptir: Bir enstrüman çalmayı öğrenin . Bir yabancı dil öğrenin . Daha iyi çıkın ve biraz egzersiz yapın ve gerçek canlı insanlarla bağlantı kurun .
1993 yılında genç kemancıların ünlü çalışmasında, performans araştırmacısı Anders Ericsson, en iyi olanların hepsinin aynı şekilde davrandığını buldu: sabahları, her biri 90 dakikadan fazla olmayan üç adımda, her biri arasında bir ara. Ericcson, diğer müzisyenler, sporcular, satranç oyuncuları ve yazarlar arasında aynı modeli buldu.
Bu aslında iş dünyasında iyi bilinen bir prensip, daha fazla programcının duymadığı için şaşırdım.
10.000 saat/10 yıl alan uzmanlık kavramı aslında Malcom Gladwell'den değil, Ericsson tarafından yapılan çalışmalardan geliyor.
Hepimizin bildiği gibi, 10 kez tekrarlanan 1 yıllık bir deneyime sahip olabilirsiniz ... bu yüzden sadece kıçınızı 10 yıl boyunca koltuğa oturtmak yeterli değildir. 'nın nitelendirdiği şey Ericsson'un kasıtlı uygulamayı çağırdığı şeydir.
Bu prensibi atletizm, müzik, yazı, satranç ve matematikte doğru bulmuştur. Ayrıca, kasıtlı uygulamayı o kadar zahmetli olarak tanımlar ki, en yüksek seviyelerde bile günde sadece yaklaşık 4 saat ortaya koyabilirsiniz . Aksi takdirde aşırı eğitim veya tükenmişlikten muzdarip olursunuz. Yine, kasıtlı uygulama için yaklaşık 4 saate kadar azalan getiriler olduğunu kabul eder.
Hogwash. Ya daha iyi bir iş bul, ya da bir fikir: Şu anki işini en azından şu anda değil olmayan bir şeye dönüştür.
Bildiğim en iyi programcılardan biri, düzinelerce program ve yüzbinlerce kod satırından oluşan eski bir sistemde bakım programcısı olarak işe girdi. Birçoğu yıllar boyunca hacklenmişti, artık uyumlu bir tasarım olmadığını söylemek zorunda kalacaksınız.
Bu hemen hemen hiçbir yerde, çıkmaz bir işti. Yönetim, başınızı aşağıda tutmanızı ve lanet olası hataları düzeltmenizi istedi. İyi geliştiriciler greenfield projesi üzerinde çalışıyorlardı. İnsanlar buraya emekli oluncaya kadar kalan günlerini oturup gelmeye başladılar ya da yeni uygulama geliştirmeye başlamadan önce birkaç yıl deneyim kazandılar. Çoğu programcı, kariyer gelişimi eksikliğinden veya yeni şeyler öğrenme veya üzerinde çalışacak heyecan verici projelere sahip olmama veya daha genel olarak sadece onları etkinleştiren kimseyi sürtünmekten şikayet etmeyecektir , bu adam oturdu ve yapılması gereken işi yapmaya başladı.
Ve 2 yıl boyunca, bu sistemi bir hata spagetti kod cehenneminden güzel bir şey olan ve İsviçre saati gibi çalışan bir şeye dönüştürmüştü. Dönüşüm o kadar eksiksizdi ki, bölümün Başkan Yardımcısı mevcut projeye daha fazla dikkat etmeye başladı ve yeşil alan projesinin değerini sorgulamaya başladı. Ünvanı olmamasına rağmen, insanlar operasyonun kendisine grubun fiili lideri olarak gitti. Gittiğimde Başkan Yardımcısı onun için bir sistem mimarı olarak yeni bir rol yaratmaktan bahsediyordu ...
Ondan sonra ona ne olduğundan emin değilim, ama bana birkaç önemli ders verdi:
İşiniz bunu yaptığınız şeydir ve her yerde çözülmesi gereken ilginç sorunlar vardır . CRUD ekranları yazmaktan nefret ediyorsanız, sorunu otomatik olarak oluşturarak çözün.
Size fırsatların gelmesini bekleyerek oturmayın. Şansı asla olmayacak.
Bu mesajda daha fazla gizli var.
Birçok hevesli programcı şeyleri keşfetmeyi, deney yapmayı, fikirlerini takip etmeyi sever, bu şekilde beceri ve vizyonumuzu öğrenir ve elde ederiz.
Genellikle çalışma saatlerinde ilgi alanlarınızı takip edemezsiniz. Sadece size söylenen şeyleri yapıyorsunuz ve hepsi bu. Sadece birçoğumuz, ücretli olmasa bile kişisel olarak ne yapacağımız konusunda şanslıyız.
Bu yüzden fazladan bir şey yapmıyorsanız, potansiyelinize göre gelişmiyorsunuzdur. Sorun da tam olarak bu.
Bunu okuyun, Seth Godin'in Blog :
Makul olmayan
Okulun iptal edildiği bir kar gününde yataktan kalkmak ve fazladan bir kredi fizik laboratuvarında çalışmama süresini altı saat çalışma haline getirmek mantıksızdır.
Geliştirme eğrisini dokuz ay boyunca atlayan ve bir sonraki nesli daha makul rakiplerden çok daha erken ortaya çıkaran bir teknoloji ürünü piyasaya sürmek mantıksız.
Bir kamyon şirketinin ilk zil sesindeki telefona cevap vermesi mantıksızdır.
Paranın getirebileceği güvence girişimi olmadan yeni bir şirket kurmak mantıksızdır.
Bir doktor ofisinin hoş ve yardımsever bir ön büro personeli olmasını beklemek mantıksızdır.
Cesur ve orijinal bir şey yapmak isteseniz bile, bugünün ekonomisinde iyi bir konserden uzaklaşmak mantıksızdır.
Öğretmenlerin dezavantajlı şehir içi çocuklarının lisede başarılı olmalarını sağlayabileceğimizi beklemeleri mantıksızdır.
Altınızdaki baskı göz önüne alındığında, meslektaşlarınıza ve rakiplerinize saygılı davranmak mantıksızdır.
Büyük bir kadından başka birisinin, hem sürüş hem de avantajları olan birisinin, güverte sıradan insanlara karşı istiflendiği bir dünyada önemli bir şey yapmasını beklemek mantıksızdır.
Hayatınızın yıllarını, çoğu insanın asla takdir etmeyeceği bir ürün yapmaya adamak mantıksızdır.
Neyse ki, dünya mantıksız insanlarla dolu. Ne yazık ki, onlarla rekabet etmeniz gerekiyor.
Sorulan soruyu cevaplamak için: Boş zamanlarınızda programlama yapmayın yapmaz sizi kötü bir geliştirici yapar, ancak boş zamanlarınızda programlama can sizi daha iyi bir geliştirici yapar.
Boş zamanlarınızda programlama kesinlikle becerilerinize zarar vermez, ancak bunu yapmak zorunda hissetmemelisiniz. Programlama nispeten benzersiz bir alan gibi görünüyor çünkü birçok insan için hem işi hem de hobisi, bu yüzden boş zamanlarında programlamanın tadını çıkarıyorlar.
Hayır, bu sizi kötü bir programcı yapmaz. Ne yaptığınıza bağlı olarak sizi uzun vadede daha iyi bir programcı yapabilir. Kariyerinizin başında, ihtiyacınız olan çeşitli becerileri ne kadar hızlı öğrendiğinizi etkileyebilir. Ancak, uzun vadede yardımcı olacak beceri ve bilgileri alıyor olabilirsiniz. Biraz egzersiz yapmak da zarar vermez.
40 iş haftasında performans göz atmalarını gösteren oldukça fazla araştırma var. Daha uzun saatler çalışarak bir süre üretim yapabilirken, uzun vadede verimliliği kaybediyoruz. Gördüğüm araştırma, 80 hafta çalışanların haftada 40 saat çalışanlar kadar verimli olduğunu gösteriyor.
Daha iyi performans göstermenize yardımcı olabilecek kapalı (veya açık) saatlerde yansıtabileceğiniz birkaç şey vardır:
İşinizin dışında ekstra bir şey yapmadan iyi bir yazılım geliştiricisi olmak mümkün müdür?
Kesinlikle.
Yeteneğinizi geliştirmek için fazladan saatler harcamaktan daha uzun sürebilir. Tam zamanlı çalışıyorsam ve mesai saatleri dışında çok az programlama yapıyorsam, kendini geliştirmeye yeteri kadar zaman ayırmakta zorlandım.
Ben küçükken, şimdi öğrenmektense çok daha fazla öğrenmeye zaman ayırdım. Her gün kullandığım kavramlar bu noktada derinlemesine yerleşmiş durumda ve kemerimin altındaki bu deneyim ile ek bilgi edinmek daha kolay görünüyor.
"İyi" programcılar fazladan bir saat daha koyuyor gibi görünüyorlar çünkü doğaları gereği takıntılılar, spektrumun anti-sosyal sonuna doğru yöneliyorlar ve programlamanın ve tüm problemleri çözme döngüsünün tadını çıkarıyorlar.
Şeylerin büyük planında her şey hayatta doğru dengeyi bulmakla ilgilidir.
Önemli olan programlamanın tadını çıkarmanızın ve hangi seviyede olursanız olun öğrenmeye devam edip etmemenizdir. İş dışında programlama yapıp yapmadığınız, sizi otomatik olarak "iyi" veya "kötü" bir programcı yapmaz.
Kişisel bir bakış açısı vermek için, yaklaşık 25 yıldır programlıyorum (önce çocuk, sonra profesyonel olarak). Kesinlikle seviyorum.
Ancak, neredeyse hiç iş dışında programlamıyorum. Bunun birkaç şeyle ilgisi vardır:
Özellikle kariyerinizi iyi yönetiyorsanız, iş sırasında kodlama yapan iyi bir programcı olabilirsiniz. Ancak, en büyük programcılar mesai saatleri dışında da kod yazarlar. Bununla birlikte, çok sayıda öğrenme fırsatı olan iyi işleri seçen bir kişi, işte zamanını iyi kullanır ve böylece evde kodlayan birinden daha iyi bir programcı olacaktır, çünkü iş günü.
Evde kodlama değerli olsa da, çalışma ortamınızın değerini en üst düzeye çıkarmanın (iş arkadaşlarından öğrenerek, iyi işler seçerek, kariyerinizi agresif bir şekilde yöneterek) genellikle daha değerli olduğunu söyleyebilirim. En büyük programcılar her ikisini de yapar, ayrıca başkalarını öğrenme ve akıl hocalığı konusunda büyük tutumlara sahiptir.
Asıl mesele, yeni bir geliştiricinin birkaç yüz bin satır uygulama kodundan geçmek ve iyi bir programcı olmak için yeterli kodlama yapıp yapamayacağıdır.
Bu teorik olarak işyerinde ya da kendi zamanınızda ya da her ikisinde yapılabilir. Pratik yapmak biraz kendi kendini yönetmelidir, böylece öğrenmeniz gerekeni öğrenebilirsiniz. Bu, biraz esnek olan iş anlamına gelir.
Giriş seviyesi işler çoğu zaman hata düzeltmeyi veya size iyi olmayı öğretmeyecek başka bir iştir. Yapmanız gereken sıfırdan bir sürü kod yazmak ve bu kod muhtemelen kötü olacak. İşverenlerin bunun için ödeme yapması zor. Bu yüzden insanlar yan tarafta açık kaynaklı bir proje yapıyor ya da bir başlangıç ya da başka bir şey başlatıyorlar.
İnsanlar boş zamanlarında programlamak zorunda olduklarını söylediklerinde, sanırım gerçekten yıllar önce anlamlı uygulamalarla güç vermen gerektiği anlamına geliyor. Pratik yapmak ve sıfırdan büyük bir kod tabanı yazmayı ve korumayı öğrenmek için ne gerekiyorsa yapmalısınız. Kimse size muhtemelen felaketli bir dizi proje yazmak için ödeme yapmıyorsa, boş zaman tek seçenektir.
Uygulamayı daha gençken zaten yaptıysanız ve iyi bir programcı olduysanız, daha sonra 9 ila 5 arasında tutarsanız temel becerileri kaybedeceğinizi düşünmüyorum. Daha sonra bu, çok zaman alıcı olmayan yeni teknolojiye ayak uydurma meselesidir.
Bununla birlikte, ilk etapta iyi bir programcı olmak için tek başına pratik miktarını ve kalitesini verecek nadir bir giriş seviyesi iş. Yeni bir geliştiricinin, yalnızca giriş seviyesi işlerde giriş seviyesi bir işte takılmayı değil, öğrenmek için inisiyatif alması gerekir.
Zaten bir aileniz varsa ve iş-yaşam dengesini büyük ölçüde vurguladıysanız, sıfırdan iyi bir programcı olmak gerçekten zor olurdu. Tıpkı bir doktor olmak ya da bir virtüöz müzisyen ya da bu durumda başka bir şey olmak gerçekten zor olurdu. İnsanların, daha büyük olduklarından ziyade, daha genç olduklarında binlerce saatlik uygulamalarından geçme eğilimi vardır.
Herhangi bir konuda Uzman olmak 10.000 saat sürer. [Michael Gladwell, "Aykırı" "
Yani, bu seviyeye gelmeden önce ekstra iş yapmak sizi gerçek Uzman statüsüne giden yolda hızlandıracaktır.
Bu seviyeyi geçtikten sonra, daha fazla zaman harcamanın küçük/azalan getirileri olacaktır.
Önümüzdeki altı ay içinde boş zamanlarımda temel bir oyun geliştirmek için zaman geçirdiysem ve yapmazsanız ve varsayalım diğer tüm şeyler eşittir (asla değildir), hangimiz daha fazlasını bilirdi? Hangimiz daha fazla beceri ve deneyime sahip olurdu?
Bu etki kümülatif olacaktır, çünkü daha erken mesai dışı bilgi yeni işe ve yeni mesai dışı bilgiye beslenir.
İşte bu yüzden insanlar boş zamanlarında, söyleyebildiğim kadarıyla programlamayı tavsiye ediyorlar.
Büyük ile kötü arasında, arasında birçok seviye vardır. Muhtemelen çok sınırlı bir alandaki problemler üzerinde çalışarak günde sadece 8 saat yaparak harika bir geliştirici olamazsınız.
Eğer işiniz yeterince çeşitlerse, "iyi" ya da "başarılı" olabilir ya da tercih ettiğiniz herhangi bir sıfat olabilirsiniz, ancak harika bir geliştirici olmak için biraz zihinsel olmanız gerekir, korkarım.
Hobi programlama yapmanın bir başka nedeni, bir işte genellikle düşük standartlara uymanız ve genel olarak taviz vermeniz gerektiğidir ve yeni bir şey öğrenseniz bile, onu kullanmanıza izin verilmeyebilir.
Ve yine bir başka, daha belirgin olanı, işte yazdığınız kodun her birinin işvereninize ait olmasıdır. Yıllar sonra, başkası için çalışırken ona geri dönemez ve eski hatalarınızdan öğrenemezsiniz.
Ona "Beni kötü bir programcı yapıyor mu?".
Dolayısıyla, şu anda olduğunuzdan daha iyi olmak ve işinizin izin vermediği yeni teknolojileri ve alanları öğrenmek istiyorsanız, harcanan ekstra çaba ve zaman kullanışlı olur.
Ancak ekstra zaman harcama kodlaması (sadece fazladan kod yazdığınızı kanıtlamak için) körü körüne kes/kopyala/yapıştır yerine, ne yaptığınızı öğrenip farklı bir şey yapmadıkça veya zaten bildiğiniz şeyi geliştirmedikçe iyi bir programcı olduğunuz anlamına gelmez. ve hack'leri bir araya getirmek. Fazladan saatler koymak ve aynı şeyi tekrar tekrar yapmak, hiçbir şekilde gelişmenize yardımcı olacağını düşünmüyorum.
Gün boyunca programlamanız kısa bahislerdir. Kazanılacak para var, tam olarak ne kadar ve ne için olduğunu biliyorsunuz ve maaş çekinden çok daha fazla kazanacaksınız yok.
Geceleri uzun bahisler üzerinde çalışıyorsunuz - esasen işe yaramayacak çılgın fikirler. Bunlar sizi rütbe ve dosyadan fırlatacak projeler. Bunu kullanarak kod maymunu yerine PHP) mucidi olursunuz.
Birçok programcıyla röportaj yapıyorum ve çalışma saatleri dışında ilginç tuhaf şeyler yapıp yapmadıkları anında yeşil bir ışık. Şaşırtıcı derecede nadirdir.
Bunu söylesem de: çalışma saatleri dışında çok fazla harika şeyler yapan bir adam, bir kiralamanın toplam kazası oldu. Hâlâ o adam tarafından üzüldüm.
Sorunuzu cevaplamak için: Hayır, bu sizi kötü bir geliştirici yapmaz.
Ancak, yol boyunca profesyonel yaşamınızı biraz zorlaştırabilir. Sürekli olarak kariyer yolunuzu ilerletmenize yardımcı olacak yeni teknolojiler öğrendiğiniz bir işiniz varsa (mevcut işinizde promosyonlar veya farklı şirketlerde yeni işler olsun), o zaman hazırsınız.
Ancak şu anda kullanılan teknolojinin nadiren değiştiği bir şirkette çalışıyorsanız, 2 veya 5 o 10 yıl içinde bir sonraki işe girmekte zorlanabilirsiniz. Evde yeni teknolojilerle kod yazıyorsanız ve bunun için gösterilecek bir şey varsa (uygulama, web sitesi, açık kaynak projesi, vb.), O zaman bir sonraki işi almayı çok daha kolay bulacaksınız.
Tabii ki, önümüzdeki 40 yıl boyunca aynı şeyi yapmaktan tamamen memnun olabilirsiniz ve şirketiniz ve teknolojiler var olmaya devam ettiği sürece, hazırsınız demektir!
Asıl soru bütün gün ne yaptığınızdır. Sporculara ve müzisyenlere benzetmeler genellikle doğru uygulanmaz. İş gününüzün bir kısmını gerçek "pratikte" geçirme yeteneğiniz yoksa, günlük işiniz pratik değildir, performanstır. Nereden biliyorsunuz? Hiçbir zaman "doğru" bir şey yapmak veya yeni bir dil/teknoloji/çerçeve/vb. Öğrenmek için zamanınız yoksa, pratik yapmıyorsunuz, performans gösteriyorsunuz. Profesyonel sporcular ve müzisyenler oyun veya konser sırasında daha iyi olamazlar, odaklanmış antrenman sırasında daha iyi olurlar. Yani, çoğu gibiyseniz, gerçek kodlama "alıştırma" için sahip olduğunuz tek zaman iş dışında. Bununla birlikte, eğer odaklanmışsa buna değer. Eğer bütün gün ve sonra bütün gece kesmek, sadece yorgun olsun, daha iyi değil.
Örneğin, iş yerinde bir kod parçasını optimize etmeniz ve normal profil oluşturma araçlarını ona atmanız ve belki de% 50 hızlandırmanız ve bir sonraki göreve geçmeniz gerekiyor, ancak yapabileceğiniz başka şeyler de var. ancak bunları denemek için zamanınız yok. Bu kod parçasını yanınıza alırsanız ve gerçekten sıkmak için birkaç saat daha harcarsanız, bir dahaki sefere optimize ettiğinizde sizi daha iyi hale getiren teknikler öğrenirsiniz. Evde işte aynı şeyi yapmıyorsunuz.
Uygulama becerileri ve honlama becerilerini eklemekle ilgilidir ve bu aktiviteler mutlaka yapay bir şekilde yapılır (spor salonunda kas grubunu izole etmek gibi, normal fiziksel aktivitede kimse bunu yapmaz). Evde uygulama oluşturmak otomatik olarak pratik değildir. Evdeki çalışma, son ürüne değil, tekniklere ve sürece odaklanmalıdır. Motive olmanız gereken şey bir son ürünse, harika. Sadece onu işte yaptığınız gibi geliştirme tuzağına düşmeyin.
Kodlama kata hareketi, uygulamanın ne olduğunun bir örneğidir.
Kalbinde iyi bir yazılım geliştiricisi olmak gerçekten kalbinize bağlıdır. Harika bir müzisyen olmaya çalışabilir ve müziğe çok fazla zaman ayırabilirsiniz, ancak yine de bu sizi iyi bir müzisyen yapmaz.İyi olmak için yaptığınız şeyden zevk almanız gerekir. ama şimdi benim sevdiklerim nedeniyle normal çalışma dışında yazılım üzerinde ekstra şeyler yapmaya başladım. Yani temel çizgi yaptığınız şeyden zevk almak ve sonunda gerekli olanı yapacaksınız.
Tamamen ilgi çekici bir entelektüel deneyim sağlayan bir işiniz varsa, bu sizin zihinsel yaşamınız olacaktır - dışarıdaki iş Steam'i patlatmaktır. Eğer işiniz sizi ilgilendirmezse, çalışma saatlerinden sonra entelektüel tatmin bulmanız çok daha olasıdır. Bu sadece kodlamada değil, her işte doğrudur.
Bir ofiste kodlama yaratıcılığınızı, döneminizi sarsar. Günde en az 8 saat, zihniniz başkası adına sürekli bir sprint yapıyor. Bundan çıkmak normaldir ve bilgisayara geri dönmek istemez. Bir ofisten çalıştığımda, benim için de aynıydı - eve dönüp sadece yemek pişirmek ya da bir film izlemek, arkadaşlarla takılmak ya da televizyonun önündeki bölgeye gitmek isterdim. Sonra 2001-2004 ya da daha sonra, şirket tankerlik için çalıştıktan sonra çatladım, bıraktım ve bir taksi sürdüm ve masaları bekledim. İşte o zaman çalışma saatlerimde kodlamaya başladım.
Gerçek şu ki, kimsenin günde 8 saatten fazla kaliteli kodlama süresine sahip olduğunu sanmıyorum. Bir çok kodlayıcı sadece 2-3'e sahiptir, ancak orada en verimli insanlar olabilirler. Sadece nasıl kullandığınız, nasıl yaydığınız.
Bu harika bir gönderi.
Hayır, söyleyebilirim, bu sizi kötü bir programcı yapmaz. İncelemeleriniz iyiyse ve görevlerinizi iyi ve zamanında tamamlarsanız, tam tersi olur. Dürüst olmak gerekirse, işteyken kodu doldurmanızı kıskanıyorum.
Boş zamanlarımda programlamanın temel nedeni, işte ne yaptığımı gerçekten önemsememem ve boş zamanlarımı istediğimi yapmak için kullanmamdır. Yapmayı sevdiğim şey video oyunu programlaması. Yaşadığım yerde çalışacak geçerli bir oyun şirketi yok (şimdi burada bir ailem var), bu yüzden yapabildiğim zaman yandaki indie oyunlarına yardım ediyorum. Kaşıntıyı tedavi etmenin tek yolu bu. Bütün gün sevdiğim şeyi yapsaydım boş zamanlarımda yapmazdım.
İşinizin dışında ekstra bir şey yapmadan iyi bir yazılım geliştiricisi olmak mümkün müdür?
Bu, çalıştığınız sektöre bağlı. Bazıları diğerlerinden daha rekabetçi.
Kendi başınıza yeni şeyler öğrenmek istemiyorsanız, mevcut beceri seviyenizde kalabilirsiniz. Bu yeterli olabilir ... ya da değil.
Bu, ayrılan zamanla ilgili değil, merak ve bilgi ve ustalık için bir susuzluk ile ilgilidir. Açıkçası, kalmayla ilgili hiçbir şey yoktur güncel, bu temel - genellikle zor şeyler ile ilgilidir: derleyiciler, monadlar, bellek mimarileri, vb. Beyninizi uzatan ve genişleten şeyler.
Evde Kodlama yapmak sadece önemli bir yan etkidir. Ama bunu hafife alma, yapmadan öğrenme genellikle sığdır.
Bildiğim en iyi şey, tez özelliklerine sahip.
Tavsiyem: İşleri öğrenmek için, sizi bilgilendirmek için işe gidip gelme sürenizi kullanın: BT kitaplarını okuyun, Geliştirici podcast'i dinleyin, vb. Aksi takdirde sıkıcı bir insan olacaksınız.
Sizi kötü bir geliştirici yapmaz, hatta sizi bir tür "tamam" geliştirici yapmaz, sadece ne olduğunuzu yapar. Yine de, hackerların gerçekten mükemmel olan çoğu insanın yeni şeyler denemeye meyilli olduğunu göreceğinizi düşünüyorum. Herhangi bir zamanda birçok farklı dili, veritabanını, web çerçevesini, robotik, vb. Araştıracağım. İki küçük çocuğum ve bir eşim, ipotek, tüm bu şeyler - ama 2 veya 3 alabileceğim zamanları dört gözle bekliyorum. şeylerle uğraşmak için saatlerce. Tabii, C # ve .NET bir maaş kazanmak için iyi ve iyi ve ben aslında işten zevk, ama Scala ve Lift bu son birkaç benim için gerçek bir patlama oldu Kendilerini "tutkulu" olarak nitelendirecek geliştiriciler ve sadece "geçenler" olarak sınıflandırılan geliştiriciler var, sürekli kendilerine meydan okuyan geliştiricilerin yapmayanlardan daha hızlı ilerleme eğiliminde olduklarını görüyorum.
Bu, 'gerçek' bir yazılım geliştiricisi olmadığım anlamına mı geliyor?
Kesinlikle hayır. Bu sadece kodlamaktan başka şeyler yapmayı sevdiğiniz anlamına gelir. Bunda yanlış bir şey yok ve sizi geliştiren veya geliştiren herkesten daha iyi veya daha kötü yapmaz.
İşinizin dışında ekstra bir şey yapmadan iyi bir yazılım geliştiricisi olmak mümkün müdür?
Elbette. Bunlardan bazıları çalışma ortamınızın nasıl olduğuna bağlıdır. Sıkıcı, ruh emici bir işiniz varsa, tüm zamanınızı emen ve daha sonra bazılarını sıkıcı bakım işi yapan, becerilerinizi geliştirmek için çalışma zamanını kullanabilmek çok sınırlı olacaktır. Keşfetmek ve öğrenmek istediğiniz şeyi yapmak için enleminiz olan bir ortamınız varsa, işvereninize veya iş arkadaşlarınıza yardımcı olacak yeni beceriler geliştirmek için bu fırsattan yararlanın.
Hakkında daha fazla bilgi edinmek istediğiniz ilginç bir şey bulursanız ve bunu işte kullanmak için zamanınız veya imkanınız yoksa, o zaman aile, arkadaşlar veya hobiler gibi zamanınızdaki diğer taleplere karşı tartmanız gerekir.
Hayır, sizi diğerlerinden daha az programcı yapmaz. Siz sadece daha sosyalsiniz. Dürüst olmak gerekirse kıskançım.
Kod yazmak için tüm boş zamanlarınızı kullanmak zorunda değilsiniz. İşim oldukça basit: sunucu yönetimi. Çok fazla kod yazıyorum çünkü işte fazla bir şey yapmam gerekmiyor. Bu beni hiç kimseden daha iyi veya daha kötü yapmaz. Programlama konusunda tutkuluysanız, neden bazı serbest işler işe yaramıyor? Hizmetlerim için sık sık Craigslist reklamları yayınlarım ve bundan iyi bir miktar para kazanırım. Ayrıca, yeni başlayanlarla ve hatta bazen büyük web siteleriyle çalışacağınız için harika bir öğrenme deneyimi. Bu yardımcı olur umarım. :)
Son zamanlarda programcı kiralamak için bir dizi röportaj yaptım. Hem programcılar olarak hem de çalışmayı düşünmediğim insanlar olarak beni en çok etkileyen adayların, programlama dışı uğraşlara (özellikle müzik değil, aynı zamanda saf matematik, felsefe ve edebiyat). Elbette, çoğu hobi programlama da yapıyor, ancak dengeleyici ilgi alanları da var.
Hayatımda iş dışında çok fazla kodlama yaptığım zamanlar ve başka şeyler üzerinde çalıştığım için hiç yapmadığım zamanlar oldu. Her zaman öğreniyor olmalısınız, ancak bu, boş zamanlarınızda programlama hakkında her zaman öğrenmek zorunda olduğunuz anlamına gelmez. Boş zamanlarınızda marangozluk, iğne ucu, bahçe vb.Gibi başka bir beceri üzerinde çalışmak istiyorsanız, bir kişi olarak büyümenize yardımcı olacaktır.
Sadece öğrenmekten vazgeçmek için programlama hakkında bilmeniz gereken her şeyi bildiğinizi düşünme tuzağına düşmeyin.
Bu gerçekten ilginç bir gönderi. Pas 10 yıldır yazılım geliştiriyorum ve işimi seviyorum! Benim de bir sürü hobim var ve onları düzgün bir şekilde yönetmeye çalışıyorum. Ama yatmadan önce pc önünde bir iki saat geçirerek yeni şeyler denemek için bir tekme olsun. Benim durumumda, oyun kodunu incelemeye ve yazmaya bağımlıyım. Her zaman oyun oynamak için zamanım yok, ama oyunlar hakkında kod okumayı seviyorum. Dürüst olmak gerekirse, şimdiye kadar gördüğüm en iyi kod oyunlardan geldi ve iş yerinde benim kod bu becerileri uygulamak düşünüyorum. Sürekli HER GÜN öğreniyorum, bu yüzden IMO, bir geliştirici iseniz, asla zirveye ulaşamayacaksınız, HER ZAMAN bir şey yapmanın daha iyi bir yolu var ....
Ben benzer bir sor birkaç gün gitmek sordum. Görünüşe göre insanlar sadece tüm günümüzü değil, aynı zamanda kişisel yaşamlarımız için elimizde olan tüm zamanlarımızı da atarsak işimiz hakkında daha tutkulu olduğumuza benziyor.
Boş zamanlarımda zaman zaman bazı kodlar yazıyorum ama eğlenmek için yapıyorum, çünkü profesyonel bir büyüme veya tanınma elde etmek niyetinde değilim. Bunun için enerjiye sahip insanları alkışlıyorum, ama daha uzun saatler çalışarak ve ekstra projelerde yanmaktan hoşlanıyorsunuz.
Günün sonunda, önemli olan her şey yeni şeyler öğrenme yeteneğiniz (özellikle iş başında), iyi iletişim kurma yeteneğiniz ve iyi zaman yönetimi becerilerinizdir. Seni iyi bir profesyonele dönüştürmen.
İşinizin dışında ekstra bir şey yapmadan iyi bir yazılım geliştiricisi olmak mümkün müdür?
Benim için her şey denge ile ilgili.
Programlamayı sevmeme rağmen bu sadece benim bir tarafım, başka ilgi alanlarım var. Gördüğüm gibi, eğer mutluysam (yapmaktan hoşlandığım diğer şeyleri yapmak) ve işimi uzun vadede daha iyi bir yazılım geliştiricisi olma yolunda olduğumdan daha ilginç ve tatmin edici buluyorum.
Not; Bu sayfadaki önceki yayınların tümünü okumadığımı itiraf ediyorum.