it-swarm.dev

Junior Developer Woes - programlama için kesilemez mi?

(Sormaya başlayayım - lütfen nazik olun, bunun öznel olduğunu biliyorum, ancak tartışmayı teşvik etmek ve başkaları için bilgi sağlamak için gerekiyor. Gerekirse topluluk wiki'sine dönüştürülebilir.)

Son zamanlarda gerçekten sevdiğim bir şirkette küçük bir geliştirici olarak işe alındım. Sahada KG yapmaya başladım ve gittikçe daha fazla geliştirme çalışmasına geçtim, bu gerçekten yapmak istediğim şeydi. Zevk alıyorum, ama gittikçe daha iyi olup olmadığımı sorguluyorum. Bunun bir kısmı hala küçük geliştirici rolü haline geliyor, biliyorum, ama ne kadar? Küçük geliştiriciler neler bekliyor, ne yapmalı ve yapmamalılar? Şirketimi bu fırsat konusunda ciddi olduğumu göstermek ve iyileştirmek için ne yapabilirim? Hız kazanarak onlara zaman harcamaktan nefret ediyorum. Başkaları bana şirketlerin Junior devs'e yatırım yaptığını ve bir süre ödemelerini beklemediklerini söylediler, ama bunun ne kadarı doğru? Yatırımın karşılığını alıp almayacağının belli olduğu bir nokta olmalı.

Şimdiye kadar olabildiğince çok soru sormaya çalışıyordum, ama bir süredir basit bir soruna takıntılıyım ve diğerleri bunu biliyor, yardım almak için oldukça utanç verici bir zaman geliyor uzun süre mücadele ettikten sonra. Ayrıca, mümkün olduğunca öneriye açık olmaya çalıştım ve kodumu yeniden düzenlemeye çalışmak için başkalarıyla birlikte çalıştım, ancak bazen bu, çeşitli ekip üyelerinin kişisel fikirleriyle (biri tarafından bir şekilde yazması söylendiğinde ve başka birisinin sizi yeniden yazmasını sağlayın).

Sık sık aşırı stres alıyorum ve kendimi çok sert bir şekilde yargılıyorum, ama sadece yeteneğim yoksa işlerimin çalışmasını sağlamak için hayatımın geri kalanıyla mücadele etmek istemiyorum. Deneyiminize göre, programlama neredeyse herkesin öğrenebileceği bir şey mi yoksa bazı insanların alamadığı bir şey mi? Başkaları bu şekilde mi hissediyor, yoksa işe başladığınızda mı böyle hissediyordunuz? İyi kodlamak için gerekli becerilere sahip olmam için uygun olmamam durumunda başka iş becerilerimin olmaması beni korkutuyor.

59
user575158

Bazı insanların programlama konusunda ustalığı var mı? Kesinlikle.

Bunun için bir beceriniz yoksa, yine de harika bir programcı olabilir misiniz? Evet, ama daha fazla pratik yapmak gerekir.

Her iki durumda da, programlamada gerçekten iyi olmak zaman alır . Bir enstrüman çalmak gibi. Bazı insanlar doğal olarak yetenekli midir? Evet. Ama büyüklerin çoğu daha uzun ve daha zor çalıştı. Programlama aynı şekilde yapılır - pratik gerektirir.

Programlama kariyerinizin geri kalanı için alan değişecektir. Bir zamanlar uzman olsanız da, hayatınızdaki birçok noktada yeni adam olacaksınız. Bugün C # 'da birçok "genç" programcı bir zamanlar Foxpro veya diğer diller konusunda uzmandı. Bugün C # uzmanları bir gün başka bir dilde genç programcılar olacak. Hepimiz hata yaparız ve başkalarının işaret edeceği aptalca şeyler yaparız. Zamanla iyi kodu ve kötü anlamaya geleceksiniz. Kod incelemesindeki kişilerle eğlenceli tartışmalar yapabileceksiniz ve kodunuzun neden önerilerinden ve diğerlerinden daha iyi olduğunu yedekleyebileceksiniz, ancak zaman, kararlılık ve kalıcılık gerekiyor. Yetenek yardımcı olur, ancak bazen yetenek zaman içinde sıkı çalışma olarak gizlenir.

Genç bir programcı olarak cesaretiniz kırılmasın. Bu hataları yapın. Onlardan öğren. Kirlenmek. İyi eğlenceler. Hepimiz oradaydık ve hala kodumuzda yardım istememiz gereken noktalara geliyoruz. Bu nedenle StackOverflow ve çevrimiçi diğer siteler çok popüler. Çoğu zaman programcıların büyük egoları vardır. Çevrimiçi olarak iş arkadaşımıza sormak yerine kimsenin bize gülemeyeceği (ve kim olduğumuzu bilmediği) sormayı tercih ediyoruz, bu yüzden bir şey bilmediğiniz için üzülmeyin. Sonuçta, programcılar her şeyi bilmeden değil, sorun çözücüdür, bu yüzden Google becerilerimiz var!

alt text

Cevabımdaki tek bağlantıyı tıklamadıysanız, okumanızı şiddetle tavsiye ederim Peter Norvig'in On Yılda Programlamaya Kendini Öğret .

45
Ryan Hayes

Kısa cevap: Evet, birisinin sadece yazılım almaması mümkündür.

Ancak, bu senaryoda olduğunuzu söylemek benim için küstah olur. Bana çok besleyici bir ortamda değilmişsiniz gibi geliyor. İdeal olarak, daha üst düzey geliştiriciler sizi kanatlarının altına almalı ve ipleri göstermelidir. Sanki yaşam desteği olmadan derin uca atılıyormuşsunuz gibi geliyor. Üniversiteden sektöre veya test ediciden geliştiriciye giden büyük bir öğrenme eğrisi vardır ve çoğunlukla korkutucu olabilir çünkü en azından ne kadar az bilginiz olduğunu anlarsınız ... en azından bu benim deneyimimdi.

Soru sormak, ciddi olduğunuzu göstermek için en iyisidir. Bazen sorunun saçma veya önemsiz olduğunu hissedebileceğinizi anlıyorum, ama hepimiz oradayız. Ayrıca patronunuzla iletişim kurun! Nasıl daha iyi olacağınızı ve nasıl bir plan yapacağınızı bilmek istediğinizi ifade edin. İyi bir patron, kariyer gelişimi ile ilgili somut hedefler belirlemenize yardımcı olmaya istekli olacaktır.

Ayrıca, iş arkadaşları kodunuzu yeniden faktörleştirmenize veya bir sorunu çözmenize yardımcı olduğunda size neden belirli şeyleri söylediklerini anladığınızdan emin olun. Sadece bir şekilde kodlamayın, çünkü öyle dediler. Eğer iki iş arkadaşının farklı görüşleri varsa, onlardan neden farklı düşündüklerini söylemelerini isteyin.

Açık bir hedef kümesi olduğuna inanıyorum ve bazı yönler mevcut durumunuz için harikalar yaratacak.

19
Pemdas

Biliyor musun, "suyu kim keşfetse, balık değildi elbette"? Bu üç senaryo arasındaki farkı anlatmanız neredeyse imkansız:

  • doğru yolda, soru sormak, daha iyi olmak, hepsi harika olacak
  • gerizekalılarla çalışmak, daha iyi bir ortamda büyümek için yetenekli olmak, burada mahkum olmak
  • sadece bir programcı değil ve anlamayacak

İkinci kategoride birini çalıştırdım. Altı ay geçirdikten sonra, Nice olmasına rağmen onu sevdiğimiz, zeki olduğunu ve cehennem gibi çalıştığı sonucuna vararak bunun gerçekleşmeyeceği sonucuna vardık.

Bu sohbete güvenebileceğiniz biri varsa, onlara şu tek soruyu sorun: "Hatalar yaptığımı biliyorum ve bilmediğim şeyler var, ama aynı hataları mı yapıyorum? Sürekli bilmediğim bir şey var mı? ?". Buna dürüst bir cevap, bilmeniz gerekeni size söyleyecektir. Aynı hatayı asla iki kez yapmayan gençler yaşadım. İyi yapıyorlar. Sonunda kovduğum iyi adam? Tekrarlayan ve tekrarlayan ve tekrarlayan 3 veya 4 hatadan oluşan bir koleksiyonu vardı. Kaç kere söylendi ve kaç tane ölüm sonrası geçirdiğimiz önemli değil.

İyi yapmak istemek iyi bir işarettir. Şu an için elinizden gelenin en iyisini yapın, nerede yapabileceğinizi öğrenin ve sizi değerlendirmek için etrafınızdakilere güvenin. Sadece bunun için kesilmediğinize karar verirlerse, yanlış olabileceklerini unutmayın. Farklı bir ortamda gelişebilirsin. (Kovduğum adam şimdi satış ve destekte ve duyduğumdan biraz süperstar.) Heck, yarın bu konuda gelişmeye başlayabilirsin. Tıkladığında çok daha mutlu olacaksın.

8
Kate Gregory

Yeni tanıdığınız kod tabanı ne kadar büyük ve karmaşık? Bu büyük bir faktör olabilir (özellikle dokümantasyon eksikliği varsa)

Genellikle gençler ve yaşlılar arasında sessiz bir savaş olduğunu hissediyorum. İnsanların kendilerini bir kaide üzerine koymaya ve kendi değerlerini gösterme girişiminde bulunmaya çalıştığı gibi küçük şeylere iner.

Herhangi bir belge eksikliğini, küçük bir geliştirici olmadan önce size oynadıkları pratik bir şaka olarak düşünün.

Bu insanlar öğretmen değil; diğer takım elbise kadar topraklıdırlar ve bir saniyeliğine sorgulamazlar. Açıkçası kimse seni kanatlarının altına almadı ve hala yapacak bir işin var. Yaşlıların patronuna gitmek ve bazı genel endişelerinizi ifade etmek isteyebilirsiniz. Bunu yapar ve aylarca yolda kovulursa, birçok soru olacaktır. Sessiz kalırsanız, umursamadığınız gibi görünebilir (ki bunu açıkça yaparsınız)

En iyi seçeneğiniz onları nezaketle öldürmek ve kaynak kodu katkılarını olabildiğince temiz yapmaktır, böylece kimsenin söyleyecek bir şeyi yoktur. Ne kadar az eleştiri duyarsanız, üst düzey bir geliştirici olmaya o kadar yaklaşırsınız.

3
user13203

Pes etme! Kendinizi sorguladığınız, benim için gerçekten iyi bir işaret. Şu anda üst düzey bir yöneticiyim ve gençlerin en iyi işaretleri, kendilerini açık tutmaları gerektiğini ve daha fazla bilgi edinmeleri gerektiğini bildiklerini kabul etmeleridir.

Genç bir programcı olarak hayata başladığımda hatırlıyorum ve her şey çok büyük ve çok büyük görünüyor ve takımdaki diğerleri çok şey biliyor gibi görünüyor ve doğal olarak onlara geliyor. Bu bilgi algısı sadece deneyimdir. Zaman ve açık zihin size bunu verecektir.

Bu benzetmeyi küçüklere yardım etmek için sık sık veriyorum, genellikle büyük bir dağa çıkmak üzereymişsiniz gibi geliyor. Yüksekliği karlı zirvelerle görüyorsunuz ve üstte görünür bir yol yok. Çoğu kişi, kendimi ihtiyacım olan tüm tırmanma ekipmanlarıyla donatmam gerektiğini düşünüyor, bu yüzden yola çıkmadan önce bu ekipman hakkında strese girmeye başlıyor. Onlara sadece görebilecekleri ilk 100 metreye bakmalarını ve neye ihtiyaç duyduklarını ve yürümelerini söyleyeceğim. Daha sonra, parçanın iyi trodden ve bir sürü haritaya sahip bir yolu olduğunu fark edeceksiniz.

Kendinizi bir "profesyonel" olarak donatmak için tüm ihtiyacı kaybedin ve yürümeye başlayın.

3
jpg

Kendinize sormanız gereken ilk soru "Bir programcı olacak kadar iyi miyim?" Değil, "Gerçekten olmak istiyorum programcı?". Bir programcı olmak istemiyorsanız (olduğu gibi, ebeveynleriniz prestij nedeniyle bunu yapmanızı istedi veya çok para kazanacağınızı düşündünüz), o zaman cevabınız var. Eğer bir programcı olmak istiyorsanız, o zaman okumaya devam edin çünkü size ne yapacağımı göstereceğim.

Daniel Pink'in Johnny Bunko'nun Maceraları (muhtemelen başlık tarafından söyleyemeyeceğiniz için bir kariyer kitabı) okuyorum. İçinde 6 ders var. Bunlardan üçü özellikle alakalı görünüyor:

  1. Güçlü yanları değil, güçlü yanları düşünün.
  2. Kalıcılık yetenekleri gölgede bırakır.
  3. Mükemmel hatalar yapın.

İlk ders başlangıç ​​noktasıdır. Yanlış yaptığınız şeylere odaklanırsanız, asla bir yere varamazsınız. Ne yaparsanız yapın, her zaman aynı güçlü ve zayıf taraflara sahip olacaksınız. Zayıflıklarınızı aşmanın bir anlamı yok. Bu nedenle, zayıf yönlerinizi düzeltmektense, birincil odağınızın güçlü yönlerinize odaklanması gerekir. Otur ve ne olduklarını bul. Alan anlamında ("programcı" veya "muhasebeci") kastetmiyorum. Bundan daha derine in. Mantıksal süreçleri tanımlamakta iyi misiniz? Yeni fikirler mi geliyor? Başkalarının fikirlerini yerine getirmek? Güçlü yönlerinizin ne olduğunu bildiğinizde, bunları programlamaya nasıl uygulayabileceğinizi öğrenin (yine, ne yapmak istediğinizi varsayarak .

Bir sonraki, sebatın yeteneği yüceltmesidir. Yaptıkları şey hakkında tutkulu olan herkes şu an bulunduğunuz noktaya gelecektir. her zaman bir sebepten ötürü bir naysayer olacak biri olacak, sizin tarafınızdan tehdit edildikleri veya sizi hissettikleri Yeterince yetenekli değil. Ayrıca ne kadar yetenekli olursanız olun zorluklar her zaman ortaya çıkar. Eğer ısrarcıysanız, büyük olasılıkla ısrarcı olmayan ama yetenek sahibi insanlara bacağınız olacak.

Son olarak (ve bence bu yaşlıların unutacağı kişi), mükemmel hatalar yapın. İşe yaramayan yeni bir şey denemek mükemmel bir hatadır çünkü ondan öğrenebilirsiniz. Bir işverenin sunucusuna saldırmak ve işsiz kalmak için hapse girmek değil. Yaşlılar çoğu zaman sizi hata yapmaktan alıkoymaya çalışacaktır. İyi niyetli olsalar da, çocuklarının dışarı çıkmasına asla izin vermeyen aşırı koruyucu ebeveynler gibi olabilirler. Gerçekten bir şeyler öğrenmek için aptal hataları kendiniz yapmanız gerekir. Muhtemelen yaşlıların tavsiyelerinin çoğu kez kötü tavsiye olmadığı için değil, onlara değil sizin için uyarlanmış tavsiye olduğu için geçerli olmadığını göreceksiniz.

1
Jason Baker

Deneyiminize göre, programlama neredeyse herkesin öğrenebileceği bir şey mi yoksa bazı insanların alamadığı bir şey mi?

Bence herkes programcı olamaz. Ama kesin olan bir şey, programlamanın çok fazla sabır ve odak gerektiren bir alandır ve eğer buna sahipseniz, o zaman mutlaka içinde olacaksınız.

Kariyerime birkaç yıl önce başladığımda da bu alanda hayatta kalabileceğimi düşündüğüm durumlara sahibim, ancak zaman ilerledikçe ve öğrenmeye çalıştığımda ekibimin önemli bir parçası haline geliyorum, bu yüzden sadece öğrenmek ve geliştirmek için yoğunlaşmak istiyorum okuyarak becerilerinizi geliştirin, blog gönderilerini inceleyin, Twitter'da teknolojinizin gurularını takip edin

1
Fraz Sundal

Bu eski bir iş parçacığı, ancak bir Google aramada birisinin tökezlemesi durumunda 2 sent eklemek istedim.

Birlikte çalıştığım geliştiriciler oldukça faydalı ve yardım etmeye açıklar. Hepimizin farklı yerlerde güçlü yanları var, bu yüzden hepimiz birbirimize yardım etmeye çok açığız. Ekibinizdeki diğer insanların bilmediği, ancak onlar için yararlı olabileceği bir şey öğrenebilirseniz, onları gevşetebilir ve vermek ve almak için daha istekli hale getirebilir. Giriş seviyesi bir konumdaysanız, onu emer ve sizi evlendirmesine izin vermezdim. Bu pozisyondan ayrıldığınızda, bir sonraki pozisyon temiz bir sayfa olacaktır. Böylece, takılır ve olabildiğince çok şey öğrenirim ve kemerinizin altında mümkün olduğunca fazla deneyim kazanırdım, böylece bir sonraki konserinizde daha deneyimli ve daha iyi bir temel elde edersiniz.

İş arkadaşlarınızla repertuarınızla ilgili şikayetleri yönetime gerçekten inanmıyorum. Yönetim size, diğerleriyle geçinemeyen bir masal gibi bakacaktır. Süpervizörleriniz bebek bakıcısı değildir, bu nedenle çevrenizle ilgili büyük bir kültürel sorun varsa, bunun bir parçası olmak istemezsiniz. İş arkadaşlarınızı size saygı duymaya zorlamak için yönetimin sihirli bir mermi cevabı ile gelmesini bekleyemezsiniz. Takımda hissettiğimi gerçekten hissetmediğim birkaç pozisyonda bulundum. Sadece toplanıp ilerliyorum. Kültürel sınırlamaları ne olursa olsun, bana eşitmişim gibi davranmama izin vermeyecek ... bu onların problemi. Ben kime gelip onları bana uyacak şekilde değiştirmeye çalışacağım? Durumunuz norm için bir istisna gibi geliyor, bu yüzden her yerde böyle olacağını varsaymam.

Benim tecrübem, çoğu programcının son derece iddialı olduğudur. Ne yaptığınızı kesinlikle biliyor olsanız bile, onların yolunu yapmazsanız, tüm yüzünüze girecek ve ne yaptığınızı bilmeyen aptal bir aptal gibi davranacaklar. Mesaj panolarında gördüğünüz cevapların çoğu bunun göstergesidir. Bir mesaj panosundaki bir geliştirme problemine gördüğünüz her yararlı cevap için, eğlenmek ve kendi akıldayan egolarını artırmak için ellerinden geleni söylemek isteyen sümüklü bireylerin 10 iddialı cevabı göreceksiniz. Aslında, bir mesaj panosundaki bir soruya verilen her cevabın 3/4'ünün ya sorunun oluşumunu eleştirdiğine, sorunun doğru yerde gönderilmediğine, sorunun zaten sorulduğundan şikayet ettiğine ikna oldum. uzun zaman önce ve bu yüzden bir daha asla sorulmamalıdır, ya da "Google nasıl kullanılacağını öğrenin, STUPID !!!" gibi bir yorumla sorunun yanıtlandığı başka bir mesaj panosunun bağlantısıdır. Kesinlikle gerekli olmadıkça forumlarda soru sormam. Forumlar cevap bulmak için harika bir yerdir, ancak soru sormak için korkunç bir yerdir (eğer mantıklıysa). Forumlar, soru sorarsanız izlemenizi istedikleri bu saçma kurallara ve yönergelere sahiptir ... temel olarak, bu mesaj panosunu TÜM kez troll eden ve biçimlendirme ve içerik kısıtlamalarına alışkın olan kullanıcının kalibresi olmasını beklerler. Düzgün SİLİNDİ ... tamamen normal sorularım vardı ... Stack Exchange'den bile ... hepsi "doğru biçimlendirilmedi".

Kötü programlama 2 şeyden 1'in sonucudur: Ya kavramları anlamıyorsunuz ya da sözdizimini bilmiyorsunuz. Kimsenin bu ilkelerin ikisini de öğrenemeyeceğine ikna olmadım. Programlama, doğmanız gereken doğal bir yetenek değildir. Öğrenilmiş bir uygulamadır. Gerçekten bu kadar zeka gerektirdiğinden bile emin değilim. Sadece sabırlı ve öğrenmeye kendini adamış olmalısınız. İnsanlar belirli bir programlama uygulamasının NEDEN bir sorun olduğunu anlarlarsa, kendilerini düzeltmek için gerekli adımları atacaklarını düşünüyorum. Onları canlandıran sümüklü pisliklerin korkutucu bir gözden geçirme kuruluna ihtiyaçları yoktur.

En çok başkalarından yardım istemek yerine kendi başıma okuyarak ve okuyarak öğrenirim. W3Schools yeni şeyler öğrenmek için harika bir yerdir. Çoğunlukla VB'de geliştiriyor olsanız bile, JavaScript veya PHP veya Entity veya MVC) üzerinde bazı eğitimlerden geçerek nesneye yönelik programlama kavramlarını temel olarak anlamanıza gerçekten yardımcı olabilir. kalkınma konserleri sizi sadece bir koda atacaklar ve siz işe yarayana kadar bir çeşit saldırıya uğrayacaksınız.Bu yeterince iyi olabilir, ama yaptığınız şeyin arkasındaki kavramları bilmiyorsanız, ' t Gerçekten bunu "doğru" şekilde yapmasını beklemeyin.

IMO, geliştirmeden önce birinci sınıf bir geliştirici olmayı gerçekten öğrenemezsiniz. Her şeyde olduğu gibi, uygulama mükemmelleştirir ... ve tecrübeli geliştiricilerin çoğu bunu unutuyor gibi görünüyor.

1
Shonenknife

"Yanlış yaptığınız şeylere odaklanırsanız, hiçbir yere varamazsınız."

Bu tavsiyeden bıkın. Deneyimlerime göre tam tersini buldum. Kötü kod ve kötü tasarım, genellikle rahatsız olduklarından bir yaklaşımdan kaçınarak bir programcıya atfedilebilir.

Tahtada becerilerini geliştirmek, bir takım araçlar oluşturmak için zaman harcamak yerine, bir çekiçleri var ve her şeyi bir çiviye dönüştürmeye çalışıyorlar. Bu tuzağa düşmeyin.

Kötü olduğunuz şeyleri bulun ve tam olarak bunları uygulayın.

1
JRB

Eğer sadece birkaç aylık gelişim tecrübesi ile yeniyseniz onlardan pek bir şey beklenmiyor (gerçekten, ciddi olarak, sizin için biraz yetenek görüyorlar, bu yüzden oradasınız, hatanız değil, endişelenmeyi bırakın).

Size verilen görevin sizi ilerletecek şey olduğunu fark etmelisiniz. sizden öğrenmenizi bekliyorlar. Herhangi bir görevden önce bir süre araştırmayı ve sonra bir tür yön için kıdemli olana gitmeyi bir noktaya getirin. Doğru yönde ilerlediğinizi, doğru yaklaşımı kullandığınızı görün. Belki bazıları doğru yaklaşım hakkında bağırır ve endişelenmeye başlarsınız. hepimize olur, hepsi öğrenme eğrisinin bir parçasıdır.

Bu yüzden sadece rahatlayın ve rahatlayın ve sorumluluk günlerinin tadını çıkarmaya çalışın ama sıkı çalışın

0
maz3tt

Bu şekilde birçok kez hissettim ve muhtemelen gelecekte daha fazla böyle hissedeceğim. Bunu biraz daha zorlaştırabilecek endişe ve depresyona sahip olduğumu kabul ettim, ancak bazı azim, zeka ve merakla sonunda nerede bitireceğinizi görmek ilginç olabilir. Gerilla Mülakat Rehberi dikkate alınması gereken bir şey hakkında kötü bir fikir olmaz.

Başka bir soru, bulduğunuz mücadele ve çözümlerden ne kadar hoşlandığınızdır. Sorunları çözmekten hoşlanmıyorsanız, muhtemelen programlamadan çıkmanızı öneririm. Aynı zamanda, işteki ilk birkaç ayımı bir aptal gibi hissettiğim ve "ateşle vaftiz" durumumun olduğu birçok kez olduğunu biliyorum ama bu normal bir şey. Mücadelelerden kurtuldum ve dünyanın zirvesindeymişim gibi hissettiğim anlar yaşadım, bu da genellikle orta derecede başarı ile tekrar yakalamaya çalıştığım harika bir duygu.

0
JB King