Поберегите нервы.

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

Том Демарко.

Эпилог.

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

Давайте жить работать дружно!

Очень тяжёлым порогом является переход от рассмотрения человеком личных перспектив, к рассмотрению перспектив команды. Все стремятся к лидерству. С этим в первую очередь связан сумбур по поводу выбора жанра, сюжетной линии (если таковая присутствует), движка и тд. Примеров внутри командных политических войн масса, каждый участник пытается засунуть в дизайн-документ свою идею, вовсе не задумываясь о её реализации. Если его идея не принимается, то он обижается, формирует “оппозицию” и тут два варианта - либо очередной переворот с выбором руководителя, либо эта “оппозиция” подвергается различного рода репрессиям и в конечном итоге команду покидает. Зачастую это либо половина, либо большая часть команды.

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

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

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

Обычно многие сталкиваются с резким несоответствием своих представлений о разработке и тяжёлыми буднями девелопера. Разработка это в первую очередь рутина, и для того чтобы рутина превратилась в фан нужно очень и очень многое для этого сделать. Можно представить некую модель, безусловно все начинают работу с морем энтузиазма, затем энтузиазм потихонечку угасает, что-то не получается, а миллионов всё нет и нет, именно тут начинается губительный процесс угасания.

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

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

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

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

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

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

5. Собирайте команду оптимального размера. Пока есть возможность не набирать новых людей – не делайте этого.

Пролог.

В команде, как таковой, не должно быть первых или вторых ролей, я считаю что, например, дизайнер - такая же по значимости должность как PM (прим. PM – Project Manager). Каждый должен посильно участвовать в работе всех ролей, каждый имеет право обсуждать дизайн, тестировать, планировать. Но всегда когда приходит момент принимать решения - его принимает один человек, который отвечает за соответствующую роль.

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

Три проблемы молодого разработчика, или “Русские не сдаются!”.

Первая проблема - люди.

Что-же я имею ввиду? Несколько вещей.
Первоочерёдно - это школьники с бешенными амбициями и желанием создать “МЕГ@_ИГРУ”, которых , за 5 дней существования этого топика, написало мне около сотни. Всё-бы ничего, но большая часть этого контингента явственно отказываются говорить каков их возраст и опыт, а то и вовсе лгут. Но КАК лгут! Дабы не быть голословным…

(1:00:51) Я : Хотелось бы знать ваш опыт работы, а так-же принепременно - возраст.
(1:01:01) XXX: я роботал в комании nival 2 года, патом уволился. было предолжение работать в sibilant но я откзолся. возраст - 32.

Я не поленился и погуглил ICQ-номер. Выяснилось что парню 14.
Выводы делайте сами.


Проблема вторая: Критика, непонимание и комунекабельность

  • Критика.

Чего-же нам ждать завтра? Всенародной любви и веры в нас независимо от предпочтений? Как-бы не так.
Разгром, стёб, подкол, и всеобщее забрасывание бедной жертвы помидорами недельной давности.
Причина?
У каждого своя.
Но проблема не в том что критика есть. Проблема в том что большая часть людей с ней раньше не встречалась. А может просто не умеет реагировать правильно.
Несколько самых популярных вариантов:
а) Нарциссизм - “Тебе что-то не нравится, а? Покажи сначала что сам умеешь, и может быть я дам тебе посмотреть скриншот!”
б) Обидчевость - “Критикуете? Вы все дураки и не лечитесь, одна я умная в белом пальто стою красивая” (с) Госпожа Новодворская.
в) Игнор

Ни один из этих вариантов смышлённый человек не выберет. Если конечно ему такой выбор природа предоставит. Слишком многое зависит от характера.

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

  • Непонимание.

Непонимание, с*ка, полное.

А именно - если у меня в голове рождается какая-либо фича/идея/слово , работая в офисе я могу поделится этим с коллегой в считанные секунды и мы решаем что с этим делать.
При удалённой работе всё с точностью, да наоборот. Пришла мне в голову жутко-модная идея в виде NPC-образа красного одноногого вреблюда - я начинаю это старательно расписывать, расчитывать формулы скорости это бедняжки в жарких пустынях африки. И когда большая часть работы проделана - оказывается идея не подходит.
Причина?
У каждого своя.

Кто виноват?
Я. Надо было сразу, на первой-же онлайн конференции уточнять основные аспекты, каркасы и структуры идей. Всё-же idea flow частично вреден.

  • Комуникации и все,все,все.

Хотите вести свой проект, следить за командой из 3-7 человек? Замечательно. Первое что вам понадобится…Мобильный телефон.
Первое, и одно из важнейших правил.
Если вы не можете связятся с любым из ваших участников в любой момент времени - проект заведомо провален.
Идеальный вариант когда вы можете встретится с вашим любимым звуковиком и выпить бутылочку пива в парке. Но в большенстве случаев - это невозможно.
А потому надо как можно чаще общатся. Хотя-бы по телефону.

Но и тут лучше не переборщить.
Непонимание частично решается более подробной формализацией задачи- разбиением на более простые логические схемы. Даже начинающий програмист может реализовать сложный алгоритм, только степень формализации задачи для него в этом случае практически равнозначна описанию формул кода. %)
А вот избыток комуникаций часто приводит к тому, что люди заняты не работой над конкретной задачей, а перевариванием и обдумыванием самого процесса общения. Общаться на тему фичи гораздо приятнее, чем ее реализовывать.

Проблема третяя: Деньги < Люди.

Недавняя и последняя (покойся с миром, игра икс) проблема с которой пришлось мне столкнуться - это то, что деньги (читай - издатель, финансирование, инвестиции) на самом деле “дешевле” хорошего партнёра.
Многие только за эту мысль назовут меня иррациональным идиотом, и я не буду спорить. Может оно и так.
А пока - пример из жизни (читай - Как оно было…):

Мы с напарником разработали отличную концепцию браузерной игры на флеше.
Напарник написал сервер, я почти закончил дизайн-документ.
С этим документом и самосвалом амбиций я связался с издательство “*** Холдинг” (прим. - что вместо звёздочек догадайся сам), которое, рассмотрев концепцию, приняло предложение о сотрудничестве.
Единственное условие - нам зам 3 месяца надо было закончить хотя-бы альфа-версию проджекта.

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

Мне легче рассказать где я НЕ искал эту загадочную мифическую личность, чем перечислять места которые я облазил.

Выдавали 2 варианта (читай - Красная пилюля или Синяя пилюля):

а) Деньги на бочку, буду работать.
б) Подожду до договора, но работать буду как смогу (читай - Работать не буду).

————————————————

Итог всего этого безобразия:

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

- З.Ы.  РУССКИЕ НЕ СДАЮТСЯ!

)