Правила игры

Введение

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

Что-то о чем-то

Процесс заключения договора по поводу интеграции 1С и Битрикс-продуктов построен следующим образом. Сначала Вы изучаете этот сайт, потом заполняете Брифы + тех-задания и нажимаете кнопочку «Отправить». Сразу же к вам приходит на почту подтверждающее письмо, что Ваша задача попала в мою CRM. Я рассматриваю Вашу задачу и делаю Вам предложение в виде ссылки на коммерческое предложение и одного из следующих двух наборов параметров:

  • гражданско-правовое соглашение: сумма и срок;
  • трудовое соглашение: часовая ставка и количество часов в день.

Далее Вы или принимаете мою офферту или не принимаете. Если Вас не устраивает моя офферта, то Вы вправе направить мне встречную офферту, основанную на моей офферте, но с измененными параметрами, или свою собственную офферту.

Оговорки и дополнения:

  1. Я не беру на себя обязательство приняться за Вашу задачу как только о ней мне станет известно, поскольку в этот момент я могу быть занят другой задачей.
  2. Заключние договора происходит в форме присоединения к договору представленного в форме коммерческого предложения.
  3. В случае гражданско-правового соглашения я не разговариваю о ставке и количестве часов в день; в случае трудового соглашения я не разговариваю о сумме и сроке.
  4. В случае трудового соглашения я каждый день отправляю работодателю ежедненвый отчет программиста
  5. В случае трудового соглашения, если Вам будет казаться, что я тяну время или делаю работу за 10 часов, когда ее можно сделать за 1 час, то соглашение можно будет расторгнуть в любой момент, но с обязательным погашением задолженности.
  6. Вы можете сами почитать коммерческие предложения, выбрать наиболее Вам подходящее и отправить мне ссылку на него с указанием дополнительных параметров.

Как я работаю

По-моему опыту многие заказчики, работодатели не представляют работу программиста, поэтому я здесь ее кратко опишу. Ночью я сплю, не работаю, но за то работаю днем. Подъем утром в период с 8:01 до 9:30 по местному времени. Туалет, затем душ, оприходование на внутренний склад завтрака в форме Гербалайфа. Потом срочные задачи, которые нельзя перенести. Потом смотрю какие у меня есть недоделанные задачи. Беру недоделанную задачу с наивысшим приоритетом и делаю ее. Когда доделываю все задачи, то начинаю искать новые задачи. Каким образом ищу новые задачи - это коммерческая тайна. Если ко мне обращается клиент в тот момент, когда я делаю какую-то работу, то я не бросаю работу и не берусь сразу за его задачу. Я заношу его задачу в список. Когда у меня доделывается очередная задача, то я смотрю на список задач и выбираю наиболее интересную и выгодную и берусь за нее. Неинтересные задачи мне не интересны. Невыгодные задачи мне не выгодны.

Основной бизнес-процесс «Заключение и исполнение сделки»

Начало
Заполнение
бриф-тех-
задания
Обсуждение бриф-тех-задания
на технической посадочной странице,
уточнение деталей,
согласование чек-листов.
Демонстрация технических примеров
через Skype-демонстрацию
экрана или в YouTube-ролике,
ссылка на который находится
на технической посадочной странице.
Согласование
финансовых
условий
сделки.
50%-ный
транш
Исполнитель
производит
продукт
Исполнитель показывает
результат через
skype-демонстрацию
экрана или
на YouTube-ролике
по заранее
согласованному
чек-листу.
50%-ный
транш
Исполнитель передает
заказчику предмет договора,
делает необходимые настройки,
проверяет все
по чек-листу.
Заказчик принимает
работу путем
проверки по чек-листу.
Если есть несовпадение
с чек-листом,
то исполнитель тут
же разбирается в чем
дело и поправляет.
The
Happy
End

«Какова Ваша ставка?»

Самый странный, самый абсурдный и самый часто-задаваемый вопрос. Абстрактной ставки у меня нет и быть не может в принципе, потому что ее нет. О конкретной ставке я договариваюсь только на конкретную работу и только если эту работу я выполняю по модели трудовых правоотношений, ну или другими словами - если я продаю свое время (свои часы). Пример. Верстать я умею хорошо, так как у меня около 5 публичных сайтов и около 90 арбитражных закрытых сайтов, но на момент написания этого текста для клиентов я делал только две верстки. Поэтому ради портфолио я согласен поверстать на ставке 350 руб/час, потому что больше вряд-ли кто заплатит. Но есть другие виды работ, стоимость на рынке которых относительно высока. Например, "под ключ" сделать интернет-магазин, связать его с 1С, сделать там сквозную аналитику и привязать это к CRM системе. Естественно, я не буду это делать по ставке 350 руб/час. Другой пример. У заказчика есть работающая 1С и ему только что сделали интернет-магазин на Битриксе и он ко мне обратился по поводу интеграции 1С и интернет-магазина. В этом случае я с ним могу договориться по линии гражданско-правовых отношений, то есть к определенной дате я делаю ему конкретный результат за определенную сумму денег. В этом случае о ставке разговора нет, так как человек покупает результат, а не время. И сумма договора никак не связана с моей ставкой по верстке или с моей ставкой в выше упомянутой задаче "под ключ". Для определения суммы договора я просто с рынка беру среднюю рыночную сумму договора. Более того, я, как и многие программисы, имею свои наработки (кирпичики), из которых я могу быстро собирать различные решения. О ставке в этом случае нет смысла разговаривать.

Ситуация #1 Встречаю на фриланс-бирже объявление. Бизнесмен ищет программиста, который ему сделает конкретную вещь. В объявление изложено краткое, но исчерпывающее техническое задание и указана сумма, которую он готов заплатить, причем, сумма хорошая. Из контекста объявления видно, что это бизнесмен уже давно ищет программиста, но не просто программиста, у которого "хорошая ставка", а программиста прокаченного в определенной теме. Из контекста объявления так же видно, что он хочет доказательства того, что программист прокачен в нужной ему теме. Его логика такая - если программист докажет свою прокаченность в этой теме, тогда он с ним заключит сделку и готов ждать когда этот программмист это сделает. Из объявления видно, что он уже несколько программистов перепробовал с "хорошими ставками", но толку от этого ноль. Что делаю я? Я ему просто даю ссылку на определенную страницу моего сайта с этой уже решенной задачей, предлагаю посмотреть уже готовый результат на нескольких конфигурациях, даю номер расчетного счета, куда ему отправить деньги, и прошу у него RDP-доступ к его конфигурации. То есть, ему не надо неделю ждать, не надо вникать прокачан я в этой теме или нет. Ему надо просто посмотреть на мою определенную страничку, посмотреть через скайп как работает этот механизм в нескольких вариантах, перечислить деньги на мой расчетный счет и тогда через 30 минут он получает готовый результат. А теперь уже риторический вопрос: при чем тут моя ставка?

Ситуация #2 ... здесь я опишу как и почему я работал на условиях оплаты за фактическое отработанное время.

Ситуация #3 Я знаю одного человека, который очень сильно прокачался в парсинге. Некоторые сайты защищаются от парсинга, причем есть несколько способов такой защиты. Но перед этим парнем вся эта защита не работает. Специалистов таких на рынке мало, поэтому он может устанавливать свою часовую ставку, например, 3'000.00 руб/час. Дело в том, что не каждый день появляются такие задачи, в которых необходима его парсинг-прокаченность. Но он же не может сидеть без дела - когда нет задач по сложному парсингу, он делает задачи обычного web-мастера по средней ставке web-мастера. Когда появляется задача по сложному парсингу, то он работает по 3'000.00 руб/час. Опять риторический вопроc - какая у него ставка?

«Сколько это будет стоить?»

Странный, абсурдный и часто-задаваемый вопрос. Это все равно что придти в автосалон и спросить "Сколько у вас стоит машина?"

...

Еще один важный момент, которые почему-то многие не понимают. Цена определяется не только техническим заданием, но и условиями договора. Сравните два условия:

Условие #1. Заказчик берет на себя обязательство принять в течении трех дней работу и далее или подписать договор или представить список отклонений от технического задания, которые исполнитель обязуется поправить в течении трех дней. После подписания акта сдачи/приемки обязательства исполнителя прекращаются.

Условие #2 Заказчик берет на себя обязательство принять в течении трех дней работу и далее или подписать договор или представить список отклонений от технического задания, которые исполнитель обязуется поправить в течении трех дней. После подписания акта сдачи/приемки обязательства исполнителя не прекращаются прекращаются, а длятся еще полгода в течении которых исполнитель обязан по первому требованию заказчика в течении трех часов исправлять все баги, которые связаны с работой исполнителя и которые не заметил заказчик во время приемки работы, а время на поиск этих багов заказчик не оплачивает в любом случае - в случаях если эти баги связаны с заказчиком и в случае если эти баги связаны с другими программистами и прочими четвертыми лицами.

Для дальнейшего понимания того, что сумма договора зависит не только от объема работ, но и от условий самого договора, предлагаю рассмотреть выдержки их двух разных договоров подряда с одним и тем же техническим заданием и одним и тем же сроком исполнения:

Договор подряда #1 Заказчик делает предоплату 50%, исполнитель преступает к работе, показывает результат на своем компьютере. Заказчик перечисляет 50%. Испольнитель передает результат заказчику. Оценочное время выполнения составляет 5 дней со дня перечисления заказчиков предоплаты на счет исполнителя.

Договор подряда #2 Исполнитель приступает к работе 22.02.2017 года и отдает результат заказчику 28.02.2017. Заказчик тестирует результат две недели и если нет вопросов, то перечисляет 100% исполнителю. В случае, если исполнитель не сдает работу к 28.02.2017, то исполнитель несет материальную ответственность за просрочку, расчитываемую как 1'500 руб в день.

Еще один вариант развития событий Звонит или пишет потенциальный заказчик и быстро описывает его ситуацию и очень просит, прямо уговаривает, "тянет за язык" сказать стоимость за результат. Допустим, я сказал стоимость, тогда потенциальный заказчик говорит "Меня цена устраивает" давайте дальше обсудим. Начинаем обсуждать и там открываются новые детали, которые увеличивают стоимость. Тогда заказчик говорит "Ты же уже сказал цену! Сказал цену, значит, ты уже продал!" и начинается давление на совесть, здавый смысл и тд и тп. Поэтому я стараюсь не говорить даже приблизительную стоимость не узнав до конца всех деталей, имеющих существенное влияние на стоимость.

Чек-лист в тех-задании

«Техническое задание бесплатно»

В мире все относительно или, как говорят философы, «В мире есть только одна абсолютная истина: абсолютных истин не существует». Получается с одной стороны они есть, а с другой стороны нет. Для того, что бы решить эту головоломку, сюда все-таки необходимо добавить еще одно общее правило - привило исключений, а именно «Истина может иметь исключение», но об этом с другой раз.

Если применить принцип относительности к моей деятельности, то получится следующее:

  • Работаю ли я с условием оплаты за фактическое время или оплата за результат → зависит от задачи
  • Если работа ведется с оплатой за фактическое время, то ставка → зависит от задачи
  • Буду ли я составлять техническое задание бесплатно → зависит от задачи

Задачи бывает разные. Бывает такие задачи, в которых достаточно поговорить (потратить время) в течении 15 минут и заключить сделку на 50'000.00 рублей. Тут я конечно бесплатно делаю тех-задание. А бывает такие задачи, решение которых нужно обсуждать 4 часа, а делать потом 30 минут. Причем, не факт, что потенциальный заказчик захочет заключать сделку даже на 30 минут. В этом случае мне просто так время не хочется тратить. Бывают еще такие случаи. Работодатель дал задание менеджуру найти разработчика сайта. Вот садится этот менеджер за телефон и начинает обзванивать всех подряд и грузить каждого своей задачей, а потом просто выбирает того, кто самую маленькую сумму назначил и с ним и заключает сделку. Тут я тоже не горю желанием тратить свое время на такие задачи. Оговорка: это относится в большей мере к задачам интеграции и к 1С. Если делать верстку, если какой-нибудь фильтр установить в интернет-магазин, если пиксел ретаргетинга добавить на сайт - то тут конечно мало времени требуется на обсуждение.

Учет рабочего времени

О механизмах ценообразования

Помню еще в детстве читал такую книжку "Маркетинг" Филипа Котллера и там было рассказано о двух основных механизмах ценообразования - рыночный и маржинальный. Там, по-моему, в качестве примера приводилась фирма "Форд", но только не помню их механизм.

О коммерческой тайне

Иногда мне приходится брать себе базу данных 1С заказчика и/или его интернет-магазини и запускать это на моем компьютере. Естественно я знаю нормы федерального закона 98-ФЗ "О коммерческой тайне" и не вижу смысла подписывать какие-либо дополнительные соглашения о неразглашении коммерческой тайны. Закон имеет бо'льшую юридическую силу, чем договор (естественно речь здесь не идет о международных договорах). Одним из механизмов реализации норм этого федерального закона является то, что я работаю без рекомендаций и не говорю с кем я работал и работаю ("no names"-принцип). Это значит, что если кому-то понадобится Ваша коммерческеская тайна, то он не будет знать, что именно у меня ее можно взять, попросить, купить, отобрать и тп.

«Это бизнес, детка!»

Иногда сталкиваюсь с моей точки зрения странной аргументацией некоторых потенциальных заказчиков: «Я прихожу в магазин, спрашиваю сколько стоит пачка шоколадно масла и мне сразу говорят цену, сдедовательно, и ты, как программист, обязан мне сразу сказать цену и сроки». На такие заявления я сразу даю ответ «Сходите в тот же самый магазин, спросите сколько у них будет стоить нетиповая интеграция, и если Вас цена устроит, то пусть этот магазин ее Вам и делает».

Еще одна вариация: «Мы знаем одного программиста, он месяц поработал в одной фирме, а потом целый год за свой счет доделывал то, что он сделал, и ошибки исправлял. Это он не доделал, вот он за свой счет и доделывал свою недоделанную работу. Это его ошибки, вот он свои ошибки за свой счет и исправлял. Поэтому ты, как программист, должен как тот же программист, сделать то, что мы тебе примерно скажем, а потом доделывать это за твой счет и ошибки, которые у нас появятся в процессе работы, то тоже за свой счет должен исправлять». Ответ мой тут однозачно такой: «К тому программисту и обращайтесь»

Цену и сроки я говорю, но не всегда ...

О техническом задании

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

Статьи о технических заданиях:

О предоплате

У обеих сторон любого договора всегда встает вопрос о предоплате за исключением тех случаев, когда вопрос предоплаты регулируется законом, например, институт гос-закупок, или обычаями делового оборота, например, недвижимость. Но здеь эти исключения я не буду рассматривать.

Для себя я выделяю два основных фактора, на основании которых принимается решение о предоплатности договора: первый - это экономический, второй - это трастовый.

Экономический фактор

Предоплатность определяется балансом между спросом и предложением. Если у меня в один и тот же момент времени есть два потенциальных заказчика и один говорит "Давай номер счета, я тебе сейчас денег залью и занимайся только моими задачами", а другой говорит "Я плачу по факту" ("Плачу за результат", "Плачу когда протестирую", "Никаких предоплат" и тд и тп), тогда, естественно, я первому заказчику буду что-то делать. Если никто из потенциальных заказчиков не соглашается на предоплату, тогда, естественно, работаю без предоплаты.

Есть еще один, так называемый "стандартный" порядок оплаты. Можно даже сказать, что это "деловой обычай" или "обычай делового оборота" для программиста. Содержание его следующее: заказчик делает предоплату в размере 50% и программист делает сайт/1С на своем компьютере, потом результат показывает заказчику через TeamViewer или Skype. Заказчик оплачивает оставшиеся 50% и после этого программист передает результат заказчику. В данном случае этот "деловой обычай" не является источником права (в отличии, например, от морского права), поэтому об этом режиме нужно договариваться на берегу.

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

Баланс между спросом и предложением влияет на принятие решения о предоплате

Трастовый фактор

Для предоплатности имеет значение трастовость стороны договора, то есть насколько ей можно доверять. Например, web-студия, у которой очень трудоемкий сайт, YouTube-канал, социальный группы во всех соц сетях, включая инстаграм. Социальная группа живая, посты постятся, собачек нет. Ну тогда траст максимальный. А если web-студия, позиционирует себя как золотой партнер, но у которой сайт сделан на тильде, ну это уже мало вызывает доверия. Или например, человек два дня назад зарегистрирован на бирже фриланса, никаких сделок у него нет. Если в соц сетях явно фейковый аккаунт, 50 друзей, фотки явно не его. 10 постов, сделанных репостом. В общем понятно.

Трастовый фактор влияет на принятие решении о предлоплате

Слово «Траст» в переводе с английского (Trust) обозначает доверие. Есть такая знаменитая американская фраза «In God We Trust, All Others Pay Cash», первая часть которой расположена на американском долларе. Переводить ее можно по разному. Один из вариантов ее перевода звучит так: «Работаем только по предоплате».

Памятка заказчку

Пока без коментариев

Памятка заказчку

Прочие мысли

По некоторым задачам я работаю в форме договора подряда, по некоторым задачам я работаю в форме "трудового договора" (то есть просто продаю свое рабочее время). Предупреждаю, что фразу "Одну и ту же работу можно сделать за 1 час, а можно за день", я слышал 1'000'000 (один миллион, one million) раз. В гражданском праве любой капиталистической страны (для справки: Российская Федерация является капиталистической страной с 12 декабря 1993 года) есть принцип свободы договора, который можно растолковать так: "хотите берите, не хотите не берите".

Основные правила

Правила простые и очевидные, но все равно находятся люди, которые пытаются убедить, что он неправильные ...

  • Если я работаю по договору подряда, то работаю только при наличии понятного и однозначного технического задания и очень желательно чек-листа. Вариант "Пойди туда, не знаю куда, сделай то, не знаю чего и скажи сколько это будет стоить" у меня не вызывает восторг. Считаю совершенно нормальным, когда человек не знает, что он хочет получить или когда в процессе работы нужно решать что делать или когда трудно предсказать объем работ, поэтому для таких случаев использую правовую конструкцию "Трудовые правоотношения" - это когда я беру на себя обязательство добросовестно делать то, что мне скажет клиент, а клиент берет на себя обязательство своевременно и в полном объеме оплачивать мой труд по механизму "Оплата за потраченное время".
  • "Кто платит - тот и заказывает музыку". Сначала делаю что-то предлоплатным заказчикам, потом постоплатным. У предоплаты больше приоритет, чем у постоплаты.
  • Приоритет разговоров письменно через скайп по сравнению с устными разговорами через скайп или через телефон. Во-первых, все что говорится устно, потом забывается. Во-вторых, если один человек звонит другому, то тот, к котому звонят, может быть занят обработкой какой-либо мысли или разговором с кем-либо. В-третьих, все что говориться устно, может быть неправильно истолковано. Когда один человек что-то пишет, он может отредактировать фразу перед отправкой, а когда человек говорит, то он уже не может изменить то, что сказал. Как говорится "Слово не воробей, вылетит - не поймаешь".
  • Мухи отдельно, а котлеты отдельно. Это значит, я четко разделяю трудовые правоотношения и гражданско-правовые отношения. То есть или то или другое. По гибридным конструкциям не работаю.
  • Если Вы предлагаете в качестве тестового задания сделать безвозмездно какую-либо работу, то у меня для вас есть бомбическое встречное предложение - перечислить безвозвратно мне 54'456.34 рублей в качестве проверки вашей платежеспособности.
  • Если у Вас очень перспективный стартап, который прямо завтра начнет приносить миллионы и Вы предлагаете что-то сделать с условием оплаты после того, как пойдет прибыль, то мне это неинтересно. Тут я могу просто посоветовать - или кредит в банке взять или просто обратиться к людям, которые специально ищут стартапы и инвестируют в них.

Обратная связь

Инструкция Согласитесь с политикой конфиденциальности, подтвердите, что Вы не робот и нажмите кнопку «Отправить». Если Вы отправите форму на web-сервер без подтверждения «Я не робот», тогда web-сервер ничего делать не будет.