ฉันได้รับการเขียนโปรแกรม (อย่างย่ำแย่) ตั้งแต่ฉันอายุ 12 ปีฉันมีความรู้พอสมควรในภาษาต่าง ๆ ตั้งแต่การประกอบการจนถึง C ++ จาวาสคริปต์จนถึง Haskell Lisp และ Qi แต่ทุกโครงการของฉันเป็นของตัวเอง
ฉันสำเร็จการศึกษาด้านวิศวกรรมเคมีไม่ใช่ CS หรือวิศวกรรมคอมพิวเตอร์ แต่เป็นครั้งแรกที่ฤดูใบไม้ร่วงนี้ฉันจะทำงานในโครงการเขียนโปรแกรมขนาดใหญ่กับคนอื่น ๆ และฉันก็ไม่รู้วิธีเตรียม ฉันใช้ Windows มาตลอดชีวิต แต่โครงการนี้จะเป็นยูนิกซ์มากฉันจึงซื้อ Mac เมื่อไม่นานมานี้โดยหวังว่าจะได้ทำความคุ้นเคยกับสภาพแวดล้อม
ฉันโชคดีที่ได้มีส่วนร่วมในการแฮ็กฮ็อตกับเพื่อนบางคนเมื่อปีที่แล้ว - ทั้งวิชาเอก CS - และน่าตื่นเต้นมากที่เราชนะ แต่ฉันรู้ว่าฉันทำงานกับพวกเขาว่ากระบวนการทำงานของพวกเขาแตกต่างจากของฉันมาก พวกเขาใช้ Git สำหรับการควบคุมเวอร์ชัน ฉันไม่เคยใช้มันในเวลานั้น แต่ฉันได้เรียนรู้ทุกอย่างที่ฉันสามารถทำได้แล้ว พวกเขายังใช้เฟรมเวิร์กและไลบรารีจำนวนมาก ฉันต้องเรียนรู้ว่า Rails นั้นค่อนข้างค้างคืนสำหรับ Hackathon (ในทางกลับกันพวกเขาไม่ทราบว่าการกำหนดขอบเขตหรือการปิดของคำศัพท์) รหัสทั้งหมดของเราทำงานได้ดี แต่พวกเขาไม่เข้าใจฉันและฉันก็ไม่เข้าใจรหัสของพวกเขา
ฉันได้ยินการอ้างอิงถึงสิ่งต่าง ๆ ที่โปรแกรมเมอร์จริงทำในชีวิตประจำวัน - การทดสอบหน่วยการตรวจสอบโค้ด แต่ฉันมีความรู้สึกไม่ชัดเจนว่าสิ่งเหล่านี้คืออะไร ปกติฉันไม่มีข้อบกพร่องมากมายในโครงการเล็ก ๆ ของฉันดังนั้นฉันไม่เคยต้องการระบบติดตามบั๊กหรือการทดสอบสำหรับพวกเขา
และสิ่งสุดท้ายคือฉันใช้เวลานานกว่าจะเข้าใจรหัสของคนอื่น อนุสัญญาการตั้งชื่อตัวแปร (ที่แตกต่างกันในแต่ละภาษาใหม่) เป็นเรื่องยาก (__mzkwpSomRidicAbbrev) และฉันพบว่าข้อต่อหลวมยาก ไม่ได้หมายความว่าฉันจะไม่ทำสิ่งที่ผิดเพี้ยนไป - ฉันคิดว่าฉันทำได้ดีมากสำหรับการทำงานของตัวเอง แต่เมื่อฉันดาวน์โหลดบางอย่างเช่นเคอร์เนล Linux หรือซอร์สโค้ด Chromium เพื่อดูฉันใช้เวลาหลายชั่วโมง เพื่อค้นหาวิธีการเชื่อมต่อไดเรกทอรีและไฟล์ที่มีชื่อแปลก ๆ เหล่านี้ มันเป็นบาปของการเขียนโปรแกรมเพื่อบูรณาการวงล้อ แต่ฉันมักจะพบว่ามันเร็วกว่าที่จะเขียนฟังก์ชั่นของตัวเองมากกว่าที่จะใช้เวลาหลายชั่วโมงในการตัดห้องสมุด
เห็นได้ชัดว่าคนที่ทำสิ่งนี้เพื่อการดำรงชีวิตไม่มีปัญหาเหล่านี้และฉันจะต้องไปที่จุดนั้นเอง
คำถาม:ขั้นตอนใดบ้างที่ฉันสามารถทำเพื่อเริ่มต้น "รวม" กับคนอื่น ๆ ?
ขอบคุณ!