Daha fazla tartışma için http://news.ycombinator.com/item?id=4037794
Göreceli olarak basit bir geliştirme görevim var, ama her saldırmaya çalıştığımda, derin düşüncelere dalmaya başladım - geleceği nasıl genişletebilir, 2. nesil müşterilerin ihtiyaç duyacağı şey, "işlevsel olmayan" ı nasıl etkileyebilir? Yönleri (örneğin, Performans, yetkilendirme ...), değişime izin vermek için mimar yapmanın en iyi yolu ...
Bir süre önce kendimi hatırlıyorum, daha genç ve belki daha istekli. "Ben" o zamanlar hakkında hiçbir şey düşünmemiştim - devam edecekti ve bir şeyler yazmış, sonra yeniden yazmış, sonra tekrar yazmıştı (ve tekrar ...). Bugün "ben" daha tereddütlü, daha dikkatli.
Bugün oturup başkalarını insanlara işlerin nasıl yapılacağına dair talimat vermeyi ve talimat vermeyi çok daha kolay buluyorum. - ama klavyede her oturduğumda, aynı sinir bozucu yerde kalıyorum.
Bu yanlış mı? Bu doğal bir evrim mi, yoksa kendimi bir sıkıntıya mı soktum?
Adil açıklama - Geçmişte bir geliştiriciydim, bugün iş ünvanım bir "sistem mimarı" dır. Ne anlama geldiğini anlamada iyi şanslar - ama bu başlık.
Vay. Dürüst olmak gerekirse, bu sorunun çok fazla yanıt üretmesini beklemiyordum. Özetlemeye çalışacağım.
Nedenleri:
- Analiz felci / Aşırı mühendislik / altın kaplama / (başka herhangi bir "çok fazla fazla düşünmeden seni incitebilir").
- Verilen görev için çok fazla deneyim.
- Neyin önemli olduğuna odaklanmamak.
- Yeterince tecrübe yok (ve bunu anlıyoruz).
Çözümler (nedenlerle eşleştirilmez):
- İlk test.
- Kodlamaya başla (eğlenmek için +)
- Atılacak bir tane (+ atılacak bir API).
- Zaman kısıtlamalarını ayarlayın.
- Havayı soyun, eşyalarla kalın.
- Esnek kod yapın ("atılacak biri" nin tersi, hayır?).
Herkese teşekkürler - Bence buradaki en büyük yarar, bu deneyimde yalnız olmadığımı fark etmekti. Aslında kodlamaya başladım ve çok büyük şeylerin bazıları doğal olarak düştü.
Bu soru kapalı olduğundan, bugünden itibaren en çok oyu alan cevabı kabul edeceğim. Ne zaman / değişirse - takip etmeye çalışacağım.