Какая у вас эффективность работы?
===================================

> "Вся моя жизнь это разрастающийся круговорот ***"

  
*(с) Раст. О том как после перспектив стать серьезным С++ вуду-программистом пришлось 4 года по ночам писать на асме, а днем работать эникейщиком под прикрытием.*  
  

Какое-то время я удаленно работаю над проектом и сперва такой подход был очень эффективным. Но вот уже несколько месяцев работа мне дается очень тяжело. Приходиться полностью переписывать когда-то созданный проект, потому что его архитектура была вообще не продумана. Несколько недель я проектировал и менял код одновременно. У меня мало опыта проектирования или даже лучше сказать, что вообще нет. Короче я наступал на всевозможные грабли и проблемы продолжаются до сих пор. Я много отвлекаюсь и все такое.   
  

Может причина в работе дома, может это лень, может усталость (я несколько месяцев сижу над одной и той же задачей и никак не могу ее решить). А может для такой задачи это нормально если работает один человек? Я подумал, что надо четко понять в чем моя проблема, в том что я неэффективен или в том, что пытаюсь решить слишком сложную задачу для себя на данном этапе развития? Сколько времени бы потребовалось у других людей на те же задачи? Как оценить свою эффективность? Только сравнить себя с другими. Удаленная работа явно плохо сказывается на самоопределении и самоанализе, что затрудняет работу над ошибками.   
  

Лично мне особенно грустно не от самих проблем (ведь я читал о таких же проблемах в крутых книга - Макконнел, Брукс), а оттого что проект мне не кажется сложным. Мне начинает казаться, что ту задачу, которую нормальные программисты сделают за час-два, я буду делать неделю или месяц. В общих чертах это приложение - "фотобудка", которое будет локально запускаться на ПК и выводить на 1-ый экран изображение людей будто через объектив камеры, делать снимок после обратного отсчета, отображать ленту сделанных фото на 2-ом экране, где люди могут просматривать сделанные фото и отправлять их на печать. Кроме того важной фишкой является вырезание фона и всякие цветокоррекции для вписывания изображения на другой фон. Важно что в будущем сцены могут меняться и дополняться, а также могут добавляться всякие наклейки на фото. На базовый вариант программы у меня ушло 2 мес. работы (при чем большую часть возился с WPF, который был для меня незнаком). Потом 1,5 мес. на доработки функций и математику вырезания фона, потом еще пара недель на исправление ошибок, а в итоге еще 2 мес. на перепиливание всей архитектуры потому что дальнейшие требования превратили существующий код в хаос.  
  

Хотелось бы узнать честные примеры того кто что делал и сколько у него на это уходило времени и сил. В общем помогите мне в расследовании! 

 По описанию задачи кажется, что сложности были тут:  

- UI  

- взаимодействие с камерой (как минимум интеграция с каким-то сторонним апи)  

- плюшки для обработки фото (явно стоит думать про использование существующих решений, а значит интеграция)  
  

2 месяца на базовый вариант - имхо, вполне приемлимо  

1,5 месяца на математику - Вы её сами пытались придумать?   

2 недели на исправление ошибок - норм  

2 месяца на перепиливание всей архитектуры - если я правильно понимаю, задачу вы решили и с той архитектурой. Потом решили, что архитектура плохая (тут вопрос не производительности, а опыта в построении архитектуры). Рефакторинг обычно штука долгая. Только вопрос - а в чем там сложность архитектуры? Что было сделано такого, что пришлось это рефакторить. Ну не в архитектуре сложность этой задачи. 

> пытаюсь решить слишком сложную задачу для себя на данном этапе развития

  

Похоже на это. 

 Скорей всего в вашем случае просто сказывается неопытность. Обученные опытные люди решают типовые задачи как орехи. Но идут к этому десятилетиями. Так что не нужно раньше времени впадать в уныние.  
  

И да. Почему вы вдруг решили, что дожны быть как кто-то там из книжки? Может быть текущая производительность ваш потолок? Все люди разные по характеристикам и кому-то сложные задачи банально не по зубам. И это вовсе не значит что вы хуже как человек, вероятно занимаясь делами где проявляются ваши лучшие черты вы достигнете\заработаете многого!