Пользователь
0,0
рейтинг
1 августа 2009 в 15:33

Управление → Я — специалист, или «водить машину и лечить людей умеет каждый»

Жена готовит яичницу на завтрак.
Вдруг на кухну вбегает муж:
— Осторожно, — он говорит, — ОСТОРОЖНО! Положи больше масла!
Боже мой! Ты жаришь очень много яиц сразу! СЛИШКОМ МНОГО!!!
Переверни их! ПЕРЕВЕРНИ ИХ ПРЯМО СЕЙЧАС!!! Нужно больше масла! О Боже мой!
ГДЕ нам взять БОЛЬШЕ МАСЛА? Сейчас они ПРИЛИПНУТ!!!
Осторожно! ОСТОРОЖНО! Я сказал — Осторожно!
Ты НИКОГДА меня не слушаешь когда делаешь яичницу!!! НИКОГДА!!!
Переверни их! БЫСТРО!!! Да ты что, психованная?!!!
Ты совсем спятила?!!! Не забудь посолить!
Ты всегда забываешь посолить! Используй СОЛЬ!
ИСПОЛЬЗУЙ СОЛЬ! С-О-О-О-О-ЛЬ!!!

Жена удивленно смотрит на мужа:
— Да что с тобой сегодня?!
Ты думаешь я не в состоянии приготовить элементарную яичницу?
Муж спокойно объясняет:
— Я хотел показать тебе, что Я испытываю, когда вожу машину…


Навеяно вот этим постом «95% сделано».
За четыре года работы фрилансером (переводчик и программист) у меня только один или два раза были недовольные заказчики.



Скажу сразу — с таким заказчиком, что описан в посте, подсказывающим мне, что нужно сбросить скорость перед населенными пунктом и куда повернуть я если и буду работать, то только в условиях почасовой оплаты. Потому что я не робот, не его прямой подчиненный и не мальчик на побегушках у мастера, готовый выполнить любое поручение и именно так, как этого хочет мастер. Если кому-то хочется иметь такой контроль над работой — наймите себе человека, создайте ему рабочее место в офисе и говорите ему что делать. Заодно сразу будет видно, насколько такие меры сказываются на работоспособности.

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

При общении с заказчиками до того, как мы пришли к договоренности, я стараюсь придерживаться следующих принципов:
  • Если ты начинаешь разговор вопросом «А почему так дорого?», то наш разговор, скорее всего, на твоей фразе и закончится. Ты ошибся, тебе нужен не я, а кто-то другой.
  • Если мы договориваемся об оплате по факту сделанного проекта, то под «проектом» имеется в виду то, что мне было предоставлено до момента нашей договоренности. Никакие «я же в аське еще упоминал, что» и «ну там же указано » и др." не принимаются. По этому поводу будем договариваться отдельно.
  • Скажи мне, ЗАЧЕМ тебе это нужно, и я постараюсь понять, ЧТО тебе нужно. У тебя уже есть готовое ТЗ — отлично, я могу следовать ему. Но не вали на меня потом проблемы, если вдруг окажется, что софт должен работать по-другому или если ты чего-то не учел. Я, может быть, оценю проект и предложу какие-то улучшения до его начала, но никак уже не после — только по отдельной договоренности.
  • Просто, чтобы ты не забыл — в графе «телепатия» у меня в анкете стоит жирный минус. Так что не молчи, говори!
  • Если ты считаешь, что ты знаешь лучше, как это должно быть сделано — делай, я то тебе зачем для этого? Я делаю как умею, я могу охотно прислушаться к твоему совету, если он дельный. Могу прислушаться к двум советам. Начиная с третьего совета я либо буду тебя игнорировать, либо перестану делать что-то вообще.
  • Ты знаешь ЧТО и КАК должно быть сделано и хочешь следить за каждым шагом. Найми себе студента в офис, пусть работает. Я тебе не нужен.
  • Я не использую китайцев и индусов как помошников, поэтому та сумма, что тебе предложил Вася, меня не устроит. Может быть у меня и будут ошибки в комментариях на английском, но по крайней мере код будет понятен тому, кто читает.
  • Нет, я не попрошу больше. За ЭТУ работу я хочу ровно столько, даже если вдруг у меня вдруг нечаянно «выпадет информационный пласт», я его сделаю заново сам, это мой риск, поэтому я и хочу больше, чем Вася. Иначе это может стать твоим риском… риском вообще не получить проект.
  • Тебе нужно, чтобы это работало послезавтра утром? Отлично, тогда запиши себе, что ночь перед этим ты работаешь тестером проекта. Да, я тестирую свой код, и меня он устраивает — чтобы он устраивал и тебя, тестируй его тоже. Не хочешь — тогда не удивляйся, почему я буду это делать на неделю больше, чем Вася, и прошу за это, соответственно, больше.
  • Ты ждешь от меня еженедельных отчётов, что я сделал? Хорошо, умножим тогда сумму проекта на полтора… за несвободу приходится платить.

После того, как договоренность достигнута и проект начинается, приходится быть честным (всякое бывает с проектами). Попробую продолжить в том же стиле:
  • Если я понимаю, что не успеваю сделать в срок, то я сообщаю об этом тогда, когда я начинаю это предполагать. Не надо пугаться, вполне возможно я успею всё и в срок, но для тебя есть риск. Мне искренне жаль, когда проект завершится, мы можем обсудить, как мне стоит пострадать из-за этого.
  • Я постараюсь ответить на любое письмо с вопросами в течение часа. Так как я еще и работаю при этом, я буду краток. Нужен более пространный ответ — давай выходи в Скайп или звони.
  • У тебя уже куча предложений, как сделать проект лучше, что там должно быть по-другому. Хорошо, я посмотрю на них. Может быть, если я буду в хорошем настроении, я даже что-то из этого и запрограммирую. Но, скорее всего, тебе придется подождать пока я не закончу с тем, что ты мне дал в самом начале.
  • Тебе кажется, что я ничего не делаю, если за три дня не предоставил новую версию с новыми функциями? Пожалуйста, я тебе сейчас за 10 минут наваяю в Фотошопе пару новых форм, тебе определенно понравится. А ты пока за это время постарайся их реализовать.
  • Ты нашел ошибку в моей программе, баг или что-то еще. Отлично, давай, я сейчас исправлю. И не надо кричать на меня, что я не тестирую свой код: мне и в голову не могло прийти, что ты попытаешься записать свой возраст римскими цифрами и думаешь, что программа должна это автоматически пересчитывать, или в качестве пола указать «паркетный», хотя там на выбор «мужской» и «женский».
  • Программа падает, если ты вводишь отрицательный возраст. Точно. Сейчас поставлю проверку. Я же тебе уже говорил — мой код меня устраивал, мне туда как-то никогда не приходится вводить отрицательные значения.
  • Ты перешел на новую версию офиса и экспорт из моей программы уже не работает так, как раньше. Ну а чего ты хотел? Купив новую машину, ты ведь не пытаешься заводить ее ключами от старой. Я не знаю, смогу ли я это «быстро починить», я посмотрю и попробую оценить сроки.


При таком подходе в большинстве случаев проект проходит без каких-то неожиданностей и проблем. Проблемы возникают в основном, когда клиент «суетится» и пытается получить больше прозрачности, чем нужно для работы. Кому-то, бесспорно, такая прозначность жизненно необходима. Но уж точно не фрилансеру…

Комментарии, дополнения и изменения только приветствуются!

UPD1: Немного переписал пункт про римские цифры, убрал про отрицательный возраст. Просто я вообще не занимаюсь веб-разработкой, а в основном middleware и desktop, у меня немного другие представления о вводе данных.
UPD2: Заменил в названии слово «профессионал» словом «специалист».
UPD3: Просто для тех, кто почему-то считает, что таким же тоном и «на ты» я разгориваю и с заказчиками: нет, нет и еще раз нет. Только на «Вы» с соблюдением всех норм профессиональной этики и этики общения. «Ты» и некая эпотажность — это только с целью придать тексту динамичность.
Alexander Galkin @alaudo
карма
171,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Управление

Комментарии (95)

  • +9
    > Комментарии, дополнения и изменения только приветствуются!
    Используй СО-О-ОЛЬ!
    • +15
      $result = sha1($str. $salt); // Используем соль
    • 0
      А ведь для создателей киптоалгоритмов такое вопль иногда жизненно важен…
  • +5
    Часть касательно проверки корректности входных данных не понял. Задача любого программиста, который делает что-то для сети — предусмотреть все ситуации, в которых возможен некорректный ввод данных и поставить на них соответствующие ограничения, а не говорить, что «мне в голову не пришло, что пользователь введет возраст буквами на французском».
    • +3
      Да, полностью согласен.
      Я хотел сказать, что если подразумевается, что система должна принимать римские цифры в качестве возраста и, скажем, автоматически пересчитывать — то это очень неочевидно. Просто у меня был реальный пример, когда в поля вводы заказчик пытался вводить арифметические выражения и думал, что они будут обсчитываться «на лету».
      • 0
        Ну, к корректности входных данных автоматический рассчет арифметических выражений все-таки не относится. Естественно, выражение типа «2+3*5» не будет являться корректным числовым выражением, и пользователю будет выведено соответствующее предупреждение.

        Просто указаны странные примеры. Если система не предусматривает наличия у пользователей паркетного пола, то пользователь должен либо не суметь ввести такие данные, либо при вводе некорректных данных получить соответствующее предупреждение, внятно объясняющее суть проблемы («а вы не врете ли случайно, что вам 294 года?»)
      • +2
        Кстати, именно внимание к таким вот мелочам отличает профессионала от дилетанта. Первый признак дилетантской разработки — отсутствующие валидаторы. Второй — только серверная валидация там, где можно использовать клиентскую. Третий — клиентская валидация при отсутствии серверной.
        • +2
          Вы исходите чисто из позиций «веб-разработки», хотя я об этом нигде не пишу. Валидаторы важны, нужны и должны быть, на мой взгляд, в основном на стороне клиента.
          На стороне сервера у меня есть достаточно триггеров и ограничений на значения поля в самой базе данных, которые возвращают вполне человечесвкие описание об ошибках. Еще один слой проверки ввода между ними, конечно, только плюс, но если сервер баз данных загружен на 10% вполне можно использовать и его как валидатор.
          • 0
            Я уже привык к тому, что на Хабре обитают в основном веб-разработчики.
          • 0
            Для десктопа не меньше проблем.
            У всех своя операционка (я имею в виду не только базовую версию, но и настройки даты-времени, разделитель дробной и целой части ...). Это иногда заранее протестировать невозможно.
            У француза на компе как то пришлось с удаленного доступа отлаживать — уж больно гадко глюк с датами в библиотеке засел.
  • 0
    много согласен, кроме багов=)

    Это ваши проблемы как разработчика, да верный подход что вы сейчас это исправите, но вот говорить что я ж такое не ввожу,… это детскай отговорка.
    И свои ошибки нужно принимать.
    А так да, правда… наверно все это уже расписано в вышестоящих топиках фриланса
    • +1
      Я неудачно выразил свою мысль, сейчас попробую переписать получше в посте. См. мой ответ чуть выше.
  • +5
    Что-то то ли мне кажется, то ли текст написан в таком самодовольном стиле (со всеми этими ТЫканьями в придачу) что мне было бы не приятно заказывать разработку чего-либо у вас. Это если и деловая переписка выдерживается в подобном стиле конечно.

    >>Тебе кажется, что я ничего не делаю, если за три дня не предоставил новую версию с новыми функциями?
    >> Пожалуйста, я тебе сейчас за 10 минут наваяю в Фотошопе пару новых форм, тебе определенно понравится.
    >> А ты пока за это время постарайся их реализовать.

    За реализацию платят вам, с чего вдруг заказчик должен что-то реализовывать сам?

    >>> мне и в голову не могло прийти, что ты попытаешься записать свой возраст римскими цифрами или в
    >>> качестве пола указать «паркетный», хотя там на выбор «мужской» и «женский».

    >>> мой код меня устраивал, мне туда как-то никогда не приходится вводить отрицательные значения.

    Потом кто-нибудь вместо пола введет sql запрос, а вы скажете «мне мой код нравится, мне как-то никогда не приходилось вводить вместо имени Вася'); DROP TABLE nnn;--»?

    И еще почему вы так боитесь прозрачности? :) Неужели настолько тяжело парой строк описать над чем сегодня работал?
    • 0
      Черт, пока ваял комментарий, тут уже почти на все ответили :)
    • +20
      • 0
        Точно, вот на что в подсознании всплыла аналогия.
      • 0
        alt в студию, плз
    • +1
      > Это если и деловая переписка выдерживается в подобном стиле конечно.
      Ну конечно же нет. Это чуть более эпотажный стиль, чем нужно, я согласен, что, наверное, переигрываю естами. Просто это как ответ на аналогию с автомобилем.

      > За реализацию платят вам, с чего вдруг заказчик должен что-то реализовывать сам?
      Ключевое там «три дня». То есть в разработке есть периоды, когда за три-четыре дня в проекте вроде бы ничего не поменялось, хотя внутри довольно много изменений: рефакторинг, тестрирование, оптимизация.

      > Потом кто-нибудь вместо пола введет sql запрос, а вы скажете «мне мой код нравится, мне как-то никогда не приходилось вводить вместо имени Вася'); DROP TABLE nnn;--»?

      Ну вот Вы опять идёте напрямую от веб-разработки и валидации вводимых данных. Да, в таких приложениях важна и правильная валидация, и безопасность. Наверное, я не предусмотрю Вашего варианта ввода имени, но будьте готовы, что зайдя в программу Вы получите сообщение:
      «Добро пожаловать, Вася'); DROP TABLE nnn;--»

      > И еще почему вы так боитесь прозрачности? :) Неужели настолько тяжело парой строк описать над чем сегодня работал?
      Ни в коем случае. Но ведь тогда приходится объяснять, что такое «рефакторинг» («а почему Вы с самого начала не написали по-другому?»), «оптимизация» («значит до оптимизации Ваша программа плохо работала?») и так далее.
      • 0
        Да, это я своим замыленным веб-разработкой глазом не усмотрел что о ней-то здесь ничего и не сказано :)

        >>> Но ведь тогда приходится объяснять, что такое «рефакторинг» («а почему Вы с самого начала не написали по-другому?»), «оптимизация» («значит до оптимизации Ваша программа плохо работала?») и так далее.

        Да, бывает и такое, к сожалению.
  • 0
    В моем случае небыло условий сделать только так, как я написал и никак иначе. Я расписал ТЗ, разбил на задачи и дал на утверждение фрилансеру (это не совсем я делал, но люди, что со мной работают, неважно).
    Как конкретно он будет делать то или это меня интересовало мало (если конечно не было узких мест, но до них дело не дошло). Фрилансер внес свои правки, дал сроки по задача и все.
    Боже меня упаси кого-то учить жарить яйца. Я просто описал что хотел бы получить и когда. В том числе и поэтапно. Если бы пришлось еще учить, то я тогда не совсем понимаю за что вообще деньги просятся по цене выше среднерыночной…
    • +1
      Я меньше всего хотел как-то задеть постом Вас.
      Просто Ваш пост показателен как взгляд «с одной стороны». Я попробовал сформулировать свой подход «с другой».
      Мне кажется, что каждому более-менее здравомыслящему человеку понятно, что в каждом отдельном случае ситуация может полностью переворачиваться, и судя по тому, что Вы решили написать такой пост здесь, я уверен — с Вашей стороны в проекте наверняка было сделано максимально возможное.
      Просто ситуация, увы, типична, только я чаще оказываюсь на водительском, а не пассажирском месте.
  • +2
    «Проверяйте всё, что вводит пользователь. По умолчанию он злоумышленник. » (http://habrahabr.ru/blogs/php/12067/)
    • 0
      Если пишешь библиотеку с внешними функциями, то проверяй все входные параметры! В отличии от пользователей, программер, который будет твою библиотеку пользовать, по-умолчанию «опытный злоумышленник с кривыми руками»…
  • 0
    согласен с 95% поста )
    и насчет возраста — если это просто поле для ввода (ну типа вводишь цифры — кол-во лет) — проверка «на римские цифры и отрицательный возраст» определенно нужна, а если три поля — input (или select) для каждого (причем месяц — обычно select) — если он ввел неверную дату просто выдавать «о_О хотел бы я посмотреть в паспорте на такую дату рождения»… ну конечно, это не в серьезных проектах…
    кстати, постоянно делаю запись таких ошибок… не поверите — за пару лет только одна была в ошибке ввода даты рождения )
  • 0
    На самом деле решение только одно: ПОДПИСАТЬ ДОГОВОР. А то толком не договорились, у одного глаза горят «счас бабла срублю», у другого «ну счас мне за так всё сделают», и понеслась. ДУМАТЬ надо ЗАРАНЕЕ.
  • +4
    Давайте сделаем 1 августа днем фрилансера :)
    Сегодня это самая главная тема на Хабре :)
    • 0
      Мы сделаем, а Медведев не указ не подпишет :( Что тогда делать будем?
      • 0
        Хм, это же очевидно Ватсон!

        Выберите другого президента :) который подпишет указ.
        • 0
          Теперь я понимаю на что Богданов рассчитывал… Вообще, кстати, неплохая предвыборная программа намечается :)
  • 0
    Мне ОЧЕНЬ понравились пункты «При общении с заказчиками до того, как мы пришли к договоренности, я стараюсь придерживаться следующих принципов». Можно ли их позаимствовать? :)
    • 0
      Что значит «можно»? А для чего, Вы думаете, я их формулировал для Хабра ?? :)
      • 0
        Пропал конец фразы:
        «Ну конечно же!!! Заимствуйте, адаптируйте и дополняйте на свой вкус!»
  • +1
    Согласен на 100 %. В принципе даже придраться не к чему :)

    Поскольку я поработал и дома, а теперь вот в офисе каратаю время, то могу сказать, что данный Jungle Rule можно в какой-то мере распространить и на офис…

    Так к примеру пункт о обязательном ТЗ (ТЗ!!! а не «ну ты сделай, а там посмотрим...») и том, что заказчик (в офисе работодатель) не должен уж чрезмерно вмешиваться в разработку по её ходу добавляя всякие новый фичи… Бесит неимоверно, когда ты вот уже почти доделал, а тут приходит в голову очередная «гениальная» идея и приходится переписывать уже готовое под эту фичу! Или например сидишь программишь ядро (ну основу для окончательной разработки), подходит шеф и начинается диалог типа:

    — Ну как дела?
    — Сижу, работаю…
    — Что щас делаешь?
    — Делаю основу для того, чтобы сделать то, что запланировано на версию…
    — Можешь что-нибудь показать? — тут имеется ввиду какие-нибудь внешние проявления от программы, а не код — в коде начальник не разбирается.
    — Ну нет, у меня сейчас проект не откомпилен и не запускается… Пожалуй через две недели завершу делать основы и приступлю к непосредственной реализации… Недельки через три покажу что-нибудь…
    — Ну ладно…

    И через три, иногда пять дней опять-двадцатьпять… Как это БЕСИТ (!!!) особенно в моменты, когда и так ничего не получается и ты этой разработкой и так себе все нервы измотал.
    • 0
      Дык, это и начальнику нервы мотает. Подойдет срок конца проекта и выяснится что программист сделал от силы 30% функционала, да и то криво. И сроки надо продлять, и возможно ТЗ упрошать… только почему-то это все выясняется всегда под конец.
      • 0
        Точно! Но есть несколько способов узнать, что делает разработчик и контролировать его по срокам. Один из них — это ежедневные (ну тогда на полстранички) или еженедельные (ну тогда побольше) отчёты в пимьменном виде. Меня бесит именно ситуация, что в работу вмешивается, когда я весь в творческом процессе, причём ничего конструктивного в самом диалоге нет… А вот теперь о том, как воспринимают некоторые начальники идею о таких отчётах:

        — Давайте введём отчёты… Вы меня будете контролировать, я буду регулярно отчитываться.
        — Не, ну чё воротить кучу бумаги. Это никому не нужно…
        — Ну можно по мылу или в виде файла вам на комп кину.
        — Неее, ну чём там читать, ты же сказал, что через три или — сколько там — четыре недели будешь что-то покажешь. Так что иди работай…

        Спрашивается, если начальник знает о том, что в ближайшие две недели я ничего не покажу, то на кой каждые три дня подходить? Хочется просто поговорить? Кроме того, есть менеджер проекта перед которым я отчитываюсь и с которым веду постоянную координационную работу (ну там спросил, тут уточнил) — почему бы с ним не поговорить о том, на каком этапе выполнение?
        • 0
          А вот автору топика проще наоборот, его дернули — он ответил
          • 0
            Тебе кажется, что я ничего не делаю, если за три дня не предоставил новую версию с новыми функциями? Пожалуйста, я тебе сейчас за 10 минут наваяю в Фотошопе пару новых форм, тебе определенно понравится. А ты пока за это время постарайся их реализовать.
            По ходу начальник в моём случае тоже считает, что я ничего не сделал потому и дёргает меня постоянно. В моём случае я высказал своё раздражение совершенно чётко (БЕСИТ !), а автор топика его высказывает неявно, но, по-моему, высказывает.
            Ты ждешь от меня еженедельных отчётов, что я сделал? Хорошо, умножим тогда сумму проекта на полтора… за несвободу приходится платить.
            Автор топика тоже готов писать отчёты, только за дополнительные отчисления. В моём случае, «дополнительными отчислениями» будет закладывание в рабочий день времени на написание отчётов и соответственно увеличение (хоть и небольшое) сроков. За всё надо платить :)

            К тому же по той ссылке, которую вы привели написано, что ответит В ТЕЧЕНИЕ ЧАСА, а с меня требуют ответ здесь и сейчас. И приходится отвлекаться от мыслей непосредственно о работе, на мысли о том, как сформулировать что я щас делаю, если ещё показать особо нечего, чтобы и начальник понял, что я не балду пинаю. Если б мне шеф давал этот час, я наверное так бы не бесился.
        • 0
          Угу ежедневные полстранички отчета? А что вы там писать будете?
          (на всякий случай напомню, на А4 шрифтом 12пт помещается около 45 строк)
          • 0
            Ну я несколько «округлил»…

            Вообще можно какую-нибудь форму сделать, чтобы самому не писать «сочинение Как я провёл лето», а конкретно заполнить определённые поля, который будут гооврить о том, что сделал разработчик…

            К тому же ежедневные отчёты — это всего лишь одна из форм, можно и еженедельные и вообще по запросу — всё зависит от ситуации и том уровне осведомлённости, которым хочет обладать начальник.

            Ну и последнее… Городить отчёты ради отчётов — это верх глупости. Задавать разработчикам вписаться в определённое количество символов (или не меньше определённого количества) — дебилизм высшей меры. Будет раздражать ещё больше, чем постоянное «спрашивание» и работа вообще остановится, поскольку вместо того, чтобы делать дело, разработчик будет думать на «слогом», который ляжет на стол шефа. В этом случае вообще лучше сваливать из фирмы, поскольку понятно, что начальство занимается ерундой и разводит огромную вообще никому ненужную бюрократию, а эта неадекватность потом только усугубиться.
            • 0
              Из личного опыта. Проблема составления отчета, тем более ежедневного… имеет место быть :)
              Банально, непонятно что писать. Заказчику, зачастую, техническая терминология ничего не говорит :)
              Ему подавай то, что можно пощупать (формочки, рюшечки и т.п.)

              И кардинально облегчает этот вопрос любая трекинг система :) TRAC, Redmine.
              Сделать выборку по закрытым/открытым за сегодня тикетам и написать отчет проще пареной репы :)
              А еще лучше если заказчик сам сможет посмотреть все это. Он может ничерта не понять :) Но он пощупал, увидел прогресс и стресс у него стал меньше :)
              • 0
                Не нужно впадать в крайность и акцентировать своё внимание только на ежедневных отчётах. Они могут быть и еженедельными и ежемесечными и просто по запросу. Главное, что я хоте донести — это то, что не надо просто прерывать вдруг ни с того ни с сяго разработку просто чтобы поговорить, нужно прислушиваться к разработчику и контролировать его в том числе и по срокам, которые он для себя поставил и озвучил (вспомните про «две недели» и что начальник через три дня пожходит с тем же вопросом). Проблема хотения пощупать решается например закладкой в ТЗ (а ТЗ по-моему должно быть обязательно) сроков и дедлайнов различных этапов. И если идёт подготовительный этап построения основы для будущего воплощения «формочек и рюшечек», а начальство требует отчёт, то и надо писать как есть с сылкой на сроки указанные в ТЗ, и если они ничего не понимают, то сами виноваты…

                Вообще, искусство и адекватность управления заключается в том, что начальство должно организовывать работу подчинённых, уметь управлять командой и контролировать деятельность сотрудников, а если человек в роли начальника только и хочет показать, что он тут главный, что ему все обязаны, вводит абсолютно бессмысленные вещи, никого и ничего не слушает, живёт в собственном мире и только и делает, что вствляет палки в колёса подчинённым, постоянно требуя с них отчётность ради отчётности, чтобы все знали кто тут главный, то это не начальник, а МУДАК!

                P.S. Насчёт тренингов ничео сказать не могу — воочию эффекта от них не наблюдал…
    • 0
      Каратаете? А на чём?
      • 0
        Уже каратал… А что вас конкретно интересует?
  • 0
    > Кому-то, бесспорно, такая прозначность жизненно необходима. Но уж точно не фрилансеру…

    Я вам могу объяснить на своем примере. Все буду говорить очень коротко.

    Необходимо было разработать п2п клиенты. При этом нужно было передавать текст и сделать надо было на питоне. В интернете нашел готовый пример. Нужно скомпилировать и возможно повозится со всякими ошибками (ведь всякое может быть). Я питон знаю чуть-чуть. Фрилансер мне дает оценку в 150 долларов.

    Я, уверен, что там работы максимум на 4 часа (максимум!) и получается, что 37.5 долларов в час. Конечно же это полная ерунда. Оценка не верна, но фрилансер же не хочет работать «за копейки» (так он мне сказал). А что тут такого, если мини- проект стоит 20-40 баксов за компилирование чужого кода?

    Сейчас продолжаю встречаться с тем, что выставляю цены с потолка, при этом перебор в большую сторону от 50% до 150% (особенно верстка).

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

    • +1
      > В интернете нашел готовый пример. Нужно скомпилировать и возможно повозится со всякими ошибками (ведь всякое может быть).

      > Я, уверен, что там работы максимум на 4 часа (максимум!) и получается, что 37.5 долларов в час.
      Ваш первый вопрос «почему так дорого?».
      Вы же сами пишете:
      > Я питон знаю чуть-чуть.
      Так позвольте профессионалу определить, сколько стоит его час.
      Тут и так рынок до предела насыщен предложениями, вряд ли человек будет писать совсем цену «с потолка».
      И ведь ему еще надо предусмотреть риски: а вдруг там столько ошибок, что этоне 4 а все 8 часов? И даже если он не сделает работу и Вы ему не заплатите — он потеряет это время. Так что риск здесь не маленький, тем более, что при общей цене проекта в 150 долларов я бы вообще не стал торговаться с фрилансером…
      > А что тут такого, если мини- проект стоит 20-40 баксов за компилирование чужого кода?
      Компилирование кода стоит 3-4 бакса, остальное — знать, как скомпилить.
      • 0
        Ну хорошо )))) давайте немного по-дружески поспорим :)

        1. Я сам девелопер и конечно же могу судить приблизительно сколько займет времени реализация функционала
        (я ПРЕКРАСНО осознаю, что в зависимости от типа языка программирования различная и длительность!)

        2. Сейчас время сложное и люди загибают цены специально выше (риск того, что следующий проект неизвестно когда будет).
        Но я же не инвестиционная компания и не банк. У меня самого с бюджетом проекта впритык. Риск того, что я не заплачу необходимо минимизировать последовательностью платежей, а не ее увеличением.

        3. Вот этот момент для меня очень сложный… я до сих пор лично для себя не разобрался… думаю начнут кидать в меня помидорами, но надеюсь при этом люди будут писать адекватную критику, в общем:

        С чего это работа фрилансера такая дорогая? Фрилансер работает в опасных условиях? Тяжелый физический труд? Редкие знания? Чем объясняется столько завышенная цена на работу фрилансера?

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

        Очень бы хотелось услышать АДЕКВАТНЫЙ ОТВЕТ.
        • 0
          > Очень бы хотелось услышать АДЕКВАТНЫЙ ОТВЕТ.

          Давайте посмотрим на ситуацию с другой стороны. У вас есть проект который надо сделать и бюджет, и вы ищете кто бы сделал подешевле, чтобы разницу положить в свой карман. сами работать при этом вы ессно не хотите :)

          Наверно это и объясняет почему у вас вызывает такую неприязнь цена?
          • 0
            Хорошая попытка у вас сделать из меня «дьявола», но я не кладу разницу в свой карман :)

            прочтите пожалуйста вот это habrahabr.ru/blogs/freelance/65950/#comment_1850955

        • +3
          На мой взгляд спорить можно только дружески, иначе это уже и не спор, а свара :) Так что давайте поспорим!

          Тут какая ситуация: ведь можно предложить форму оплаты «по потраченному времени». Скажем Вы говорите «есть работа, ориентировочно на 4 часа, которые я готов оплатить за 10 долларов в час, если вдруг что-то не получится — можно обсудить это после 4 часов и добавить еще 4-5 часов с той же оплатой.».
          Таким образом Вы даете понять, что:
          1) Вы примерно представляете себе объем работы.
          2) Вы адекватный человек и понимаете, что можете ошибаться в оценках.
          3) Вы готовы к тому, что стоимость проекта может увеличиться (хотя это не обязательно).
          4) Вы готовы к сотрудничеству и диалогу.

          Если же Вы формулируете задание как «Есть уже готовый проект, надо изменить немного и скомпилировать. Я думаю, работы на 4 часа. Ваша цена». То я исхожу из того, что:
          1) скорее всего «готовый проект» — это какой-то бесплатный скрипт, найденный на просторах интернета.
          2) да он еще к тому же и не компилируется у Вас (о ужас, ужас).
          3) надо привести его в рабочий вид.
          4) поскольку работа совсе небольшая (4 часа — треть рабочего дня), а сами Вы не беретесь за это — значит либо там работы больше, и Вы лукавите, либо Вы не можете сами доделать проект и, вероятно, не можете также адекватно оценить объем работы.
          Тогда калькуляция:
          4 часа * 300% * 1.5 (страховка, а вдруг не запустится и ничего не заплатят) = 18 часов * 10 долларов в час = 180 долларов.
          Вот мы и пришли к Вашей цене!
          • 0
            Хм, трудный у нас будет спор учитывая тот факт, что мы думаем почти одинаково :)

            Я конечно же согласен со всем за исключением калькуляции 2-го случая. Такую калькуляцию чаще всего можно встретить в серьезных компаниях, где счет идет не на 100 и не на 1000 долларов, а значительно больше.

            Но фриланс это рынок дешевой трудовой силы (тут конечно можно спорить и говорить, что это не обязательно и что фрилансером может быть очень высокообразованный специалист. Да, я это понимаю, но я все же смотрю на то, какой он есть сейчас).
            Ну и конечно же люди, которые пришли к фрилансеру обычно хотят сэкономить. Как получается экономия? Экономия получается так, что в стоимость не включается часы работы манагера, QA и т.д. и т.п. работ и остальных работ корпоративного уровня.

            И получается, что адекватный фрилансер должен сказать то, что вы написали в первом случае. Это идеальный фрилансер.

            Менее опытный/адекватный фрилансер на вторую ситуацию будет выкатывать приблизительно такую калькуляцию как вы написали 4 часа * 300% * 1.5.

            Вы в этом месте со мной согласны?

            И как мне кажется, большинство фрилансеров считают себя «локальными звездами» это выражается в том, что они не могут взяться за работу с бюджетом, например, 1 доллар. Просто принципиально выставит стоимость 10 долларов.

            Вот :)
            • 0
              касаемо работы за 1 доллар.

              Доллар не окупит даже «на договориться».

              естественно есть какой-то минимальный порог.
              • 0
                Надеюсь вы поняли, что это был просто «упрощенно-придуманный» пример?

                Вы своим ответом как раз и раскрываете суть большинства фрилансеров (как мне кажется).

                Вы видите ситуацию крайне однобоко и в результате происходит то, что проиходит (в моем случае отказ от услуг такого рода фрилансеров)

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

                • 0
                  В таком случае я не понял наверно этот пример. Мне показалось что он относится к нижней границе стоимости, где за 15 минутную работы берется «сколько не жалко» банально для того чтобы сократить время на переговоры и договориться-сделать за 25 минут, нежели 2 дня договариваться о ценах на 15-минутную работу.

                  А в случае разницы стоимостей и принципов ценообразования мне кажется сравнение с локальными звездами неверно. Или верно не всегда. или не верно отчасти.

                  С одной точки зрения фрилансеры могут позволить себе не демпинговать, имея достаточно заказов. Если заказов для меня будет слишком много — они могут поднимать цены, одновременно проверяя реакцию рынка на это повышение.

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

                  Есть третий вариант — когда деньги нужны и заказов нет. В таких случаях всегда можно устроиться на работу курьером-охранником-кассиром-грузчиком. А это получается около 160 часов работы в месяц (в зависимости от работы это может колебаться) с оплатой около 80-100 рублей за час работы. ( Правда это относится только к хреновым фрилансерам. У остальных оклад сильно поболе будет. )

                  Есть правда еще один вариант который я не понимаю. Есть работа но деньги все равно нужны… Здесь я не очень представляю как может считаться выгодность того или иного заказа.

                  Все это я веду к тому что зачастую принципиальность — это не более чем трезвый рассчет. Чем более опытен фрилансер — тем больше параметров учитывается в рисках. А что самое веселое. Большинство рисков связаны не с техническими моментами, а с человеческими.
                  • 0
                    Хм, такое впечатление, что у вас эконом. образование (один из главнейших принципов которым там учат — принцип сравнения) и вы как раз им очень умело пользуетесь.

                    Согласитесь, что не бывает 1 в 1 повторяющихся событий. К чему это я? К тому, что, если бы все фрилансеры были адекватными и честными, то наше общение было бы бессмысленным и вообще мы бы все были богатыми и веселыми.

                    Но мы же видим как все происходит на самом деле. Я согласен с вами, какой смысл кому-то работать за 100*20 рублей в месяц, ведь намного проще пойти охранником (ведь там даже знания не нужны такие как в программировании).

                    Но вот я начинаю работать впервые с человеком. Как я могу оценить реальную стоимость его работы? Где гарантии, что это не студент Вася, которого выгнали с софт фирмы за неуспеваемость и говнокод и он пришел на фриланс работать за 10 баксов в час?

                    Как оценить работу в денежном выражении так, чтобы обе стороны, будучи адекватными людьми, согласились работать с каким-то бюджетом? (Т.е. одному 1000 долларов месяц это нормально, а другому 2000 и получается, что сделать у п2п приложение у одного будет стоить 100 баксов, у другого 150, у кого-то 40).

            • 0
              Согласен со всем! :)
              Так что «трудного спора» не получится! :)
        • 0
          В стоимость часа закладывается потенциальное время простоя, когда нет заказов.

          Это классика ценообразования в экономике — где заказы редки, там цены выше, но только потому, что заказы редки.

          Где заказы часты, там ниже цены.

          Спрос/предложение и все такое, но ещё + время.

          А про время — если Вы так уверены, что за 4 часа это можно сделать, то сделайте.

          Я вот по опыту подозреваю, что 4 часа — это только может быть полное прочтение некоего скрипта. И то не факт, что его адекват писал. Бывают же и дятелы на опенсорсе.

          Так что 4 часа — это невероятно высокорисковая оценка.
    • +1
      > Я, уверен, что там работы максимум на 4 часа (максимум!)
      Вот про таких, как вы, и есть эта статья. Ничерта которые не разбираются в технологии, по которой нанимают исполнителя, но уверенные, что «код откомпилировать» только надо.
      Что же тогда сами не «компилируете»? Может потому, что это совсем не 4 часа получится?

      Он задал цену не с потолка, а с учетом того, что код с большой вероятностью надо будет не только адаптировать, но и полностью перебирать. И цена адекватна.
      • 0
        Спасибо вам сразу за то, что вы не разобравшись не начали минусовать.

        Что касается дела. Я писал быстро и убрал ради экономии вашего внимания множество слов.

        Понимаете, я же не против заплатить за работу столько сколько она стоит. Если там откомпилировать код, то это 5 долларов (даже много). Если там нужно будет дополнительно что-то исправлять, тогда скажите мне, что там дополнительные работы и я их оплачу.
        но не надо мне говорить, что оно стоит 150 долларов, а потратили вы реально 3 доллара.

        Спасибо
        • 0
          > Спасибо вам сразу за то, что вы не разобравшись не начали минусовать.
          Не обращайте внимание, любой ответ мой ответ — даже самый адекватный, на мой взгляд — сначала всегда уходит в минус.
          Это видно очередной хабраэффект :)
          Попробую ответить адекванто на Ваше сообщение чуть выше.
        • 0
          > Я питон знаю чуть-чуть.
          > откомпилировать код
          Кстати вы тут обманываете.

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

          А не начав править косяки, он не сможет понять сколько работы. Поэтому взял приблизительную цифру от цены, за которую бы ему пришлось это писать, имея похожий готовый код.
          Ведь вполне может получиться, что взяв 150, он поработает на все 400. Это плата за риск.
          • 0
            Питон можно и нужно компилировать! (.py в .pyc)
            Ну поверьте уж человеку, работающему с Питоном на деле! :)
            • 0
              не сразу понял что py — pyton, а pyc — pyton compiled, а может и не так)
              но забавное совпадение ру (читать ру)) и рус (читать рус))
              • 0
                Да, это расширения файлов: до компиляции .py, а после компиляции — .pyc.
                Совпадение интересное, согласен!
                Только python (там есть еще «h»).
                И уж совсем правильно читать его не «питон», а «пайтон» :)
            • 0
              Я тоже пишу на python.
              Но такими темпами и PHP компилируемый, т.к. он компилируется в байткод и потом исполняетс, а при помощи Zend Optimizer/eAccelerator/etc нет нужды в повторных компиляциях при след. запусках.
              • 0
                Видимо, вы не изменились :)

                Компилятор для PHP www.roadsend.com
            • 0
              А я подумал что тут имелась ввиду сборка с использованием py2exe
        • +1
          > Понимаете, я же не против заплатить за работу столько сколько она стоит.

          Ага, вы например приходите покупать квартиру и начинаете объяснять строителям, сколько она на самом деле стоит и сколько те на самом деле потратили на строительство?

          > но не надо мне говорить, что оно стоит 150 долларов, а потратили вы реально 3 доллара.

          Вы лукавите. На фрилансерских сайтах всегда царил демпинг и рынок покупателя. Если бы работа реально стоила 3 доллара, вам бы предложили ее сделать за 2 доллара или просто за отзыв. И то, к таким предложениям стоит относиться осторожнее.

          В любом случае, насколько я знаю на фрилансерских сайтах можно указать верхнюю стоимость сразу. Чем не вариант? наверно тем, что к такому заказчику («я знаю, работы тут на 5 минут так что не завышайте цены») нормальный фрилансер и не пойдет.

          Смотрите: вам не нравится, что человек может быстро сделать всю работу и пойти отдыхать, вроде как за ваши денежки. А на деле, в этом и особенность фриланса, что человек сам распоряжается своим временем. Можешь сделать месячный проект за 3 недели — молодец, получи пирожок :)

          А с вашей логикой — наймите человека в офис и стойте над душой, чтобы он не дай бог в одноклассниках не сидел за ваши деньги. Фрилансер — не подчиненный.

    • 0
      Как там в анекдоте… 2 рубля за удар и 100 за то, что знал где ударить?

      Одного и того же результата можно добиться с разным качеством.

      Скомпилить, собрать кстати очень интересное задание, можно
      потратить 4 часа и для того чтобы это повторить на другой машине
      потребуется тоже 4 часа. А можно потратить 6ть, но потом настраивать
      сборку где угодно за 10 минут.

      Не раз сталкивался с обоими вариантами.
    • 0
      > Я, уверен, что там работы максимум на 4 часа (максимум!) и получается, что 37.5 долларов в час. Конечно же это полная ерунда.

      Дык скомпилируйте сами и возьмите 37 долларов себе, авось за 3 часа а не 4 управитесь.

      Жутко бесит. Не устраивает цена — обращайтесь к индусам, и жрите потом их кактус.
      • 0
        Спасибо за комментарий. Пожалуйста прочтите мой комментарий чуть выше. Он так же ответ на ваше сообщение.
        habrahabr.ru/blogs/freelance/65950/?reply_to=1850925#comment_1850955
  • 0
    Про поля ввода я бы вообще отдельно не стал говорить. Если об их проверке ничего не сказано в ТЗ, то это проблема разработчика ТЗ. Почему программист должен об этом думать? Может быть при планировании учитывалась скорость разработки и то, что потом с продуктом будут работать только подготовленные пользователи. Как опытный специалист, вы можете указать на эти минусы ТЗ при согласовании, а если ТЗ одобрено, то да, нельзя из-за этого придираться, по-моему, к исполнителю.
    • 0
      Вот-вот, как раз это я и хотел выразить первоначально, но был подвергнут критике.
      Если валидация ввода не оговаривается отдельно в проекте, то зачем ее городить.
      Я понимаю, что для веб-проекта это просто нереально, но в мире есть и другие проекты.
  • 0
    И много таких ответственных фрилансеров?
    • 0
      Не знаю, наверное не меньше, чем ответственных и понимающих заказчиков.
      Все-таки если человек профессионал (я это не о себе, а в общем), то он должен с любовью и совестью относиться к своему делу, а не по принципу «лиши бы бабки срубить».
      С такими людьми (как с заказчиками, так и коллегами) я и работаю в основном.
  • 0
    Еженедельные отчеты это несвобода??

    Неплохо… а поставь себя на место заказчика. Очень приятно увидеть через пару месяцев, что сделано ноль.
    • 0
      Для этого есть:
      > Я постараюсь ответить на любое письмо с вопросами в течение часа.
      Достаточно спросить «Как там проект?» — и я двумя-тремя предолжениями отвечу в течение часа.
      Нужны регулярные отчеты — у меня вознрикают ограничения по распределению времени (если особенно еще 2-3 проекта параеллльно) — приходится больше напрягаться.
      • 0
        Странно, по моим ощущением, как раз когда 2-3 проекта параллельно, проще превентивно отчитываться, не дожидаясь того пока заказчик дернет по скайпу или отправить письмо.

        И большая часть моих знакомых тоже, не любит чтобы их дергали случайным образом. И в комментариях подобное мнение высказывают.
        • 0
          Ну все по-разному. Я просто исхожу из того, что дергать меня будут реже, чем раз в 2-3 дня…
    • 0
      заказчик-фрилансер = обоюдный риск и блага (низкая цена для заказчика и свобода для фрилансера) = все честно
      • 0
        А заказчик вам предоплату не платит? Регулярные отчеты со стороны фриланера, по сути это та же предоплата.
  • –2
    Из своего опыта:
    Надо было сделать «поддержка смен в расписании школ».
    Заказчик спросил: а как добавить третью смену? Есле объяснил, что 2 смены подходит под строку в ТЗ, и я сделал именно так, так как «это мне удобнее и полностью удовлетворяет ТЗ».

    И еще мысль, которая может спасти многих(по своему печальному опыту): если заказ больше $1k-$3k — то надо по максимуму стараться, чтобы провести его официально. Иначе некоторые обязательства могут быть не исполнены одной из сторон.
    • 0
      >>а как добавить третью смену

      Я не думаю что заказчик в итоге остался доволен. С другой стороны, сам виноват, сэкономил на консультанте, нанял кодера.
      • 0
        Заказчик сам писал ТЗ, никого не нанимая.
        При этом ТЗ не отвечало на вопрос КАК, описывала только ЧТО, вопрос же КАК был на усмотрение разработчика, что и было сделано.
        • 0
          Минуточку: т.е. там не было указано количество смен? Или было указано «2 смены»?
          • 0
            ТАм не было сказано с одной стороны «2 смены», с другой стороны «AJAX-интерфейс для добавления произвольного числа смен».
            Поэтому решил сделать так, как написано, но из вариантов выбрал самый для меня удобный.
            • 0
              то есть Вы решили, что двух смен будет достаточно и на этом успокоились. Понятно, спасибо.
              • 0
                Для того чтобы избежать конфликта, просто надо было в самом начале перед тем как кодить, сказать что собираетесь делать поддержку только двух смен заказчику.

                Глядишь, заказчик бы забил тревогу заранее, и обговорив увеличивающуюся сложность проекта, можно было завести речь об увеличении оплаты. И все бы остались довольны.
            • 0
              Вообще-то, если не указано конкретно 2 смены, то вы должны были сделать так, чтобы работало и с любым количеством смен >1.

              Потому как множественное число есть :)

  • 0
    когда проект завершится, мы можем обсудить, как мне стоит пострадать из-за этого

    теперь это будет ответом на вопрос о сроках, спасибо)
  • 0
    насчёт в «срок», если не успеваете, как то компенсируете?
    • 0
      Как правило задачи в ТЗ и конечные различаются дней на дцать.
      Заказчик в этом случае говорит фразы типа «я же бабосов доплатил, почему в срок не выполнено».

      Сам с этим сталкивался. Разраб подразумевает, что если проект стоил 1 баблоеденицу и занимал времени 1 времяеденицу, и дополнение функционала займет 0.2 баблоеденицы.
      Разраб соответственно считает, что время разработки становится 1.2 времяеденицы.

      А у заказчика мысль. Я дуплаю бабло. А там пусть разрабы хоть не спят.

      На такую дрянь наткнулся сам. Пришлось зверски усложнять связи в каталоге книг.
      Заказчик плюс к бюджету проплатил, но плюса во временном бюджете понять так и не смог.
  • 0
    «Ты» и прочая псевдодружественность с партнером вполне нормальна.
    Я в момент начала общения, с еще потенциальным заказчиком, определяюсь в именовании. Ты или ВЫ.

    Довольно часто я предлагаю какие то фичи заказчику о которых он не подумал, потому как у него проект первый и единственный.
    Я а такого говна нажрался выше крыши.
    Как правило я работаю не на конечного заказчика, а на урода который даже не может ТЗ сформулировать.
    Но умный урод держит 20-30% бюджета для того, чтобы реализовывать идеи заказчика не описанные в ТЗ исполнителю (мне то есть), но как то подразумеваемые заказчиком. И проблема урода в том, что он не сумел формализовать бред заказчика в ТЗ.

    PS я конечно разработчик. И клал я на заказчиков. Среди них 90% ублюдков даже не представляющих что им нужно (я те плачу, сделай мне песдато). С неадекватными заказчиками я не работаю в принципе. С полуадекватныи миньеджерами проектов работаю через один.

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

    Мнебы паибацца — это не задача.

    PS прошу простить за нецензурщину. Только что общался с уебанским заказчиком. В начале была выборка из базы, а теперь хочется аналитики запросов.
    • 0
      >> В начале была выборка из базы, а теперь хочется аналитики запросов.

      Почасовая оплата + включенный одеск тим. Других вариантов, чтобы все оставались довольны в таких случаях, я не знаю.
  • –1
    это уже какая по счету подобная статья за последние пару дней? не подозревал что на хабре столько плакс
  • –3
    Мне очень не понравились обращения на «ты» и крайнее самолюбование. К такому «специалисту» не обратился бы.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.