บันทึกการสนทนาเพิ่มเติมได้ที่http://news.ycombinator.com/item?id=4037794
ฉันมีภารกิจการพัฒนาที่ค่อนข้างง่าย แต่ทุกครั้งที่ฉันพยายามโจมตีมันฉันจะวนเวียนอยู่ในความคิดลึก ๆ - มันจะขยายอนาคตได้อย่างไรลูกค้ารุ่นที่สองจะต้องได้อย่างไรมันจะส่งผลกระทบอย่างไรกับ "ไม่ทำงาน" แง่มุมต่างๆ (เช่นประสิทธิภาพการอนุญาต ... ) สถาปนิกจะอนุญาตให้เปลี่ยนแปลงได้อย่างไร ...
ฉันจำตัวเองได้ไม่นานก่อนหน้านี้อายุน้อยกว่าและอาจจะกระตือรือร้นมากกว่าเดิม "ฉัน" แล้วฉันก็ไม่ได้คิดอะไรเกี่ยวกับสิ่งนั้น - เขาจะได้ไปข้างหน้าและเขียนอะไรแล้วเขียนใหม่แล้วเขียนมันอีกครั้ง (และอีกครั้ง ... ) วันนี้ "ฉัน" ลังเลมากขึ้นระวังตัวมากขึ้น
วันนี้ฉันพบว่ามันง่ายกว่ามากที่จะนั่งและวางแผนและสั่งสอนคนอื่นเกี่ยวกับวิธีการทำสิ่งต่าง ๆ มากกว่าที่จะไปข้างหน้าและทำมันเอง - ไม่ใช่เพราะฉันไม่ชอบโค้ด - ตรงกันข้ามฉันชอบ! - แต่เพราะทุกครั้งที่ฉันนั่งที่แป้นพิมพ์ฉันก็ลงเอยในที่ที่น่ารำคาญเช่นเดียวกัน
มันผิดหรือเปล่า? นี่เป็นวิวัฒนาการตามธรรมชาติหรือไม่หรือว่าฉันขับรถเข้าไปในรูต?
การเปิดเผยที่เป็นธรรม - ในอดีตฉันเป็นนักพัฒนาวันนี้ตำแหน่งงานของฉันคือ "สถาปนิกระบบ" ขอให้โชคดีในการค้นหาความหมาย - แต่นั่นคือชื่อ
ว้าว. ฉันไม่ได้คาดหวังว่าคำถามนี้จะสร้างคำตอบมากมาย ฉันจะพยายามสรุปมัน
เหตุผล:
- การวิเคราะห์อัมพาต / เหนือวิศวกรรม / การชุบทอง / (อื่น ๆ "การคิดมากเกินไปล่วงหน้าอาจทำให้คุณเจ็บ")
- มีประสบการณ์มากเกินไปสำหรับงานที่กำหนด
- ไม่เน้นสิ่งที่สำคัญ
- ประสบการณ์ไม่เพียงพอ (และตระหนักว่า)
วิธีแก้ปัญหา (ไม่ตรงกับเหตุผล):
- ทดสอบก่อน
- เริ่มการเข้ารหัส (+ เพื่อความสนุกสนาน)
- One to throw away (+ หนึ่ง API เพื่อทิ้ง)
- ตั้งข้อ จำกัด เวลา
- ถอดปุยให้อยู่กับสิ่ง
- สร้างรหัสที่ยืดหยุ่นได้ (ตรงข้ามกับ "one to throw away", no?)
ขอบคุณทุกคน - ฉันคิดว่าประโยชน์สำคัญที่นี่คือการตระหนักว่าฉันไม่ได้อยู่คนเดียวในประสบการณ์นี้ จริงๆแล้วฉันได้เริ่มเขียนโค้ดแล้วและสิ่งที่ใหญ่เกินไปบางอย่างก็พังทลายลงตามธรรมชาติ
เนื่องจากคำถามนี้ปิดฉันจะยอมรับคำตอบด้วยคะแนนมากที่สุด ณ วันนี้ เมื่อใดหากมันเปลี่ยนแปลง - ฉันจะพยายามติดตาม