Что нужно знать программисту, работающему по контракту? - PullRequest
21 голосов
/ 11 марта 2009

Я студент колледжа, который прошел несколько стажировок и считаю себя достойным программистом. У меня есть друг, который занимается консалтингом и хочет, чтобы я помог ему с одним из его проектов. Поскольку я никогда раньше не выполнял никаких контрактных работ, что я должен знать и следить за ними?

Ответы [ 12 ]

29 голосов
/ 11 марта 2009

Ууууууу. Вниз по этой дороге таится безумие.

Самый важный совет, учитывая вашу ситуацию: определите все в письменном виде. Наиболее важная информация, которая вам нужна, следующая:

  • Сколько вам платят и по каким показателям? Если это ежечасно, вам все равно нужно знать, когда вы получите фактический чек. Это после запуска проекта? Что произойдет, если проект провалится? Вам все еще платят?

  • Они занимаются уплатой ваших налогов или вы? (Ответ почти всегда таков.)

  • Существует ли максимальное количество оплачиваемых часов, которое вы можете набрать? Что произойдет, если вы достигнете этого и не закончите?

  • С каким оборудованием вы будете кодировать? Если они не предоставляют компьютеры, тогда бегите. Вы не должны использовать персональный компьютер для профессионального развития; это создает все виды ошибок владения для другого кода, который вы пишете в свое свободное время.

  • Какое программное обеспечение вам понадобится? Не используйте личные копии программного обеспечения для профессиональной работы. Особенно, если это ваша взломанная версия visual studio или что-то в этом роде.

  • Кто будет предоставлять графику, макеты и т. Д.? От вас ожидают создания графики и макетов? Если да, то с каким программным обеспечением? Будьте осторожны с системами, которые включают в себя виджеты с поиском по изображениям в Google и т. Д. Вы можете нести ответственность за нарушение программного обеспечения.

  • Как будет осуществляться поддержка продукта? Вы обязаны предоставлять знания и обучение? Как вам будут платить за указанные знания и обучение?

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

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

И это только начало. Добро пожаловать в мир контрактов! Вот на что это похоже, когда ты не работаешь по найму под юридическим контролем корпорации! : -D

27 голосов
/ 11 марта 2009

Бесценный совет: научитесь говорить НЕТ.

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

Вы должны научиться говорить НЕТ, когда это уместно: если вы не можете работать больше, потому что день длится всего 24 часа, отклоните их или четко определите, что вы можете выполнять их, скажем, через 1-2 месяца; если какой-то клиент настаивает на том, чтобы вы что-то делали вне сферы действия, скажите «НЕТ» (если, конечно, это не очень важный клиент, и вы, конечно, через него видите дальнейшие возможности).

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

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

21 голосов
/ 11 марта 2009

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

Конечно, то же самое необходимо для фактической стороны, которая будет покупать программное обеспечение. Вы должны четко дать понять, что вы не обеспечены поддержкой компании, и поэтому вам необходимо настаивать на пункте, который не позволяет предъявлять иск.

3 голосов
/ 11 марта 2009

Зависит от того, где вы работаете. Здесь, в Ирландии и в большинстве стран Европы, вам лучше создать компанию с ограниченной ответственностью и заключить с ней контракт. В основном проблема заключается в том, что если что-то пойдет не так, компания (с ее ограниченной ответственностью) может быть привлечена к ответственности, но не вы лично. Конечно, учитывая, что вы достойный программист, этого никогда не случится;) Тем не менее, один из них стоит рассмотреть.

Прошло около 20 лет с тех пор, как я сам заключил какие-либо контракты, но одна вещь, с которой я раньше не сталкивался, это ценообразование. Программисты часто думают о проектах с точки зрения того, как долго они занимаются написанием кода; вам на самом деле нужно подумать о том, сколько времени вы потратите на кодирование, тестирование, адекватное документирование, установку и обучение. Вам также необходимо оценить неизбежную постоянную поддержку.

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

Удачи в ваших начинаниях!

1 голос
/ 11 марта 2009

Из недавнего сообщения Скотта Беркуна, касающегося «Должен ли я уволиться с работы сейчас?» Это содержит некоторые хорошие вклады на консультации.

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

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

Стоимость жизненного опыта . Когда я ушел, это помогло мне принять это, даже если я не смог бы я многому научиться о себе, своей индустрии и жизни в генеральный. Я был убежден, что были уроки, которые я бы выучил, я не мог купить другой путь, и я получил силы от это (оказалось я был прав, но я не знал этого, когда я ушел). я был убежден на личном уровне, я мог не проиграть, и если бы я планировал № 1 и № 2 финансовые риски были небольшими. Наихудший на случай, если бы я взял этот опыт и вернуться к той карьере, которая у меня была до этого.

Он также предлагает прочитать Консалтинг в миллион долларов: Руководство для профессионалов по развитию практики (Мягкая обложка)

1 голос
/ 11 марта 2009

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

0 голосов
/ 03 мая 2009

Это зависит от того, с какой контрактной работой ваш друг хочет помочь.

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

Если работа для вашего друга направлена ​​на его проект, то я бы постарался не испортить вашу дружбу с платным проектом и т. Д. Если у вашего друга есть контракт с небольшой компанией или есть финансовые проблемы на этом уровне Я также постараюсь быть немного осторожнее с вопросами оплаты и т. Д.

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

Примерно через 12 лет у меня очень редко возникали проблемы с оплатой, один раз я выполнял работу напрямую для друга, и график изменился ... так что, вероятно, работать часнее, чем пытаться оценить время / стоимость особенно как новичок.

0 голосов
/ 11 марта 2009

Также рассмотрите вариант , а не , работающий ежечасно. Некоторые люди считают это кощунством, но если вы можете определить проект достаточно хорошо в начале, вы можете установить фиксированную цену. Как в «Я создам программу ruby, которая выполняет X Y и Z, и вы мне заплатите 800 долларов». Я считаю, что ежечасная работа (и отслеживание времени, и все такое) добавляет больше стресса, чем стоит работы.

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

0 голосов
/ 11 марта 2009

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

В те дни, когда ко мне подходит друг с отличной идеей для разработки проекта, я запускаю. Обычно это сделка «Я дам вам часть прибыли / займусь бизнесом со мной», когда я делаю всю работу и получаю очень мало, если что-нибудь получится в итоге.

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

Только мое мнение ...

0 голосов
/ 11 марта 2009

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

Кроме того, есть некоторые другие советы, если работа интересна для вас, будьте гибки в цене Если вам это не интересно (и вам не нужны деньги), поднимите цену. Самая высокооплачиваемая контрактная работа, которую я когда-либо имел, это хакерство javascript для работы между Netscape и IE. Я продержался всего 4 месяца, после чего я заработал достаточно для трехмесячного отпуска, но в некотором смысле я возмущен тем, что потратил впустую 4 месяца своей жизни, занимаясь такой умопомрачительной задачей!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...