Редкая профессия. оживлять зомби
От: Miroff Россия  
Дата: 11.05.06 15:53
Оценка: 53 (10)
Так уж получилось, что в последних проектах я занимался, по сути одним, и тем же: поднимал "зомби" — проекты, которые формально еще действуют, а фактически уже давно не поддерживается разработчиками, поддержка же сторонней командой крайне затруднена. Production сервер может крутиться годами, а добавить новую фичу или пофиксить баг некому. При попытке подрядить на это стороннюю команду, она морщит носы: "проще переписать с нуля". Один проект до меня "переписывали с нуля" трижды пока не догадались, что то-то тут нечисто. Начались они по разному: кого-то купили, у кого-то команда разработчиков в полном составе эммигрировала в Израиль, где-то катаклизмов не происходило, просто был взят open source проект. причем уже изрядно подзаброшенный. Один раз даже, пришлось даже реставрировать эвм, не работавшую с начала 90-х. Почему и как так получается разговор отдельный. Обычно моя работа начиналась с того момента, когда мне вручалась гора кода (хорошо если не на единственном в природе production сервере!), практически без документации, комментариев, тестов, контроля версий и прочей инфраструктуры разработки. В лучшем случае с предыдущим разработчиком можно было попить кофе в аэропорту. В худшем, до меня в этом коде копалось три поколения студентов. Комментарии в стиле "Сегодня холодно, ничего не видно, пергамент волосатый, и выходит скверно" в середине метода явление настолько обыденное, что я уже перестал их запоминать. Кажется, я могу написать книгу с примерами "как нельзя проектировать, писать код и настраивать сервер".

Со всем этим я плодотворно трудился до тех пор, пока проект не оживал: появлялась возможность за разумное время, без риска сломать или испортить, фиксить старые баги, имплементить новые фичи, осознанно принимать новые, и, главное, понимать причины побудившие принять старые, технические решения. Все это выражалось в спецификациях, комментариях к коду, вижонах, UML диаграммах, произведенных рефакторингах и прочем материале, доступном для любого разработчика. Т.е. именно тем, что и отличает живой проект от "зомби".

Языки программирования и технологии для меня решающего значения не имеют. Во-первых, в области программирования бизнес приложений я стараюсь быть в курсе последних новинок, а уж тем более я в курсе, какие технологии отправлены на пенсию и почему. Во-вторых, для такой деятельности доскональное знание тонкостей ни к чему. Основная работа идет на более высоком уровне абстракции, и, часто вообще не связана с кодом.
Объектно-оринтированный анализ, паттерны проектирования (и антипаттерны, естественно), методологии разработки, системный подход, теория сложности — это, с чем я сталкиваюсь в повседневной практике, как следствие, неплохо знаю, хотя и без фанатизма.
"Копаться всю жизнь со старым кодом" я не боюсь, скорее нароборот, "техническая археология" и "техническая реанимация" для меня интереснее рутинной поддержки существующего проекта.

Естественно, меня интересует не столько постоянная работа, сколько контракт. Разве что у кого-то есть каптерка, забитая "зомби", которые он не прочь оживить.

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