воскресенье, 20 апреля 2014 г.

Большие и маленькие компании


Ты хочешь всю оставшуюся жизнь продавать сладкую газировку? Или хочешь пойти со мной и изменить мир? 
(с)Джобс

Небольшой совет молодым и талантливым разработчикам, которые ищут работу, — никогда не идите работать в большие компании. Никогда, ни за какие деньги, ни при каких обстоятельствах. Даже если Вы проработаете всего год, оттуда Вы уйдете уже другими людьми, лишитесь лучшего, что у Вас сейчас есть. Поработав «по графику» с унылым пузатым менеджерьем, Вы станете беспомощным отработанным материалом с рабско-потребительской ментальностью. Ваш опыт работы в Google, Яндексе или Mail.ru — мощная антирекомендация для любого здравого руководителя маленькой команды.
Бездельничайте, учитесь, играйте, рисуйте, создавайте музыку, занимайтесь фрилансом, открывайте стартапы, делайте никому не нужные проекты, голодайте — но никогда не идите работать в корпорации. Помните: всякий раз, когда молодой и талантливый разработчик идет работать в большую компанию, умирает котенок. 
(с)Дуров

Все совпадения случайны и являются выдумками читающего индивидуума


Как-то меня спросили: куда идти работать юристом - в Тошиба или менее известную DS Law. Вопрос был непрофильным для меня, тем не менее его можно перефразировать как-то так: где лучше работать - в большой компании-корпорации или маленькой студии-стартапе?

Для меня ответ простой: it depends.
У каждой стороны есть свои "особенности". Плюсами или минусами это назвать сложно, потому что положительность зависит от восприятия человека, поэтому просто опишу эти особенности. Начнем с больших компаний:


  • У больших компаний есть имя, статус. Это очень клево, когда при знакомстве с незнакомыми людьми можешь описать работу в двух словах.
  • Хорошие плюшки. Бесплатная еда, лазерные шоу на корпоративах, интересные события, недоступные простым смертным - все это для тебя.
  • Как правило, большие деньги. А если редкий специалист, то платят непомерно много.
  • Своя субкультура - начиная от стиля кода, заканчивая отношениями между сотрудниками. Это вправляет мозги, особенно если ты зеленый джуниор, но жди беды, если ты не согласен с такой субкультурой - ты идешь против большой системы.
  • В больших компаниях найдется человек, у которого можно поучиться новому. Иногда даже по непрофилю. Достаточно подойти и спросить.
  • Большие парни имеют свою экосистему управления - трекинг времени, документация, дизайны, концепт-документы, бла-бла-бла. Это сделано с разумными целями - для контроля, оптимизации организации (как известно, в команде с N людьми количество взаимоотношений O(N^2) ) и т. д. На quora спрашивали, почему так много людей работают на фейсбук, офигенное сравнение дал Balaji Viswanathan(кофаундер belimitless.co) - почитайте, вы не пожалеете.
  • Бюрократия на своем уровне. У кого-то в меньшей степени, в гос. корпорациях РФ - просто over9000. Проявляется это чаще всего необходимостью никому не нужные отчеты, писать документацию, будто их будут читать одни идиоты, читать простыню документации и в каждой строке чувствовать себя идиотом. 
  • Иметь шефа, шефов, контролирующих тебя людей. С одной стороны, можно иметь китайское видение жизни и думать, шеф - это твой наставник. С другой - а если работа строится по принципу "я начальник - ты дурак"?(Вот именно поэтому разрабы ненавидят продюссеров и подобных)
  • Иметь строгий распорядок дня: прийти на работу, отработать 8 часов, уйти. Идеально для женатых людей или людей с советским укладом жизни. Есть особо непонятные компании, которые ставят нормативные часы выше выполненным целям. Я таких не понимаю.
  • Ты станешь узким специалистом. Всего ты не сможешь знать просто из-за объема данных, поэтому будешь отвечать только за одну часть всего проекта.
  • В больших компаниях трудно вырасти. Как в карьерном плане, так и профессионально-личностном. Ты являешься одной деталью в огромном механизме, который работает неведомым образом. Ты делаешь одну маленькую вещь в огромном конвейере. Более того, если занимаешься одной лишь работой, ты ступоришься, начинаешь видеть мир слишком однобоко. Поэтому очень важно кроме основной работы заниматься еще чем-то другим для себя.
  • Еще в больших компаниях не приветствуется, чтобы ты занимался чем-то другим, кроме работы :) Это вполне объяснимо - они платят тебе деньги и хотят выжать из тебя весь максимум. 
  • В больших компаниях стирается ответственность. Вот серьезно, в любых МС и прочих есть люди, которые являются балластом - они вроде чем-то занимаются, а результата - ноль.
Вот как-то так. А теперь поговорим про малышей:
  • Тебя никто не знает. Это ок, смирись с этим :)
  • Никто не организует для тебя ничего. Как ты проведешь праздник, корпоратив и т.д. - зависит только от тебя.


  • Своя субкультура. Только она уже не корпоративная, а "семейно-котанская". Все друг друга знают, нет чинов и погонов.
  • Как следствие, нет шефа "за спиной", ты любому человеку можешь сказать: "Чувак, ты не прав", "Твоя идея - говно", и никто не обидится и не даст в бубен (конечно, если ты сможешь аргументировать свою точку зрения или внезапно являешься внуком Мохамеда Али :-) ).
  • По минимуму бюрократии. Никого не интересует, что ты делаешь, как это работает изнутри. Главное, чтобы это работало и легко модифицировалось и ты успевал в оцененные сроки.
  • Не ожидай, что вступив в проект в студии, ты увидишь get-started, how-to, вообще, нечто похожее на документацию. Скажи спасибо, если кто-то иногда пишет тесты. В конце каждого проекта каждый разраб может написать вот такую книгу:
  • Как следствие предыдущих двух - минимум бюрократии. Тебе не надо собирать консилиум, не надо документировать каждое слово. Надо взять - договориться с котаном и зафигачить. Иногда удобнее сделать наоборот - зафигачить, а потом договориться с котаном :-)
  • У тебя будет больше выбора - от используемых инструментов до договоренности по рабочему дню. Сейчас мы приезжаем в офис в двенадцать, ухожу в восемь вечера. Это ок, если ты пришел в два дня или ушел довольно рано или наоборот поздно. Это норм поработать из дома или выйти поработать в выходные дни. Да, и не надо ждать, пока прогонят плагин за 10 баксов через всю тикет систему  - ты тупо берешь и покупаешь.
  • В маленьком стартапе ты должен уметь делать все - потому что кроме тебя больше никого нет. И такой подход нехило тебя развивает. Ты начинаешь разбираться везде, где раньше все это было rocket science.
  • Как следствие, ты очень быстро растешь, всегда учишься новому. Чем больше обязанностей и меньше времени - тем быстрее ощущается ускорение.
  • Большая свобода - ты можешь привнести идей, даже если ты вроде как не этим занимаешься. Поскольку направлений обязанностей там много, ты можешь заниматься почти всегда чем хочешь.
  • Ответственность. Ты не имеешь права сказать: "это говно, потому что мы делаем по его указанию", ведь ты когда-то ему не сказал: "Чувак, это говно". Только ты ответственен за то, что ты делаешь этот проект.  
  • Да, саморазвитие только приветствуется. К примеру, вот continuous integration в asset store - плагин, выросший из ресерча на тему разных сжатий текстур в андроиде. Сейчас используется повсеместно. Каждый опыт активно переиспользуется. И твои знания РЕАЛЬНО работают.

Как примерно делается большой проект в больших компаниях: 
  • "Здравствуйте, у нас есть идея проекта, сейчас продюсеры напишут диссертацию на 100500 страниц"
  • "Бюджет проекта - овер9000 долларов, вот вам команда художников, программистов, массажистов"
  • Каждый менеджер в команде собирает скрам, задает цели, работящие люди скурпулезно вникают в детали, пишут свою оценку.
  • Менеджер умножает оценку на (e+pi)/2, все начинают фигачить. 
  • Позже команды начинают скрещивать результаты, у них ничего не получается, собирается митинг, долго обсуждается, начинают переделывать.
  • Позже происходит тестирование, находится фатальный недостаток, надо переделывать, времени мало
  • С опозданием на два месяца выпускается продукт.
Как делается в маленьком стартапе:
  • -"Котаны, я тут внезапно подумал..." -"О, ты думать умеешь?" -"Да слушай же! Короче так..." -"Клево, давайте зафигачим!"
  • (Около доски, где есть еще место для новых идей) "А давайте добавим няш-мяш  и вертолет взрывающийся!"
  • "Короче, у нас всего три месяца, быстрее делаем".  
  • Быстрая приблизительная оценка, фигачим.
  • "Нет времени объяснять, пиши в api магический метод FixEverything()"
  • "Так, мы не успеваем. Либо продлеваем, либо урезаем фичи. И давайте хоть в этот раз протестируем что ли?"
  • С опозданием на два месяца выпускается продукт :)

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


Можно ли так сделать, чтобы объединить плюсы больших компаний с плюсами маленьких(и при этом постараться выкинуть минусы). Можно, но не каждая компания в состоянии. Вернее даже так - почти никто не может. Я знаю всего две компании, умудрившиеся успешно объединить первое со вторым. Это facebook и unity.  Вот, к примеру, слайды из выступления Араса по поводу, как работает unity. У меня все.


Комментариев нет:

Отправить комментарий