среда, 31 января 2007 г.

Похоже, я буду докладчиком на PHPConf 2007

По предложению Александра Смирнова, создателя и идейного вдохновителя http://phpclub.ru я написал тезисы к докладу о независимой PHP-разработке (фрилансе), чтобы выступить в мае 2007 года на http://phpconf.ru.
В докладе планируется обобщить личный опыт и провести обзорное исследование феномена независимой РНР-разработки (фриланса) в России. Главный ориентир - не совмещение фриланса с основной работой full time, а полностью независимая разработка.Основные вехи доклада:
  • Попытка классификации: полная занятость full time и удаленно, частичный freelance, полностью независимая разработка.
  • Организационный вопрос: ИП, ООО, "неофициальная" занятость, физическое лицо по договору. Налоги.
  • Наработка опыта и клиентской базы.
  • Взаимоотношение с заказчиком (гарантии оплаты, варианты оплаты, коммуникации, технические задания).
  • Фриланс vs Full Time: за и против.


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

Первая встреча с одним из заказчиков

Вчера встречался с потенциальным заказчиком. На меня его вывел один мой коллега, знакомый по phpclub, который снабдил его положительными рекомендациями (спасибо!).
Изначально я планировал встречу таким образом: мы встречаемся в центре Москвы (по договоренности это была кофейня n-joy на Кузнецких Воротах), знакомимся друг с другом и я рассказываю ему немного о своих профессиональных навыках, портфолио и прочих вещах по которым он сможет хоть как-то определить - подхожу я для его проекта или нет. В то же время, хотелось посмотреть и на него, чтобы понять - адекватен человек или проект сразу рискует превратиться в работу для камикадзе. Такая беседа очень хорошо помогает определиться, хотя бы предварительно. Методика заказчика по определению моей адекватности состояла из следующих направлений вопросов:
  • Каким я вижу решение организационных вопросов (взаимные гарантии, взаимодействие в процессе разработки, разделение работы на этапы и оплату). По моему мнению, опытному заказчику мои ответы могли не только прояснить как мы можем сотрудничать конкретно с ним, но и в целом дать представление - есть у меня опыт решения таких вопросов или нет. Ведь если я ни бум-бум здесь, то встает вопрос - а были ли у меня раньше фрилансовые заказы или я выдаю себя не за того, кем являюсь.
  • Чем данный проект будет для меня интересен? Тоже грамотный вопрос. Если проект не интересен с точки зрения реализации (а не денег) то для заказчика есть как минимум два риска - что я буду работать медленно без проявления фантазии и что проект мне надоест через месяц и я буду пытаться всеми силами выйти из него. Понятно, что оба риска вполне серьезны.
  • В каких проектах я участвовал и что это за проекты? В моем конкретном случае у заказчика была рекомендация, а значит он не пытался устраивать мне тестирование на знание языка, но вопросы наподобие этого всегда позволяют оценить опыт разработчика в тех или иных сферах.

Я же специальных вопросов не задавал, но для меня были интересны следующие моменты:

  • Сколько денег заказчик готов реально заплатить за проект. Нужно, чтобы он назвал конкретную сумму.
  • Готов ли он платить дополнительно, если вдруг решит расширить проект или будет пытаться "вписать" новые задачи в старое ТЗ. Здесь в любом случае стоит предусматривать такой оборот дел, но лучше прояснить для себя все в самом начале.
  • На какие сроки он рассчитывает и готов ли морально к их нарушению. Проект может разрастись, или могут вылезти неожиданные трудности - это все случается, причем не всегда по вине разработчика - некоторые вещи действительно сложно предугадать. Поэтому нужно понять - будет ли заказчик неадекватен или при должном обосновании с вашей стороны сможет как-то попытаться справиться с ситуацией. В любом случае, здесь разработчик должен всегда стараться предугадать тонкие места и как можно заранее предупреждать заказчика о возможных трудностях. О ленивости разработчика я здесь не говорю - мы рассматриваем ситуацию, когда программист действительно нацелен на успех проекта.
  • Когда я получу первые деньги и что я должен для этого сделать?

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

Теперь, я должен буду выяснить о всех нужных функциях поподробнее, сформировать ТЗ и нарисовать статическую (HTML или в Visio) модель сайта. Тогда мы утвердим точный срок реализации этапа и деньги за его прохождение. Информация выясняется на дополнительных встречах путем интервьюирования заказчика.

Чем это хорошо? Во-первых, заказчик сможет за этот этап (2-4 недели) понять - действительно ли я могу реализовать то, что он хочет получить. Одно дело интуиция на собеседовании, а совсем другое - на практике. Если я не справлюсь с первым этапом, то он потеряет не полгода, а две недели, что тоже неприятно, но поправимо. С другой стороны, я, как разработчик смогу выявить платежеспособность и адекватность заказчика на практике и в крайнем случае потеряю также не полгода, а две недели.

вторник, 30 января 2007 г.

Начало нового блога

О чем я собираюсь писать в этот блог?
О своих проектах, над которыми я работаю как фрилансер - настоящий независимый разработчик без работодателя, но с заказчиками.