Часть 1. Об ошибке, которая приводит в тупик
Самая большая ошибка, когда-либо совершенная мной, заключалась в том, что при выполнении многих проектов я не занимался проектированием на бумаге. Мне казалось, что я прекрасно удерживаю все аспекты разработки в голове. Эта иллюзия была настолько сильной, что я списывал недостатки кода на что угодно, кроме собственной профессиональной близорукости и некомпетентности.
Благо, после некоторых мучений, я таки пришел к выводу, что делаю что-то не так. Хотя бы потому что, проекты перестали доставлять удовольствие, превратившись в постоянные гонки со временем. Те кто хоть раз срывал сроки меня поймут.
Даже если мне удавалось сохранить идеальный темп и уложиться в отведенное время, проблемы всеравно всплывали сами собой, спустя пару недель. В результате, мне приходилось латать “дыры” на скорую руку.
Самый страшный кошмар не сравниться с ощущением собственного бессилия, когда сразу от нескольких заказчиков начинают поступать жалобы, а времени на устранение ошибок почти нет. Начинает казаться, что тебя буквально разрывают на части. Из жизни исчезают выходные и праздничные дни, остается одна сплошная работа на пару с бессоными ночами.
Вполне закономерно, что при таком раскладе появляется огромное количество негатива, который щедро льется на тебя и ненавистных заказчиков, которым постоянно что-то нужно! Накапливается усталость, раздражение, тупая злоба. В один прекрасный день, даже мысль о работе становится невыносимой.
Желание работать моментально улетучивается. но чтобы не обмануть оказанное доверие, не испортить репутацию работу нужно продолжать. И ты продолжаешь.
После титанических усилий проекты удается довести до более или менее работоспособного состояния. Напряжение спадает, начинает казаться, что так и должно быть. Мне встречались программисты, которые умудрялись гордиться столь тяжелым циклом разработки. Как будто работать по 16 часов в сутки - верх мечтаний.
Долгое время казалось, что все нормально, все программисты работаю с невероятной нагрузкой! Почему я должен быть исключением!? Слава богу, что в мою голову все же пришло осознание того, что если при размере приложения всего в пару тысяч строк возникают подобные проблемы, то справиться с программой в двести или триста тысяч строк будет просто невозможно. А это значит, что все же есть способы избежать невероятной сложности и найти более правильный способ разработки. Четко осознав, что продолжая работать в том же духе я рано или поздно окажусь в тупике, выбраться из которого будет просто невозможно я начал искать варианты, которые позволили бы более качественно выполнять мою работу.
Конец первой части.
Продолжение во второй части: “Проектирование на бумаге - как метод выхода из тупика”.
Sergey Predvoditelev
Гость
Все знают, что перед тем как делать проект - надо составить план работ и структуру проекта. Но практически всегда думаешь, что сможешь всё запомнить - держишь всё в голове.
Но по мере разработки проекта приходят новые идеи - начинаешь что-то менять… и выплывают потом косяки всякие
А ведь можно было всё поправить на этапе проектирования…
beastriker
Гость
истина!!! я тоже так думаю.
всегда, когда мыслей больше 5 - записываю план проекта )))