Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Мне платят за то, что я возвращаю чужой технический долг.
Я встречал заказчиков «Ты начинай программировать, а мы пока подумаем, что писать в ТЗ»Да, частый диагноз. Как правило объясняют это тем, что проект надо запустить как можно скорее, поэтому надо как можно скорее начать его реализовывать, иначе «все пропало, гипс снимают, клиент уезжает»©
Про оплату объяснить труднее:)
Ситуация же в статье происходит, на мой взгляд, чаще всего ровно в одном случае — заказчик просто «рвет» отношения, возможно, не оплачивает обещанную часть работы, и после этого пытается найти хоть кого-то, кто заставит его систему заработать.
Но сейчас мы уже в такой стадии что инструменты достаточно развиты чтобы выкатывать приличный результат без дополнительных усилий. Скорее даже наоборот.
проблема, в том, что программисту совсем никак не оплачивают написание документации и описание систем развертывания?
Каждый день HackerNews и Reddit жужжат о новых крутых языках. Попробуйте их за счет клиента.
Выросло уже целое поколениеИ не одно поколение. И новые подрастают. Они неисчерпаемы.говнокодеровначинавших когда то программистов
Съэкономил на спецах, связался с мальчиком «умельцем», будь готов в будующем заплатить за это второй разК сожалению серьезный подрядчик в галстуке и с Макбуком тоже не гарантирует никакого качества. Если заказчик ничего не понимает в разработке ПО — нужна третья сторона. Независмый аудитор. А что, это интересная тема… пошел думать.
На моем опыте еще ни один менеджер серьезно не отнесся к тезису «я не могу это сделать быстро (качественно) потому, что там-то и там-то говнокод». Или «это надо переписывать, т.к. если это оставить так, то в последствии мы вообще умрем»Мы недавно в вопросах говнокода и технического долга стали применять следующую практику: если заказчик прессует по срокам, мы говорим, ОК, можно сделать быстрее, если того требует бизнес (читай закостылить). Но таким решением мы накапливаем такой-то технический долг в человеко-днях. Этот долг прописывается в ТЗ и заказчик это подписывает. В следующих итерациях у нас есть право этот долг истребовать.
Условно «написать абы как, а потом переписать по-нормальному» — это еще и увеличение трудозатрат. Условно, на 50%Условно так: сделать нормально — 100ч. Сделать костыль — 20ч + 100ч долга.
А как заказчик отнесется к увеличению себестоимости?У заказчика есть выбор — делаем сразу хорошо, в сумме дешевле, но конкретная фича появится позже. Делаем быстро — потом за это расплачиваемся.
Что касается вставок на руби в пхп — я не совсем понимаю как это может помочь работе скрипта.
В любом случае писать нужно изначально так, чтобы в случае чего можно было разнести по разным серверам.
Создавайте максимально сложную систему сборки и развертыванияВ OpenSource такое к сожалению сплошь и рядом. Когда над сборкой проекта приходится камлать больше суток, потому что скрипты сборки, оказывается, требуют наличия Perl определённой версии, Python (2.x, и только 32bit, под 64 не соберётся), Ruby с определённым набором gem'ов, плюс активно используются bash и make. И всё это одновременно!

Добавляйте зависимости от определенных версий библиотек и ресурсов
Flask==0.10.1 Jinja2==2.7.1 MarkupSafe==0.18
bundle update), не давая сторонним библиотекам «случайно» поломать код. Особенно это актуально, если библиотека молодая и API ещё не устаканилось.не давая сторонним библиотекам «случайно» поломать код
Как разрабатывать неподдерживаемое ПО