PDA

Просмотр полной версии : О Консалтинге


Nirth
09.01.2010, 03:26
Jessy Warden, пишет хроники консультанта. Это подтолкнуло и меня написать похожие статьи, правда с другой перспективы – Независимого Консультанта, в Европе.

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

Есть десятки видов, и под-типов фрилансеров, но в IT Research and Development (далее R'n'D), обычно используются четыре типа: Outsource, Contractor, Consultant, Crisis Manager.
Есть много способов и критериев разделить эти группы, но лично я работаю ради денег =), и делю я их по среднему заработку, результаты на глаз:
Outsorce < $120 в День.
Contractor < $250 в День.
Consultant < $1000 в День.
Crisis Manager < $10000 в День.
Цены представлены западно-европейские, если вы живете и работаете в СНГ смело делите их на 5.

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

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

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

Архитектор тире CTO
Архитектура – Компания хочет сделать приложение, в неизвестной ей среде, ей нужен Специалист, который наладит тех процесс, поможет нанять персонал, покажет что куда, а когда придет время, как Санта Клаусс незаметно исчезнет. Поэтому не забвайте раставлять ваше имя во всех комментариях, включая ToDo и FixMe.

На моем опыте, это одна из самых мирных деятельности, которая может перепасть консультанту, это очень похоже на то, чем занимаются контракторы и Full-Time персонал, но платят больше. У вас есть время, ничего не сыпется, вы можете управлять своим графиком, вобщем ляпота. За четыре года, я видел 1.5 подобных проекта, так что не раскатывайте губы =).

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

Но на самом деле, основная проблема этой категории, не в том, что у компании серьезные проблемы, а в персонале. На компанию работает N-ое кол-во R'n'D персонала, и M-ое кол-во менеджеров. И каждый третий из них будет думать, что ваше присутствие угрожает его позиции в данной компании, или как минимум, его планам о повышении. Главное в данной позиции, суметь изолировать себя от ненужного персонала, как вышестоящего, так и нижестоящего, и найти людей, которым можно будет перепоручать задания.

С чего начать
Перед тем как получить клиента, нужно начать на него охоту, на данный момент я использую социальные сети, в частности LinkedIn, Facebook, Twitter. Но если вы только начинаете, и либо ваш послужной список защищен 10тью слоями Соглашений о Не Разглашении, или же, вы работали 3 года на компанию, которая ничего толкового не выпустила. То увы но вам придется инвестировать время на само-рекламу.

Я писал блог, не этот, другой – технический. Писать стоит сразу на Английском, мой русскоязычный блог (который я вел с 2005-2007ой год), не дал мне никакой отдачи, и я его просто закрыл. Второй способ, который лично я не проверял, но мне о нем рассказывали – Виджеты для Социальных сетей. Тоесть написать несколько интересных приложений, для Facebook/MySpace. Возможно стоит скооперироваться с человеком умеющим хорошо рисовать, если сами не художник.

Обязательно заведите себе аккаунт на LinkedIn, и заполните там резюме. Туда очень удобно посылать людей, но имейте оригинал резюме в Doc и PDF формате, очень часто, при переписке будут просить именно документ, а не страничку.

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

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

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

Так же советую составить контракт, скорее всего вы им пользоватся не будете, но стоит послать его клиентам, чтобы А) Дать понять, что вы юридически грамотны. Б) Клиент узнает, ваши условия.
Вас интересуют следующие моменты:
По-дневная оплата, с компенсацией за over-time. Согласятся на почасовую ставку обычно не имеет смысла. Ее выгодно писать в своем резюме, так как циферка по-меньше получается, но брать стоит по-дневно. Вы как консультант, иногда будете иметь down-time, например вы нужны только на 2 часа в день, но нужно оговорить, что даже из за 2 часов, вы фирме должны посвятить весь день.

Второй пункт, действия после окончания договора. Фактически вам нужно, чтобы ваш клиент познакомил вас со своими коллегами. Это звучит очень странно, для людей из бывшего СССР, но на самом деле это часто встречающаяся практика. Фактически вы говорите клиенту следующие – гарантировав, что вы познакомите меня со своими коллегами в бизнесе, вы дадите мне возможность работать более эффективно на вас последний месяц-два, а не искать себе параллельно следующего клиента. Я отмечу, что клиент не даст вам гарантий, что его коллеги сразу вас наймут, но это лучше чем ничего.

Nirth
09.01.2010, 03:27
Получив Контракт
Ну вот, прошло 1-3-6 месяцев, вы слали свое резюме во все возможные и невозможные щели, вы общались с десятком HR менеджеров, и ненавидите их всех. Но труды были не зря, вы сидите перед своим сканером, и сканируете, только что подписанный договор, который вы пошлете своему первому клиенту.

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

Сначала вам надо выяснить три вещи:
1) На кого вы работаете, иногда вас нанимает компания, тогда вы слушаетесь, всех по цепочке. Но иногда вас может нанять Департамент, и тогда в силу вступает правило Вассал моего вассала, не мой вассал, это значит, что вы слушаетесь Главного в Департаменте, но не его шефов, если шеф хочет чтобы, вы что то сделали, они отдадут распоряжение вашему шефу. Вобщем, надо узнать, кто подписывает ваши чеки, и слушать только его.
2) Выясните, кто работает на вас, и кто нет. Фактически говоря, от вас ожидают, что вы научите уже существующий персонал работать, плюс это выгодно самому клиенту, если вы будете поручать рутинную работу менее опытному персоналу, а сами заниматся важными аспектами. В одном из моих проектов (о жонглировании, и работе на нескольких клиентов, я напишу когда нибудь в отдаленом будущем) клиент решил, что ему выгдней научить веб художника пользоваться ANT и SSH администрированием, чем просить меня этим заниматься, такое тоже случается =).
3) Выясните тип клиента: Людей в IT индустрии можно разделить на две части, те которые получают оргазм при виде кода, и те кто получают его при виде клево анимированных компонентов. Вам нужно выяснить тип вашего клиента, если первый, то есть скорее всего программист в прошлом, то вам повезло. Вы можете расставлять свои milestones, исправлять ошибки по их правильному приоритету. Если же тип второй, то вам нужно планировать свой график по примерно следующей схеме: 1) исправить код, 2) испровить код, 3) сделать какой нибудь визуальный бубенчик/заскинировать/добавить эффектов. И только когда у вас будет, что либо видимое, и красивое – посылать отчет.
4) Но самое важно, это разговор с клиентом. Фактически вам нужно понять, чего же от вас хотят. Скорее всего никому не нужно, чтобы вы завершили приложение, вас могут нанять на 3-6-12 месяцев, и от вас ждут, скорее внутренних изменений. Об этом кстати хорошо расписал сам Jesse Warden, поэтому я не стану изобретать велосипед, и выражусь краткими тезисами:
1) Выясните, Что от Вас хочет Клиент.
2) Разбейте задание на отдельные части.
3) Уточните, это ли от вас хочет клиент, и устраивают ли его сроки.
4) Разработайте contingency планы, и contingency планы для contingency планов.

Особая тема об Отчетах и Расписаниях – вы обязаны их вести, если вы их не ведете, скорее всего вас не полюбят. посылайте качественно оформленные документы хотя бы раз в неделю. Это могут быть White Paper, или просто Status Report. Лучше оба, вообще от вас будут ожидать много всякого бумажного мусора, будьте готовы, и настройте свой почтовый клиент, что бы автоматически вставлял вас в CC/BC поля. Расставлял ваши подписи когда надо, и не забывайте жать на кнопку Reply to All вместо простого Reply. А вообще старайтесь общаться с клиентом ежедневно, пусть даже не о чем. Он должен знать, что вы рядом, и все под контролем.

Psycho Tiger
09.01.2010, 13:51
Очень интересно, спасибо =)
А это вообще IT-сфера или именно флешевая?
И чем именно на занимается каждое звено из
Outsorce < $120 в День.
Contractor < $250 в День.
Consultant < $1000 в День.
Crisis Manager < $10000 в День.?

Nirth
09.01.2010, 18:21
Это вебдванольная индустрия =)

В принципе аутсорсер и контрактор, могут себе позволить быть специалистами в чем то одном ( Flash/Flex/AJAX ) хоть и не всегда, если метить выше то нужно осваивать дополнительные технологии. Я в свое время столкнулся с тем, что нужно было понять как работать с MVC фреймворками на Back-end ( в частности Ruby on Rails, Merb, Django ).

Отвечая более конкретно:
Аутсорсер это обычно специалист с 1-2 годами, работающий либо на контору, или через посредника или двух.

Контрактор, это примерно то что обычно ищут на сайтах вроде GetAFreelancer, RentACoder (но там часто аутсорсят тоже).

Консультант, я расписал, решает проблемы. И ему желательно знать более одной сферы на очень хорошем уровне. Flash+Flex+Ruby+Python+Rails+Django мне хватает, хочу увеличить скилл в Ajax, мои познания ограничиваются средним уровнем в Prototype и jQuery.

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

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

lowka
09.01.2010, 20:55
Интересно было бы узнать о типичном состоянии дел на проекте к которому подключается консультант (ваш опыт), а именно в ситуации "все пропало". Насколько именно там "все пропало" в рядовом случае или все же в своем случае уникальны?
А так же Не менее интересно: как часто вам доводилось, если доводилось вообще, "ужасаться" по мере знакомства с кодом(организацией приложения и т.п.) на ваших проектах?

Nirth
09.01.2010, 23:09
Насколько именно там "все пропало" в рядовом случае или все же в своем случае уникальны?
Я не уверен что имею права распространятся на этот счет =). По некоторым проблемам, и зная мой послужной список можно догадаться, кто был. Извиняюсь, но в основном все достаточно уникально и скучать не будете =).
А так же Не менее интересно: как часто вам доводилось, если доводилось вообще, "ужасаться" по мере знакомства с кодом(организацией приложения и т.п.) на ваших проектах?
Да почти всегда, вы увидете Контроллеры, которые перепутали с функционалом с моделями. Спагетти код. Проект портированный с Flash на Flex, в котором половина компонентов, пришпилена на соплях, и все еще экстендят MovieClip, и соответственно не подаются никакому контролю из Контейнеров.
Плюс очень часто, клиенты нанимают очень умных (без сарказма) студентов или даже выпускников Computer Science, Advanced Math, Physics, Chemistry, Biology факультетов. Которые правда очень светлые головы, но не имеют никакого представления о практическом программировании. И потом через полгодика их работы, оказывается, что код почти не расширяем, но переписывать с нуля нельзя, через неделю-две-месяц прилетают инвесторы =).

Fernando Costa
09.01.2010, 23:36
хм, обязательно только MVC?

Nirth
09.01.2010, 23:38
@Fernando Costa
Извини, не понял вопроса.

Fernando Costa
09.01.2010, 23:49
MVC это обязательная архитектура проекта?

Nirth
10.01.2010, 00:32
@Fernando Costa
Ну где то с середины 2008ого, PureMVC и Cairngorm вошли в моду, и 4 из 5 проектов на MVC да.
Два раза переводил проект на живую с MVC на Delegate Model, и сейчас перевожу один с Cairngom на Mate.

alekslitvinenk
10.01.2010, 01:15
Спасибо за статью

lowka
10.01.2010, 04:13
...И потом через полгодика их работы, оказывается, что код почти не расширяем, но переписывать с нуля нельзя, через неделю-две-месяц прилетают инвесторы =).
Как боритесь с этим? Неужели переписываете заново, но только быстро (использование оккультных сил и т.п. отбросил ввиду вашей подписи :D) ? Часто проходится, если так можно выразиться, читать им лекции по разработке и проектированию? иначе как вообще все это может двинуться с места - в голову приходит только какой-то супер-герой, который всех спасет в нужную минуту и не допустит катастрофы... Но здешние супер-герои были названы (кризис менеджеры) и ведь как-то же без них справляются в некоторых случаях. Вопрос как?

p.s. Было бы неплохо почитать какой-нибудь роман по теме, думается это должно быть крайне увлекательное литературное произведение. Может кто уже написал/пишет, не знаете? Если нет, то надеюсь, что кто-нибудь когда-нибудь подарит миру такое произведение!

Fernando Costa
10.01.2010, 14:14
p.s. Было бы неплохо почитать какой-нибудь роман по теме, думается это должно быть крайне увлекательное литературное произведение. Может кто уже написал/пишет, не знаете? Если нет, то надеюсь, что кто-нибудь когда-нибудь подарит миру такое произведение!
Криминальное чтиво. Мистер Вольф. Человек, который решает проблемы.

Nirth
10.01.2010, 16:04
@lowka
На самом деле все достаточно рутинно, просто надо уметь быстро разбиратся в хреновом коде =).
Делается отдельный бранч, где фиксится framework/foundation на котором построенно приложение. Парралельно с этим в primary (trunk по терминологии SVN) фиксятся текущие баги, когда база готова к использованию, начинается merging.

Если клиент юзает git или perforce, то merging будет почти безболезненым (при условии соблюдения правил), если svn то чуть попотеть придется, если CVS то сужденно тебе работать по 36 часов подряд =)

nuran
11.01.2010, 15:40
Интересно. Спасибо.

Psycho Tiger
13.01.2010, 11:44
Я так почитал и понял, что бедным студентам из провинции пока нужно сидеть и не думать о таком, да? )

Nirth
13.01.2010, 13:37
@Psycho Tiger
Ты знаешь, когда я был бедным я жил в столице. А когда переехал в гордок по меньше, финансовое положение уже наладилось, поэтому я не могу говорить с полной увереностью.
Но имхо, откуда ты и сколько у тебя в кармане, не так важно. Главное это:
Английский
Знать с десяток фреймворков (Flex, PureMVC, Mate, Cairngorm, efflex, и тд и тп)
Уметь писать свои полностью инкапсулированные библиотеки.
Уметь понимать код без докуметации *
Знать пару веб технологий (php, ruby, python, java, asp.net, scala)
Бегать по утрам, и не зависеть от сахара =).

*На самом деле, не считая редких хаков, я предпочитаю читать код, вместо его документации, в большинстве случаев, когда код доступен, я считаю документировать не фасадные классы зря потраченным временем. Вернее считал бы, если бы я был единственным программистом, некоторым все-таки легче с доками =)

Psycho Tiger
13.01.2010, 14:30
Мне просто не совсем понятно, как и что происходит в этом мире.
Разослал я резюме, меня куда-то взяли работать, работаю на постоянке.
А как в интернетах почитаю - так полно всяких слов страшных и методик непонятных - к чему они?

nuran
13.01.2010, 14:35
А как в интернетах почитаю - так полно всяких слов страшных и методик непонятных - к чему они?

Например каких слов?

Psycho Tiger
13.01.2010, 19:44
milestones, contingency, White Paper и тому подобное. Найти их значение не представляется проблемой, но слова страшные )

Badim
14.01.2010, 00:13
спасибо за статью, интересно.

Nirth
14.01.2010, 02:03
milestones, contingency, White Paper и тому подобное. Найти их значение не представляется проблемой, но слова страшные )
Ты знаешь если тебя пугают эти слова, то да рановато суватся в фриланс вообще =)

Psycho Tiger
14.01.2010, 20:49
Ты знаешь если тебя пугают эти слова, то да рановато суватся в фриланс вообще =)
Фрилансить удается нормально, но только с русскими заказчиками. Может, если выйду на западный рынок перестанут пугать, да )

alekslitvinenk
16.01.2010, 01:29
Я почти сразу начинал работать с западными заказчиками: было много страшных и непонятных слов, нечто вроде шоковой терапии. Зато потом было намного проще работать с другими заказчиами, начать работать в офисе.

capecoder
24.01.2010, 23:14
Flash+Flex+Ruby+Python+Rails+Django - это сколько нужно опыта
разработки в реальных проектах, чтобы знать все это на уровне эксперта??

Nirth
25.01.2010, 00:07
Flash+Flex+Ruby+Python+Rails+Django - это сколько нужно опыта
разработки в реальных проектах, чтобы знать все это на уровне эксперта??
Flash 5 + лет
Flex 4 + лет
Python 3 +
Ruby 2 +
Ruby on Rails 2 +
Django 1.5 +
Я бы не назвал себя экспертом во всем, но я знаю где, кого и когда спросить =)

capecoder
25.01.2010, 22:28
а приходилось увязывать Flash/Flex и
Python 3 +Django 1.5 + ?

Nirth
26.01.2010, 10:00
да конечно, Server+Client

Psycho Tiger
26.01.2010, 11:04
Меня ещё интересует - как зарабатывая такие деньги реально ходить на работу и работать, а не загулять надолго? )

Nirth
26.01.2010, 11:39
@Psycho Tiger
Ты называешь это деньгами =)? У мечта в детстве была, небоскреб построить. Да да дедушка Фрейд был прав, все детские комплексы =)

Psycho Tiger
26.01.2010, 13:25
Nirth, мне бы 15к в месяц стабильно зарабатывать, не напрягаясь особо - час/два в день, иногда побольше - я был бы просто мегасчастлив, мне хватает)

Конкуренция на фрилансе большая, да и как то попадаются чаще всего заказы по 5-6 т.р.
Что посоветуешь? )

iNils
26.01.2010, 13:29
@Psycho Tiger
Ты называешь это деньгами =)? У мечта в детстве была, небоскреб построить. Да да дедушка Фрейд был прав, все детские комплексы =)А я хотел спасти мир захватив его :D

Nirth
26.01.2010, 13:41
@Psycho Tiger
Мой совет будет звучать банально, стать лучше. Я люблю то чем я занимаюсь, именно люблю, я могу этим заниматься сутками. Мне нравится расширять свои знания в области программирования, мне нравится смотреть на новые языки.а

Добавлено через 3 минуты
прав, все детские комплексы =)А я хотел спасти мир захватив его :D[/QUOTE]

Не ну World Domination это святое =) небоскреб это план минимум =)

Psycho Tiger
26.01.2010, 14:36
Мой совет будет звучать банально, стать лучше. Я люблю то чем я занимаюсь, именно люблю, я могу этим заниматься сутками.
Да, тоже люблю, если в течении 2-х недель не напишу хотя бы 5к строчек - мне плохо) (конечно, когда флешерю нормально объемы кода куда побольше).
Вроде не новичек во всём этом, просто спросил - может есть какие лазейки, куда все флешеры сливаются по началу карьеры :D

nuran
26.01.2010, 15:39
Nirth, мне бы 15к в месяц стабильно зарабатывать, не напрягаясь особо - час/два в день, иногда побольше - я был бы просто мегасчастлив, мне хватает)

В какой валюте

Волгоградец
26.01.2010, 15:43
Psycho Tiger, никто тебе свои секреты не расскажет. Nirth правильно говорит - становись лучше, старайся узнать каждый день хоть что-то новое. Ну и жди удачу - в последнее время я все более склоняюсь к тому, что если не все, то многое зависит от счастливого случая.

Psycho Tiger
26.01.2010, 16:06
В какой валюте
В рублях. Да, мне так мало нужно для счастья :D

Psycho Tiger, никто тебе свои секреты не расскажет.
Ну, это для них не секреты. В любом случае, я нахожусь на много уровней ниже флеш-гуру вроде Nirth`а или etc, и им должна быть уже совсем неинтересна ниша с окладом меньше 3-4k$, тем более ниже 1k$ - так что как поступать в моей ситуации, пожалуй, для них уже не секрет. Про совершенствование - это мне изначально понятно, наверное, я соглашусь с Волгоградцем - нужно ждать своей счастливой звезды в жизнь =)

Nirth
26.01.2010, 16:18
Psycho Tiger, никто тебе свои секреты не расскажет. Nirth правильно говорит - становись лучше, старайся узнать каждый день хоть что-то новое. Ну и жди удачу - в последнее время я все более склоняюсь к тому, что если не все, то многое зависит от счастливого случая.

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

nuran
26.01.2010, 16:21
Про совершенствование - это мне изначально понятно, наверное, я соглашусь с Волгоградцем - нужно ждать своей счастливой звезды в жизнь =)

Время уходит, а с ним и нереализованные возможности. Ждать — плохой вариант.

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

Psycho Tiger
26.01.2010, 17:35
нужно ждать своей счастливой звезды в жизнь =)

Время уходит, а с ним и нереализованные возможности. Ждать — плохой вариант.[/QUOTE]
Ну, пока ждешь - гуляешь и радуешься жизни. Это в молодости важнее денег, так что спорно.