22 февр. 2016 г.

Outsource, Bodyshop, Product. В чем различие?

В области разработки софта сейчас наиболее распространены три вида участия компании-разработчика в проекте:
  1. Outsource, полный и частичный,
  2. Outstaff, он же body shop, он же бодишоп,
  3. Product. К нему же можно отнести и стартапы, но с небольшими оговорками. Хотя... Выделю-ка их отдельно
  4. Стартапы
Для рядового сотрудника (девелопера, менеджера низшего звена) от схемы работы могут зависеть ожидания от работы в этом проекте, перспективы роста и перспективы расставания с компанией.

Начну с аутсорса

В большинстве своем в Украине (думаю, что то же самое относится и к ближнему зарубежью) на аутсорс отдают часть рутинной работы по продукту, который уже спроектирован, разработан и требует допиливания напильником. Либо когда самая "вкусная" разработка делается кадрами самого заказчика, а на аутсорс отдается багфикс и рутинные таски, не требующие высокой квалификации. Это очень хорошая возможность для заполнения резюме оттачивания базовых знаний в стеке технологий, используемых в проекте и доступных аутсорсерам.
Чего ожидать рядовому девелоперу от таких проектов? По скиллам — не особо много. Но пару строчек резюме заполнить можно будет. По сотрудничеству с подрядчиком — сильно зависит от работодателя. Если компания аутсорсер небольшая (до 100 девелоперов) и имеет 1-2 текущих проекта-источника доходов, то очень велик шанс, что проект закроется в самый неожиданный момент. Рассчитывать на бенч (скамейку запастных девелоперов, которым платят из кармана аутсорсера за то, чтобы они не убегали в другие конторы) в такой компании не приходится. Не из-за того, что хазявы плохие, а просто из-за небольшого бюджета конторы. По факту, такие компании не особо отличаются от бодишопов.
Если же компания-аутсорсер большая — 500+ типа Luxoft и Epam, то тут шансов на долгосрочное сотрудничество гораздо выше. Такие компании имеют десятки и сотни достаточно крупных (или здоровенных, типа Боинга) заказчиков и по нескольку проектов на каждого из них. И такие фабрики не особо зависят от того, что один или несколько проектов закроются или заморозятся. Поштормит, пошатает, но потом сбалансируется и опять будет тепло и уютно. Специфика сотрудничества с такими компаниями состоит в том, что девелопер работает на эту компанию, а не на конкретного заказчика. И компания решает подходит ей конкретный сотрудник или нет. И зарплату ему платит не заказчик, а компания. Понятно, что все решают финансы, но у таких компаний даже по сравнению с их крупными заказчиками меры оценки и трешхолды разные. У таких компаний и бенч подлиннее. Им проще продержать ценного сотрудника полгода-год без дела, но на полноценной зарплате, и по надобности сразу пустить его в оборот, чем по позникновению нового проекта начинать поиски свободного спеца, тратить время на собеседования и утверждения, ждать, пока он войдет в курс дела... Ну, и между проектами можно попрыгать, набирая скилы. Многие мои знакомые в Люксе работают более 10 лет, не теряя при этом сноровки и квалификации. Таким компаниям, конечно, присуща достаточно нудная бюрократия, да и от конкретного проекта зависит довольно многое. Но это вполне терпимые и понятные вещи.
Достаточно редко, но случаются аутсорсные проекты, которые отдаются на разработку полностью. Тогда наряду с преимуществами относительной стабильности сотрудничества, от него можно получить значительный рост опыта и знаний. Это, как по мне, — джекпот для разработчика.

Бодишоп

Ярчайший представитель этой формы ведения бизнеса — Сиклум (не "Циклум" — "Циклум" не правильно). Эта схема характерна тем, что девелоперы набираются под конкретный проект конкретного заказчика. Зарплаты, социальные плюшки, тимбилдинги и даже иногда кофе-чай полностью зависят от его прихоти. Зарплату платит заказчик (через сиклумовский прокси, понятно), менеджит заказчик... В общем все зависит от него, родимого. И по закрытии проекта шансов перепрыгнуть в другой, не говоря уже про скамейку запасных, практически нулевой. Бодишоп не особо заинтересован в удержании девелоперов, потому что поиски и оприходование новой тушки щедро оплачиваются заказчиком. Зачем экономить?!
Однако есть небольшая плюшка в этой схеме. Шанс уехать на территорию заказчика гораздо выше. Бодишопу это будет за счастье, ибо заказчик за это заплатит еще больше.
Не хочу сказать, что бодишоп — это грех. Сиклум сотоварищи показывают, что эта схема работает, востребована и дает возможность трудоустроиться сотням и тысячам девелоперов, тестировщиков, рекрутеров, бухгалтеров, менеджеров и т.д. Однако нужно понимать, что все кроме топ менеджеров в этой комиссионке — разменные монеты.

Продуктовая лавка

Еще одна форма разработки — продуктовая компания. Как правило это полный цикл жизни проекта начиная от задумки, дизайна, разработки архитектуры, продолжая программированием, деплоем и заканчивая поддержкой. Опыт участия в таких проектах, особенно от начала и до какого-то логического окончания, бесценен. Часто менять людей в таких проектах очень не выгодно. Поэтому можно приложиться с разных сторон и понять чего тебе хочется больше. От стартапов такие компании отличаются в основном тем, что делают продукт для себя. И договоренности тут достаточно долгие и стабильные.
Один из ярчайших представителей такого класса в Украине — Playtech. Практически все проекты там — собственные разработки от и до. И если довольствоваться должностями разного уровня разработчиков, то можно поучаствовать в разработке кучи разных сервисов, приложений, баз.
По моему мнению, этот вариант сотрудничества идентичен (или может даже лучше) аутсорс проекту полного цикла.

Стартап

Стартап, в принципе, хорошо характеризуется принципом работы с кадрами: "Нанимай долго, увольняй быстро".
"Тысяча воинов против десяти тысяч орков? Ни одного шанса на победу? Ну так чего же мы ждем?!" (с) Гимли. Где-то так. Ярко, быстро, впечатляюще, модно... Но совершенно никакой гарантии. Прокачать скилы в новых технологиях, в общении с пользователями, в монетизации, в осознании дзена — это туда. Если есть буфер и еще не хочется спокойной жизни, то можно вляпываться. Финансово может и выстрелит. Хотя скорее всего нет. Но при этом опыт будет очень хорош. Причем в любом его проявлении. Хоть в случае факапа на первом же деплое.
Ничего другого от стартапа ожоидать не приходится.

Ну, а что выбирать, — персональное дело каждого.

19 февр. 2016 г.

"Ноги, крылья... Главное — хвост!". "Scrum, Lean... PDD!" Новое имя, старый подход

Придумал тут новый политически корректный термин, описывающий Israel management подход к разработке софта. PDD == "Political Driven Development". Это когда единственное слово в переписке, чате, голосовой беседе между двумя участниками проекта может мало того, что разрушить или перевернуть с ног на голову весь проект, не взирая на все договоренности и документацию, так еще и навлечь праведный гнев Их Светлостей менеджеров среднего и высшего звена на неразумного автора этого слова. Это когда сегодня мы все делаем "по процессам", а завтра делаем всё и сразу и на вчера, потому что "приезжают отцы". Это когда не знаешь что делать, потому что что бы ты не сделал, ты все равно будешь виноват. Работа в таких условиях похожа на хождение по минному полю и отнимает нервы, здоровье, лтчную жизнь.
Как себя вести в таком проекте?
  1. Получить от него как можно больше, как в материальном, так и в познавательном плане,
  2. почуствовав приближение нервного срыва бежать. 
Если пункт 1 не особо многообещающий, то сразу переходить к пункту 2.  Нервы обойдутся дороже.

17 февр. 2016 г.

Mac OS (10.11) El Capitan: Запись/чтение на USB диск в NTFS формате

В Mac OS (10.11) El Capitan отвалилась возможность записи на NTFS диски. Короткий серфинг показал, что связано это с тем, что обычно используемый драйвер NTFS-3G стал несовместим с новой осью. Apple по этому поводу не особо переживает, ибо NTFS — вражеская FS. Решение в моем конкретном случае было найдено этой ветке форума на discussions.apple.com. Paragon выпустил для Seagate версию своего NTFS драйвера под Mac OS, совместимую с El Capitan, но поддерживающую только диски Samsung: ссылка. Зато бесплатно. В той же ветке на discussions.apple.com даются ссылки на менее бесплатные или более крякнутые варианты, но их я решил не пробовать, так как бесплатный вариант подошел.