Работа на фрилансе далеко не всегда означает свободу и удобный график. Независимым специалистам приходится не только выполнять проекты, но и постоянно защищать свои интересы. Иногда заказчики оказываются честными партнёрами, а иногда пытаются изменить условия договора, затянуть оплату или вовсе присвоить чужую работу. Герой этой истории столкнулся именно с таким клиентом.

Несмотря на многочисленные предупреждения, разработчик всё же согласился на сотрудничество. Однако, почувствовав, что дело может закончиться обманом, он заранее предусмотрел запасной план и добавил в код системы одну незаметную функцию. Когда заказчик решил провернуть свою аферу, именно она полностью изменила исход этой истории.
"Клиент решил оставить меня без доступа к моей же системе. Но всё пошло совсем не по его плану. Вот моя история:
Я уже больше двадцати лет работаю независимым IT-подрядчиком. За это время занимался чем угодно: от создания простых HTML-сайтов до полного обслуживания всей IT-инфраструктуры крупных гостиниц.
Когда-то одним из моих клиентов стала компания, занимавшаяся арендой недвижимости. Ещё до начала работы многие предупреждали меня, что связываться с её владельцем не стоит. О нём ходила дурная слава: умный, расчётливый, склонный к предательству и манипуляциям. Впрочем, неудивительно — по профессии он был адвокатом.
Поэтому в проект я входил уже понимая, с кем имею дело.
Он хотел заказать новый сайт для своего бизнеса. Владельцы жилья должны были размещать там объявления об аренде, арендаторы — регистрироваться и оплачивать подписку, а вся прибыль доставалась бы ему. В общем, вполне обычная бизнес-модель.
Мы подробно прописали условия сотрудничества, подписали договор, и я приступил к работе.

Разработка шла на PHP. Всё двигалось по плану, пока спустя всего неделю клиент внезапно не потребовал показать ему готовый внешний вид сайта. Это оказалось лишь началом проблем.
Я объяснил, что по графику сначала идёт около шести недель разработки серверной части, а дизайн интерфейса начинается только потом. Сейчас я могу показать лишь программный код, и именно так прописано в договоре.
Но он заявил, что всё должно быть наоборот: немедленно остановить работу над серверной частью и сначала сделать дизайн, а затем уже его сверстать.
Я тогда был ещё молодым и довольно наивным. Вместо того чтобы оформить это изменение дополнительным соглашением к договору, просто согласился и занялся дизайном.
При этом договор давал мне полную свободу в оформлении сайта при условии, что сохранятся фирменные цвета и логотип компании.
Я быстро сделал первый макет и уже через два дня показал результат. Клиент остался недоволен. Он заявил, что направление совершенно не то, и выдал длинный список требований.
Я всегда старался идти навстречу заказчикам, поэтому полностью переделал дизайн с учётом всех его пожеланий. Но и новый вариант его не устроил.

Именно так прошли следующие три месяца. Бесконечный круг правок, в котором ему не нравилось буквально ничего.
Почти через четыре месяца после начала проекта он неожиданно потребовал показать работающую серверную часть.
Я напомнил ему, что именно по его инициативе мы полностью изменили порядок работ и сначала занимались дизайном вместо разработки серверной логики, как было записано в договоре.
На что он спокойно ответил:
— Именно в договоре, который мы оба подписали, сказано, что к концу месяца вы должны показать работающий backend. Если этого не будет, я обращусь к другому исполнителю и потребую компенсацию за ваш непрофессионализм.
В итоге у меня оставалось всего двенадцать дней, чтобы практически с нуля сделать серверную часть сайта. Я позвал на помощь друга. Мы почти без сна работали все выходные, и через девять дней у нас уже была крепкая основа системы.
При этом к тому моменту клиент заплатил только первоначальный аванс — около пяти процентов от общей стоимости проекта. Все остальные платежи он откладывал, прикрываясь одной и той же фразой:
— Если вы сами не соблюдаете договор, почему это должен делать я? Закончите сначала нужный этап — тогда и получите оплату согласно контракту.
Именно тогда я окончательно вспомнил все предупреждения, которые слышал об этом человеке, и решил на всякий случай встроить в систему одну небольшую дополнительную функцию. О ней чуть позже.

Наступил конец месяца. К этому времени у нас был дизайн, который его наконец устроил, и примерно на 85% готовая серверная часть — именно настолько, насколько требовал договор на данном этапе. До полной сдачи проекта оставался ещё целый месяц.
Пришло время демонстрации. Разрабатывал я систему на собственном тестовом сервере, поэтому просто открыл её в браузере на его компьютере.
Я заранее предупредил, что скорость может быть неидеальной, потому что исходящая скорость моего интернет-канала составляла всего 512 Кбит/с. Но на рабочем сервере его хостинг-провайдера таких проблем не будет. Он ответил, что всё понимает, и демонстрация началась.
Показывая ему работу сайта, как клиентской части, так и административной панели, я прекрасно видел, насколько он доволен. Конечно, вслух он этого не признал. Но время от времени у него всё равно появлялась улыбка, которую он безуспешно пытался скрыть, а глаза буквально светились — он уже представлял, сколько способов заработать ему открывает эта система.
Однако в конце презентации всё равно последовали привычные придирки:
«Слишком медленно», «Вот это неправильно», «Здесь тоже надо переделать» и тому подобное.
После этого он сказал:
— Перенесите систему на мой рабочий сервер. Посмотрим, как она будет работать там.
Я ответил:
— Без проблем. Но сначала оплатите 50% стоимости по договору, и я сразу всё сделаю.

Через несколько дней мне пришло письмо. К нему была приложена якобы пересланная банком квитанция о переводе тех самых 50%. Я решил, что этого достаточно, и загрузил систему на его рабочий сервер под адресом beta.его-домен. Затем отправил ему письмо с логином и паролем для входа. Но он не знал двух вещей.
Во-первых, до меня дошли слухи, что он уже ищет другого программиста, которому собирается передать проект, рассказывая всем, что предыдущий разработчик — ленивый бездарь, неспособный сделать работу нормально. Поэтому я почти не сомневался, что он попытается меня обмануть.
Во-вторых, я сразу заподозрил, что подтверждение банковского перевода поддельное. И оказался прав.
Месть №1
Помните ту небольшую функцию, которую я встроил в систему? Она работала очень просто.
Если пользователь X (то есть клиент) пытался удалить пользователя Y (мою учётную запись администратора), не изменив заранее один специальный параметр в конфигурации, система сначала полностью очищала базу данных, а затем удаляла все файлы сайта из корневого каталога.
Не прошло и пяти минут после того, как он прочитал моё письмо с данными для входа. Первым делом он попытался удалить моего администратора, чтобы лишить меня доступа к системе. И знаете, кто в итоге остался без проекта? Он сам.

Месть №2
Подделка электронного письма, особенно если оно якобы отправлено банком, у нас считается серьёзным преступлением. Я передал все материалы в правоохранительные органы. В результате против него начали расследование одновременно полиция и юристы банка.
Месть №3
Саму систему я позже продал одному из его конкурентов. Причём даже дороже, чем он первоначально собирался за неё заплатить. Насколько мне известно, в итоге ему запретили владеть компаниями, а также лишили права заниматься адвокатской деятельностью.
Да, за пять с лишним месяцев работы я получил всего лишь те самые первоначальные 5% стоимости проекта. С финансовой точки зрения это была очень плохая сделка. Но осознание того, чем закончилась история для этого человека, до сих пор согревает мне душу".
История лишний раз показывает, что в работе с недобросовестными клиентами важно не только хорошо выполнять свою работу, но и заранее продумывать способы защитить себя. Иногда одна мера предосторожности способна спасти месяцы труда и не позволить мошеннику выйти победителем.
