Bir programlama danışmanı nasıl bulunur? [kapalı]


46

Programlamayı öğrenmeye karar verdim. Birkaç gündür SO okuyorum ve sanırım bazı yazıları okurken C ++ ile başlayacağım. Döngülerden, dizilerden, program mantığından ve nesnelerden biraz haberdarım ve ilk projelerimi yaparken bana bakacak ve küçük sorularda bana yardım edecek birine ihtiyacım var.

Öyleyse işte soru - bu adamı nerede bulabilirim? Program yapan hiçbir arkadaşım yok.

EDIT: 2 yıl sonra hala akıl hocası arıyorum. 3 ay sonra tekrar aktif olarak başladım. Cocos2d ile Objective-C ve iOS programlama ve oyun programlama üzerine çalışıyorum. Benim akıl hocam olmak istiyorsan, beni bırak ya da yorum yap.


1
ayrıca, seçtiğiniz dilde iyi bir "yeni başlayanlar" kitabı satın alın
Demian Kasier,

2
Sadece bu kullanıcılarla takıl . Onlara bir iki bira ver. Mesajlarını oku. Onlara sorular sorun.
WernerCD

1
İşte Yazılım Ustası Manifestosu'nu imzalayan isimlerin (ve haritaların) listesi: manifesto.softwarecraftsmanship.org
Aralık'ta

1
Cevabım biraz aptalcaydı, ancak daha katı bir dil öğrenirken JavaScript veya Python öğrenmenizi tavsiye ediyorum. Ne yaptığınıza bağlı olarak her iki paradigmanın da avantajları var, ancak "daha guzel" dillerde bir konsolda ve JS durumunda, web sayfası düzeni ve UI davranışıyla uğraşmaya çalışabilirsiniz Chrome'un geliştirici araçları. Ayrıca, param içinde dolaşabileceğiniz fonksiyonlar; kaka yapan, bilmeyen ve asla bilemeyen insanlar (teşekkürler, jeebus, çünkü o adamlarla çalıştım); müstehcen güçlü.
Erik Reppen

1
İki yıl sonra, ihtiyacın olan tek şey biraz disiplin. Onun için hazır mısın?
ott--

Yanıtlar:


31

Açık kaynaklı bir projeye katılmak kesinlikle başlamak için bir yol. Ancak, yıllardır açık kaynaklı yazılım kullanıyorum ve açıkçası, bu tür projelerin neredeyse hepsinin kalitesi tuvalette. Programlama ve tasarım becerilerinizi tamamen onlardan öğrenirseniz, muhtemelen çok zayıf olanları, iyi olanlarla birlikte, aralarındaki farkı anlamanın bir yolunu alamayacaksınız.

Programlamayı ne için öğrenmek istersiniz ? Bunun cevabı neyi aramanız gerektiğini ve nerede olduğunu belirleyecektir. İşte bazı genel cevaplar ve bunların nasıl takip edileceğine ilişkin profesyonel görüşüm ( IMHO, doğru olsa da , sadece görüş olduğunu unutmayın ):

Sadece nasıl yapılacağını bildiğini söylemek için.

O zaman bir akıl hocasına ihtiyacınız yok ve C ++ başlamak için kötü bir yer. C ++ 'ı seviyorum, bu genel programlama için ilk tercihim, fakat bunun yerine başka bir dille oyna. Python'u öneririm; C ++ 'dan daha yumuşak bir öğrenme eğrisi vardır ve bazı dillerin aksine (isim belirtilmemiş, bugün asbest iç çamaşırımı giymedim), daha sonra daha ileriye girmek istemeniz durumunda yine de birkaç faydalı beceri öğreneceksiniz. O yola devam etmeye karar verirseniz, kavramların çoğu doğrudan C ++ 'a çevrilebilir.

Sadece denemek ve beğenip beğenmediğinizi görmek için.

Açık kaynaklı bir proje bunun için yeterli olabilir. Beğendiğiniz bir program seçin, ancak bazı sorunlar veya tahrişler buldunuz ve onu çalıştıran kişilere yardım sunun. Açık kaynak kodlu projelerin çoğu katkılara açıktır, bu yüzden genellikle açık kaynak kodludurlar.

Ancak bu durumda, do not ilk programlama dili olarak C ++ deneyin. Temel konulara hakim olmak zor değil, ancak C ++ programlarınızda ciddi ve bulmak zor bazı hatalar alabileceğiniz kadar düşük seviyede. Programlamayı sevdiğinizi veya atasöz öküz kadar inatçı olduğunuzu bilmiyorsanız veya sizi doğru yöne işaret edebilen, bu alanda sahip olabileceğiniz herhangi bir ilgi alanını öldürecek bir danışman bulmuş bulunuyorsunuz. Python hakkındaki yukarıdaki cevaba bakınız, bunun için daha uygun.

Çünkü yazmak istediğiniz belirli bir program için bir fikriniz var.

(OP'nin bu kategoride olduğunu sanmıyorum, daha sonraki okuyucular için yerleştiriyorum.)

Program tasarım ve uygulamasında uzmanlaşmak için gereken zaman hakkında bir fikriniz var mı? Bir ipucu olarak, yıl cinsinden ölçülür. Hem akıllı hem de son derece şanslıysanız, sadece birkaç aylık bir çalışmadan sonra yarı-terbiyeli bir tasarıma sahip olabilirsiniz, ancak üzerinde çalışacak çok az tecrübesi olan herkes (daha sonra da dahil) Keşke hiç doğmamış olsaydın - Tecrübelerden konuşurum. :-) Fikir o kadar süper değilse, bitene kadar kimsenin haberi olmayacak, zahmet etme. Sizin için yapmak için deneyimli bir programcı işe alın ya da parasını ödeyemiyorsanız ancak programın yeterince kötü olmasını istiyorsanız, bir taneyle ortak olmayı teklif edin - iş tarafını yönetin ve programlama bölümünü yönetmesine izin verin. En iyi geliştiriciler programlama yapmayı tercih eder, böylece bu tür bir teklif onlara değer verebilir.

Çünkü zaten programlama ile büyülendiğinizi ve daha fazla şey öğrenmek istediğinizi zaten biliyorsunuz.

O zaman tam olarak doğru yoldasın. :-) İster hobi gibi olun, isterse daha sonra bir kariyere dönüşebilecek bir şeyseniz, onu büyüleyici bir şekilde bulan kişiliğe sahipseniz, yapabileceğiniz en iyi şey kendinizi bu işe sokmaktır. C ++ bu durumda herkes kadar iyi bir dildir ve bir mentor kesinlikle yardımcı olacaktır (ve sadece becerilerinizi geliştirmekten daha fazlası; tutkularınızı paylaşan arkadaşlarınız olmadan yalnız kalabilir).


4
Asıl soru, nasıl arama yapması gerekip gerekmemesi gerektiği konusunda bir mentor nasıl bulunacağıydı.
marktani

4
Bu sorunun cevabı, C ++ ile gerçekten ilgilenen herkesin mentorluğuna yapılan bir teklifi içeriyordu. Gerçekten ilgilendiğini iddia eden, ancak bir sohbeti sürdürmek için canını sıkmayan sekiz kişiyi aldıktan sonra, bu teklifi kaldırdım.
Baş Geek

23

Bir akıl hocası bulmak için bir akıl hocası aramayın. Kendinizi belirli şekillerde geliştirmeye çalışın. İyileşmek için yeterince çalışıyorsanız, hem düşünen insanlarla iletişim kurduğunuzu hem de bu insanlarla ortak bir ilişkinizin olduğunu göreceksiniz.

Kullanıcı grupları, mentor bulmak için muhtemel yerlerdir, ancak hiç kimse orada “akıl hocası arıyorum” diye düşünen birine yardım etmek istemez. Fakat eğer oradaysanız: “Birisi iyi JavaScript birim testleri yazmam için bana yardım edebilirse çok isterdim” veya “Biriyle eşleşmeyi ve Clojure'da bir kata test sürüşü yapmayı çok isterdim” veya er ya da geç çıkarlarını paylaşan ve biraz daha uzaktaki birini bulacaksın.


14

Gerçekten iyi rehberlik yapan insan türlerinde, genellikle herhangi bir anda kendi zamanları için yetişen bir düzine kadar genç vardır. Bu yüzden, doğru mentoru "bulmak" sadece bir başlangıçtır, ayrıca sizi mentorluğa başkasının mentorluğundan daha çekici / ödüllendirici hale getirmelisiniz.

Öyleyse, birinci adım, iyi mentorlarla tanışma ihtimaliniz olan topluluklara katılmak.

İkinci adım, değerli bir mentee olmaktır. Şahsen benim mentiyede aradığım bazı şeyler:

  • Benimkilere yakın, ona eşit veya ondan daha fazla istihbarat
  • Sunmak ve zevk almak zorunda olduğum şeylere ilgi duymak.
  • Kişiliğin uyumluluğu (yani iyi geçiniriz, birbirimizle konuşmaktan zevk alırız).
  • Proje / topluluk için değerli olmaya istekli, aşağıdaki konularda kendisine danışmanlık yapıyorum:

    • Kod Yazma
    • Belge Yazma
    • Scut işi, sıra sırası triyajı, yorumları temizleme vb. Gibi çalışır.
    • Daha az deneyimli katkıda bulunanlara yardım etmek
  • Her zamanki iş akışımla uyumluluk.
  • Bana bir şeyler öğretebilme . Birinden daha deneyimli olmak, onlardan öğrenmeyi engellemez. En iyi mentee, doğru soruları sorma konusunda bir yeteneğe ya da yeni bir bakış açısına ya da öğrenebileceğim bilgi alanlarımın dışındaki bazı deneyimlere sahip.

12

Açık kaynaklı bir projeye katılın. Onlar için de mutlaka program yapmanız gerekmez. Çoğu proje, dokümantasyon konusunda birisinin yardım etmesini çok ister. Kodlara bakabilir ve sorular sorabilirsiniz. Rahat düştüğünüzde onlar için kod yazmaya başlayabilirsiniz.


1
Tamam, aptal gelebilir ama açık kaynaklı projelere nasıl katılıyorsunuz? Ziyaret edilecek en iyi web sitesi hangisidir?
Bay Ant

1
gnu.org/help veya bazı açık kaynak kod havuzları (google code, github ...). Belgelere katkıda bulunacak ve e-posta gönderecek kişilerin bulunmadığı ilginç bir projeyi arayın.
cbrandolino

2
Aptal soruların olmadığına inanıyorum. Pek çok açık kaynaklı proje web sitesi olmasına rağmen, sourceForge hala en popülerlerinden biri.
Jim C

1
@Ant: Çalışılacak en iyi açık kaynak projesi, yaygın olarak kullandığınız veya kullanmayı umduğunuz bir programdır.
Larry Coleman

7
-1: Bir işletim sistemi projesine katılmak iyi bir cevap, ancak öğrenmenin kesinlikle bu aşamasında değil (yani 1. gün). Islanmadan önce derinlere dalıyorlar. Kitaplar veya sınıf yoluyla yapılandırılmış bir öğrenme çok daha iyi bir fikirdir.
Steven Evers

6

Bir mentordan ne bekliyorsun? Açık kaynak kodlu bir projenin veya yerel kullanıcı grubunun önerileri, ağ kurma ve bir şekilde size yol göstermelerine yardımcı olmak için olmak istediğiniz şey boyunca birkaç adım ileride olan birini bulma konusunda daha fazla olacak şekilde tasarlanmıştır. Jamie Oliver veya Gordon Ramsay'dan yemek yapmayı öğrenmeye çalışırken, günün sonunda oldukça eğlenceli ve yararlı olabilir.

Beklentilerinize bağlı olarak, bir danışman bulmak kolay veya şaşırtıcı derecede zor olabilir. Aklını okuyabilen ve sana bir adım veya daha kısa sürede harika olmanın sırlarını adım adım verebilecek birini bekliyorsan, bu gerçekçi olmayabilir. Aynı zamanda, sizden bazı şeyleri daha iyi yapabilecek birini bulmak istiyorsanız, bunu yapmak zor olmayabilir. İlk önce beklentilerinizin ne olduğunu anlayın.

İkincisi, şimdi ne istediğini biliyorsun, onu bulmak zorundasın. Bu oldukça zor olabilir, çünkü Kanada ve ABD'de sanat eseri gibi yeteneklerini kullanarak geliştiricilerin tanıtımını yapmak için ayrılmış pek çok yer var, bu yüzden öneriyi hayal ettiğimi düşündüm. MentorNetdaha önce denememiş olsam da çalışabilecek bir program örneği olurdu, bir süre önce araştırdım ve benim için ve ne istediğimi düşünmedim. Buradaki bir başka düşünce, arkadaşlarınız ve aileniz burada ne istediğinizi ne kadar iyi bildiğidir. İsterseniz size yardımcı olabilecek birisini veya bir yeri tanıyor olabilirler. Bu kapsamlı bir cevap olmasa da, sorduğunuz şey biraz belirsizdir ve umarım buna daha fazla eklersiniz ve daha sonra ne istediğinizi ve nasıl istediğinizi biraz daha ayrıntılı olarak verdikten sonra takip ederim. Burger King değil ama bu şekilde çalışmayı deneyebiliriz.


C ++ sunucu tarafı bileşen uzmanları bulmak oldukça zor olabilir. Yakınlarda ikincil sonrası kurumlar var mı? Bu kişiler, olası bir fikir olarak başka bir şeye kayıyor olabilecek becerilere sahip birine sahip olabilirler. O akıl hocasını bulma konusunda iyi şanslar.


Benim tarafımdan +1. Görünüşe göre biriyle çalışmak ileri gitmenin bir yolu.
Fanatic23

4

Açık kaynaklı projeler, eklediğiniz belirli kodlar ve potansiyel olarak yeni şeyler yapmanın yeni yolları hakkında geri bildirim almakta harikadır, ancak anladığınız gibi, bu muhtemelen bir mentor ilişkisine neden olmayacaktır.

Daha önce bahsettiğiniz şeyi ve bu kullanıcı gruplarını öneririm. Kullanıcı grupları genellikle oldukça sık toplanır, böylece potansiyel mentorlarla gerçek yüz zamanı elde edebilirsiniz. Bu yüz zamanı, daha hızlı ve daha kolay bir iletişim akışı sağlar. Herkesin aynı alanda olduğunu garanti eder mi? Hayır, ama bir yerden başlamalısın. Çok fazla deneyime sahip birini bulursanız, yalnızca sahip oldukları diğer deneyimlere dayanarak, etki alanınızla ilgili size yardımcı olabilirler.


3

Yerel Linux Kullanıcı Grubunuzu ( burada bir liste bulacaksınız) kontrol edebilirsiniz, genellikle katılımcıların çoğu programcılardır - veya en azından perl korsanları. Ayrıca, onlara bir programlama danışmanı bulmak için orada olduğunuzu söylerseniz, sizi seveceklerdir.

Craigslist'teki bir yazı denemeye değer olabilir, ama buna iddiaya girmem.

Ayrıca, eğer Almanya merkezli iseniz, özellikle önerebileceğim birkaç yer var.


Peki ya CA, Bay Area?
greatwolf

@Victor, gerçekten bilmek ancak birkaç orada görünmüyor: google.de/...
cbrandolino

3

Stack Exchange'e kaydolduğunuz göz önüne alındığında, zaten sizin için uygun olan birçok gayrı mentor var. Kolayca soru sorabilir veya kodunuzu, yardım etmek isteyen birçok kişi tarafından gözden geçirebilirsiniz.

Daha yerel olarak, yüz yüze rehberlik ya da öğretmenlik yapmak istiyorsanız, harika seçenekler şunlardır:

  • Kullanıcı grupları - Artıları: ücretsiz ya da ucuz, herkese açık. Eksileri: Seyrek, sistematik olmayan, topluluğunuzda bulunmayabilir.
  • Kooperatifler - Artıları: açık, ücretsiz / ucuz. Eksileri: daha az yaygın, geçici, web için C ++ 'dan daha muhtemel.
  • Üniversite / kolej derecesi - Artıları: sistematik, kaliteli, saygın, kapıyı açar, genellikle en azından bazı yüksek kaliteli fakültelere erişim sağlar. Eksileri: Rekabetçi giriş, büyük taahhüt, pahalı, yüksek yıkama oranı, bu yüzden yazılım mesleğini yapmak isteyip istemediğinizi öğrenmek için pahalı bir yoldur, çalışma programı esnek olabilir, ancak sevmediğiniz veya isteyeceğiniz konular gerektirebilir zor bul.
  • Topluluk kolej sınıfları veya lisans programları. Artıları: Ucuz, iyi değer, eğitmenlerden daha fazla bireysel ilgi, kabul edilmesi kolay. Eksileri: Üniversiteden daha az prestij, ancak iyi bir öğrenci gittiği her yerde iyi bir öğrencidir.
  • Profesyonel kuruluşlar - Artıları: İyi ağ kurma ve sürekli eğitim olabilir. Eksileri: üyelik için hak kazanmak için alanda bir dereceye veya işe ihtiyacınız olabilir. Aylık toplantılar, kariyer sağlayan konuların sistematik kapsamından ziyade yeniliklerle ilgili geçici konular olabilir.
  • Meslektaşlarınızdan, kıdemli personelden veya yöneticilerden yapılan işte - Artıları: sık, hedefli, takdir / coşku / takip etme kariyerinizi başka hiçbir şey yapamayacağınız gibi inşa edecektir. Eksileri: iş akıl hocanız yargılama moduna girerse ve hepsinin takılmasına izin veriyorsanız, yanlış gidebilirsiniz, bu tür bir akıl hocası, küresel rekabet nedeniyle bir dereceye kadar kazanma anlamına gelebilecek bir işe sahip olana kadar mevcut olmayabilir.
  • Coworking - Artıları: güzel kaynaklar, harika insanlar, genellikle bir komün ve bir oda dolusu CEO arasında çapraz. Eksileri: yaşadığınız yerde bulunmayabilir, paylaşılan alan için kira ödemesine yardımcı olmak için nakit taahhütte bulunabilir, bu alandaki birçok kişi serbest meslek sahibi olur, bu nedenle zamanlarına saygı göstermeli ve faydalarını karşılıklı kullanmanın yaratıcı yollarını bulmalısınız.

2

Bence forumlar, konuyla ilgili tecrübeli bazı kişileri bulmanın en iyi yolu olacaktır. Oradan başlaman gerektiğine inanıyorum.

Google + 'daki bazı c ++ sitelerini veya belki de sevgili arkadaşımız stackoverflow'u inceleyin, burada c ++ ninjaları sorularınızı yanıtlamaya hazır!


1

Programlamayı öğrenmek hırslı ve ( bu sitedeki herkesin kabul edeceğini düşünüyorum ) asil bir sebep. Ancak, bir akıl hocası ile bile, sıfırdan başlamak ve öğrenmek zor. Size bir temel vermek için en azından bazı tanıtım dersleri almanın en iyi yol olacağını düşüneceksiniz.

Bir akıl hocası harika bir fikir ve 15 + yıl sonra ilk "gerçek" mesleğime sorularımı cevaplayan adamsız bir kodlayıcı olarak burada olmazdım, ama gerçekte, tek bir kişi başaramaz Size zaman ve rehberlik etmek için başarılı bir programcı olmanız gerekir. Muhtemelen kendileri ile tam zamanlı bir iş (ya da kurs yükü) alacaktır. Bu, bir akıl hocası (ya da akıl hocası) bulmamanız gerektiği anlamına gelmez, başka bir şeye de ihtiyacınız olacak.

Bunun gibi siteler ve çevrimiçi öğreticiler, kitaplar ve diğer her şey bulmacanın parçalarıdır. Eğitim sınır parçalarını oluşturur.

Bu sizi cesaret kırmayacak; Aksine, gerçekçi beklentiler belirlemenin size başarı için daha iyi bir şans vereceğini düşünüyorum.


1

Bir şirket ortamında çalışıyorsanız, orada bir akıl hocası arayabilirsin.

Açık kaynak kodlu bir projeye gelince, oluşturduğunuz bir proje için bir danışman bulacağınızdan şüpheliyim, ancak oluşturdukları bir projede bir tane bulabilirsiniz.

Akıl hocalarının da bu düzenlemeden bir şeyler almaları gerektiğini unutmayın. Size yardımcı olmak için değerli zamanlarını harcıyorlar. Onlar için karşılığında bazı işler yapmaya hazır olun.


0

“Nasıl bir programlama programı bulabilirim? Tek istediğim şey. Sadece dünyayı devralacak devasa bir robot ordusu kurmak istiyorum. Zekiyim ve AI'yı yazdım. Param var, etkim, Sadece bu iğrenç .NET veya JVM aptallığı ile uğraşmaktan rahatsız olamam ... Hmm ... Nasıl .. Nasıl !? Kahretsin! "

Normalde bunu açıklamazdım ama Stack'tayız. Bazı insanlar tam anlamıyla böyle. Birini (bir mentor) bulabilirsiniz, faydalı olarak. Yararlı olabilirsiniz, problemleri çözerek çocuklarınızı deneyimle (veya - belki - beyin - veya (heh) para) çözmek istemezsiniz.

Çekirge bu sorunları çözün.

Ya da yapma. Bilgi çağı. DIY arkadaşım. Aptal ya da kod ile ilgili bir şey hakkında akıllıca veya bilge olduğunuzda ya da hepinizi batırmaya hazır olan yatırımcının işlenmesi kadar kolay alamayacağımız şeyleri anlatmak için Stack gibi topluluklara bakın.

Ve bildiklerini paylaş. Oluklarını bulduktan sonra kollektife biraz katıl. Bu 1700'lerde demirci değildir. Aileniz kimseyi tanımak zorunda değildi (her ne kadar kesinlikle herkes kendinize zanaat-bilgi vermediğiniz ve lonca ile paylaşmadığınız için minnettar olsa da).

Sadece ilgilendiğine karar verirsin ve gidersin. Batarken çılgınca güçleniyor. Bir süre alıyor (biliyorum) ama bana güveniyorlar (eğer sadece bu görünüşte saçma bir noktadaysa - ondan fazla zaman aldım, evet, acayip bir programcı olduğumu), hepsi bu Asıl mesele, temel yetenek seviyesine sahip olmanız ve gerçekten ilgilendiğinizdir. Eğer değilseniz, lütfen! @ # $ Off ile ilgilendiğiniz bir şey bulun.

Çünkü programlama / kodlama / kodlama, aksi halde korkunç bir seçimdir. Ama bunu olumsuz, kötü bir noktaya bırakmak istemiyorum. Eğer ilgileniyorsanız, ne kadar iyi olduğunuz konusunda endişelenmeyin. Sorular sor. Talep cevapları. Kendim gibi toplam uzun sargı gaz / duş torbaları ile koyun. İstersen oraya gideceksin.

Bulmaca sever misiniz? Çözmek için rastgele rastgele sorunları sever misiniz? Gladyatör filmleri sever misiniz? Alışılmadık bir şekilde ilk iki noktada, evet? Bir akıl hocası aramayın. Bir dili gerçekten iyi öğrenin, ilk diline aşırı derecede yakın olmayan bir ya da iki diğerini, beceri düzeyi-giriş seviyesiyle, bazı kitapları okuyun ve bazı fikirlerle öğrenin. Sadece tamamen yanlış olup olmadığınızı görmek için bile onlara meydan okumaktan ve zaman zaman değiştirmekten keyif alın. İçgüdülerinizin ne kadar sık ​​olmadığı kadar şaşırmış olabilirsiniz. İnsanlardan dışarı çıkmalarını ve yanlış soruyu sormalarına karşı sizi tokatlamalarını isteyin; sizi bu duruma vuran çoğu kişiden daha iyi tanıdığını görebilirsiniz. Ama çoğunlukla, çözülmesi gereken bir problem. Çöz onu.


Tabii ki çözümü paylaşalım, böylece sevmediğimiz bitleri kaka yapabiliriz.
Erik Reppen

-2

Bir danışman için, freenode (irc) gidin. Yemin ederim, herhangi bir beceri seviyesinde faydalı, o yerden CS derecesinin çoğunu alabilirsiniz. Burası çok şey öğrendim. Kişinin o kanalda mı yoksa 7/24 mi olduğu önemli değil, gerçek zaman ve önemli olan da bu.

Ve diğerlerinin dediği gibi, C ++ yapmayın. Bunun yerine, statik olarak yazılmış, çöp toplayan bir dille başlayın ve çöp toplayıcıyı yenecek kadar bilginiz bulunmadıkça el ile bellek yönetimine geçmeyin. Denersen biraz hızlı Haskell veya OCaml yazabilirsin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.