12 yaşımdan beri programlama (saplantılı) yapıyorum. Derleme, C ++, Javascript, Haskell, Lisp ve Qi gibi dillerin spektrumunda oldukça bilgiliyim. Ama tüm projelerim tek başıma oldu.
CS veya bilgisayar mühendisliği değil kimya mühendisliği derecem var, ancak bu sonbaharda ilk kez diğer insanlarla büyük bir programlama projesi üzerinde çalışacağım ve nasıl hazırlanacağına dair hiçbir fikrim yok. Hayatım boyunca Windows'u kullanıyorum, ancak bu proje çok unix-y olacak, bu yüzden yakın zamanda kendimi çevreye alışmak umuduyla bir Mac satın aldım.
Geçen yıl bazı arkadaşlarla bir hackathon'a katılma şanslıydım - her iki CS binbaşı - ve heyecan verici bir şekilde kazandık. Ancak onlarla çalışırken iş akışlarının benimkinden çok farklı olduğunu fark ettim. Git'i sürüm kontrolü için kullandılar. O zamanlar hiç kullanmamıştım ama o zamandan beri bu konuda yapabileceğim her şeyi öğrendim. Ayrıca çok sayıda çerçeve ve kütüphane kullandılar. Rails hackathon için neredeyse bir gecede ne olduğunu öğrenmek zorunda kaldım (öte yandan, sözlüksel kapsamın veya kapanışların ne olduğunu bilmiyorlardı). Tüm kodlarımız iyi çalıştı, ama benimkini anlamadılar ve ben de onlarınkini anlamadım.
Gerçek programcıların günlük olarak yaptıkları şeylere referanslar duyuyorum - birim testi, kod incelemeleri, ancak bunların ne olduğuna dair en belirsiz duyularım var. Normalde küçük projelerimde çok fazla hatam yok, bu yüzden onlar için asla bir hata izleme sistemine veya teste ihtiyacım olmadı.
Ve son olarak, diğer insanların kodlarını anlamam uzun sürüyor. Değişken adlandırma kuralları (her yeni dile göre değişir) zordur (__mzkwpSomRidicAbbrev) ve gevşek bağlantıyı zor buluyorum. Bu, şeyleri gevşek bir şekilde birleştirmediğim anlamına gelmez - bence kendi işim için oldukça iyiyim, ancak Linux çekirdeği veya Chromium kaynak kodu gibi bir şey indirdiğimde, denemek için saatler harcıyorum tüm bu tek adlandırılmış dizinlerin ve dosyaların nasıl bağlandığını anlamak için. Tekerleği yeniden icat etmek bir programlama günahıdır, ancak çoğu zaman işlevselliği kendim yazmanın, bazı kütüphaneleri incelemek için saatler harcamaktan daha hızlı olduğunu düşünüyorum.
Açıkçası, bunu yaşamak için yapan insanların bu sorunları yoktur ve o noktaya kendim gelmeliyim.
Soru: Herkesle "bütünleşmeye" başlamak için atabileceğim bazı adımlar nelerdir?
Teşekkürler!