"Советы удаленному работнику"  

понедельник, 23 февраля 2009 г.

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

Сегодня статья: Советы начинающему (и бывалому) веб-программисту фрилансеру

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

Начну с общих советов, пожалуй. Они помогут не совершить ошибок, под час глупых, в самом начале пути.

Общие советы.

1.1) Если Вы получили предоплату - это не значит, что Вы ее уже отработали. Предоплата - это гарантия того, что Вас не кинут и не более. Забудьте про нее.

Очень многие фрилансеры, получив предоплату, радостно выводят ее из системы платежей, тратят… А потом нервничают, ведь отдать предоплату при необходимости они уже не могут. Я очень много лично натыкался на это - тратил предоплату (иногда довольно большую), а потом или проект срывался или заказчик его отменял или я решал, что не могу работать дальше. Так или иначе, а предоплату нужно было отдавать (иначе фактически Вы кинули заказчика). Приходилось занимать деньги у знакомых, волноваться, вводить их обратно на вебмани и так далее.

Отсюда простое правило: начинать тратить деньги можно только тогда, когда получите прямое и не двусмысленное подтверждение от заказчика, что работа закончена. Прямо так и спросите: “ну как, закончили мы проект или еще что-то нужно доделать?”

1.2) Фриланс славится тем, что заработок идет “по чуть-чуть”. Например, если в месяц Вы делаете 20 заказов по 50$ каждый, то деньги зарабатываются и тратятся постепенно. Отсюда возникает не очевидная проблема: для некоторых людей (как я) накопить много денег фрилансом - неразрешимая задача. Решение этой проблемы, на мой взгляд, таково: нужно, скажем, занять в долг определенную сумму и на нее жить. А деньги, заработанные на фрилансе - не выводить из систем оплаты целый месяц. Тогда, через месяц, Вы сами себе как бы выдадите зарплату - сразу много денег :) Отдадите долг и дальше сможете работать по этому графику (вывод денег раз в месяц). Кроме того - решается и проблема из пункта 1, ведь на балансе всегда есть какая-то сумма и можно легко отдать предоплату.

1.3) Своевременно отдыхайте. Фрилансеры обычно люди не ленивые (т.к. ленивый человек не будет сам искать заказы, разбираться во “всем это”). Но у творческого работника часто возникает “творческий кризис”. В большинстве случаев это называется “переработал, надоело”. И все - неделями не может заставить себя сеть за работу. Чтобы этого не происходило, отдыхайте после каждого законченного проекта. Идеально - день. Больше - можно расслабиться.

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

1.5) Если Вы не можете закончить проект или возникли сложности или у Вас “творческий кризис” - не идет работа дальше, то обязательно скажите об этом заказчику. Лучше отдать предоплату, но не подвести человека! В моей практике я так затянул два больших проекта. Я месяц ничего не делал вообще, говорил, что работаю. А в конце месяца надо сдавать проект. Сдавать нечего, конечно. Я тянул еще, на меня все больше ругались, а делать я так ничего и не начал, потому что слишком волновался из-за сложившейся ситуации и мысль “да я же все равно даже в две недели не уложусь, а тут уже такая буря поднялась” не давала мне начать.

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

2.1) Нужно четко оценить сложность проекта. Очень часто разработчик отказывается от выполнения, т.к. не знает чего-то. Зачем брал проект? “Думал, что справлюсь…”. Поэтому перед началом работы очень подробно расспросите заказчика о том, что он хочет. Программирование отличается от дизайна или копирайтинга, например, тем, что если дизайн рисует дизайн (а сам дизайн может быть каким угодно) - ему нужно знать только программу для рисования. Если копирайтер пишет текст, то он должен знать только текстовый редактор. А программисту нужны самые разные знания. Например, если Вы знаете PHP, но не знаете JavaScript, то сделать проект с Ajax уже не получится.

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

И если Вы не знаете CMS, с которой предлагает работать заказчик, то лучше не беритесь. Например, у меня довольно много опыта и я могу разобраться с CMS в одни вечер, а на другой сделать для нее плагин, доработать ее и так далее. Но довольно долго таких чудо-способностей у меня не было (не хватало опыта).

Я вообще рекомендую выучить все популярные CMS (Joomla, DLE, WordPress, Bitrix и другие) заранее. Заодно и подучите программирование CMS в целом.

2.2) Программисту легче всех защититься от кражи своей работы. Показывайте заказчику работу только со своего сервера (куда заказчик не имеет доступа). Даже, если была предоплата! Все равно! А отдавайте исходники только после 100%-ой оплаты. Таким образом заказчик не может кинуть. Можно даже встраивать в скрипт системы авто-удаления всего скрипта (или важной его части) и отдавать скрипт в таком виде. Если заказчик нечестный и сделает Вам какую-нибудь гадость, Вы сможете удалить скрипт с веб-сервера. А если он оплатит и все пройдет хорошо, то предупредите его об этом и отдайте версию без “ловушки”.

2.3) В 90% случаев заказчик даже и не думает о безопасности своих веб-приложений. Ему даже не приходит в голову или он думает, что программирование автоматически подразумевает безопасность. Поэтому об этом позаботиться должны мы, программисты. Например, я не беру за безопасность дополнительных денег. Но Вы можете сказать ему, что если заказчик хочет обезопасить себя от взлома - придется доплатить.

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

2.4) Если Вы работаете через биржи фриланса (такие, как free-lance.ru), то просите заказчика поставить положительный отзыв. Другие коллеги-фрилансеры очень редко ставят отзывы программистам, нужно окупать их отзывами от заказчиков. Не бойтесь просить отзыв - ничего зазорного в этом нет. А если сделали работу плохо, лучше отзыв не просите ;)

2.5) Советую максимально автоматизировать рутинную работу. Например, если у Вас есть своя CMS и Вы переделываете ее каждый раз для разных заказов (частая практика), то сделайте ее копию без модулей (или с основными модулями), чтобы она была “чистая”. Если Вы работаете с готовой CMS, то поставьте ее разные версии в разные каталоги, чтобы при случае не заниматься ее установкой.

Можно даже автоматизировать процесс создания каталога для проекта (в смысле - на сервере), прописывания адреса в hosts и прочее. Это помогает быстрее начать работать. А ведь самое сложное - это начать ;)

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

2.7) Постоянно совершенствуйтесь. Программирование, такое дело, постоянно появляются новые технологии, движки и прочее. Читайте книги, читайте блоги и статьи. Все это очень пригодится. Не отставайте от конкурентов! Например, я долго не хотел учить Ajax, пока совсем не “приперло”, пока каждый заказ не начал содержать требования Ajax’а. Зато выучил и мне стали доступны и те проекты, где нужна эта технология.

2.8) Работая на заказчика, можно расслабиться и перестать вдаваться в тонкости программирования. Это - зло! Часто хорошие заказы срываются у начинающих (или плохих) программистов из-за того, что они знаюn программирование поверхностно. Кроме того, это очень сильно вредит безопасности написанных скриптов и приложений и даже репутации (прослыть плохим программистом среди коллег - нет ничего хуже).

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

2.10) Такой вот специфический совет. Ни в коем случае не пейте алкоголь, когда работаете. Некоторые думают, что это “стимулирует мозг” или что-то такое. Некоторые даже гордятся тем, что “я так напился, написал прогу и она гениальна!”. Это все чушь и бред - даже после нескольких глотков пива голова работает уже не так хорошо, как без них. Желательно даже выключить музыку, телевизор, плеер и прочее. Чем дольше сидишь за работой - тем сложнее думать при таких раздражителях.

2.11) Наверное, это скорее общий совет, но… Храните документацию по проекту в структурированном виде (никаких “где-то на рабочем столе”!). Пишите структурированный и хорошо читаемый код. Эти два небольших пункта помогут Вам увеличить скорость работы в целом.

Работайте и узнавайте новое! Удачи Вам!



AddThis Social Bookmark Button

Email this post