Знаете – это как разница между большой организованной мафией с доном во главе, и шайкой хулиганов из неблагополучного района.
Культура компании, это главное отличие большой компании в работе, подходе, отношении и организации какого бы то ни было процесса, в ходе которого нужно стремится к результату.
Порассуждаем о размерах самих IT компаний и как это влияет на выполняемые работы.
Большие IT компании – это своеобразное братство, где формируется своя культура, религия (кстати, большинство программистов явные атеисты), свой подход, своё отношение к жизни. Программисты в большинстве своём ещё те пофигисты, и в больших компаниях уровень пофигизма растёт пропорционально размеру этой самой компании. Раньше я считала, что программисты – это творческие люди, к сожалению, я ошибалась.
Почему к сожалению?
Потому, что количество ошибок, свершившихся по причине именно этого искажённого представления, прямо пропорционально потере денег, явившихся следствием именно этого заблуждения.
Творческие люди – это тело на 99,9%, заряженное эмоцией, в то время как разработчик вдоль и поперёк заряжен прагматизмом, на эмоции его не прошибёшь. Вот именно поэтому попытка доказать, например, что Бог есть, никак не укладывается в логику алгоритмических уравнений, которыми сплошь напичкана голова разработчика. Конечно, проще думать, что человек произошёл от обезьяны, и ведом по жизни базовыми инстинктами. Именно поэтому закон сохранения энергии так важен в IT сфере, в противном случае эмоциональное выгорание не за горами.
– Серьёзное отношение к чему бы то ни было в этом мире является роковой ошибкой.
– А жизнь – это серьёзно?
– О да, жизнь – это серьёзно! Но не очень…
«Алиса в стране чудес» Льюис Кэрролл
Маленькие IT компании – это небольшие демократические государства, тоталитаризмом тут не пахнет, каждый работник на вес золота. Главное, чтобы работа была, и тогда все довольны, что заняты.
Вполне вероятно, что разработчики делятся на три категории, это те, кто стремится работать сам на себя, те кто хотят работать в небольших компаниях, и те, кто хочет входить в большую огромную структуру.
Впрочем, вполне вероятно, в категории любых профессий можно разделить сотрудников поэтому же принципу.
Одно могу сказать точно, что в большой компании человек быстрее утомляется и выгорает. Работать в толпе, постоянно стремясь к неведомому идеалу, испытание не для слабонервных.
Постоянные подталкивания в спину, мол давай, беги быстрее, а то за всеми не успеешь, психологическое давление, постоянные соревнования и конкурсы, кто в компании круче.
Вы видели, как проходят беговые марафоны для любителей, когда вся толпа дружно рванула с места и потом разделилась на тех, кто быстрее, и на остальных догоняющих. Так вот, большая компания – это такой же марафон, только не на один день, и бегать в этом забеге нужно ежедневно без выходных и отдыха.
«Нужно бежать со всех ног, чтобы только оставаться на месте, а, чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!»
«Алиса в стране чудес» Льюис Кэрролл
Хотя не исключаю момента, что люди разные и кому-то такие ежедневные нервные марафоны в кайф, но здоровье всё-таки у человека не железное и от такого бега, очень долго потом придётся лечиться.
Для программиста идеальным состоянием является состояние покоя и концентрации, чего очень сложно достичь, работая штатным сотрудником, но работая в одиночном режиме ситуация не лучше, надо искать клиентов, что может утомлять не меньше чем назойливые звонки товарищей по работе.
Для чего мы всё это тут философствуем, именно для того, что, когда любая из сторон обозначает своё намерение к сотрудничеству, необходимо обязательно сопоставить размеры, прежде чем подписывать договорные условия.
Сравним ситуацию выполнения одного и того же задания слоном и медведем. Где в роли слона будет большая корпорация, а в роли медведя одиночный программист.
Поставим одинаковую задачу, например, перетащить ветки поваленного крупного дерева в джунглях из одного места в другое.
Представили?
А теперь представьте, как каждое из животных будет выполнять свою работу.
Понимаете, что по-разному. А ещё им надо договориться о синергии и эффективной коммуникации.
Тяжело это будет, и в жизни практически не реализуемо.
Поэтому, принимая решения о старте проекта, очень важно сопоставить свои потребности и возможности с потребностями и возможностями другой стороны, дабы не получить потом полное разочарование из-за несостоявшегося результата и демотивированных людей.
Глава 3. Программисты не вечны, и вы тоже.
«Если бы каждый человек занимался своим делом, Земля бы вертелась быстрее».
«Алиса в стране чудес» Льюис Кэрролл
Не поймите мои слова превратно, однако в этой главе необходимо разъяснить вопрос, прежде чем вы кинетесь в омут реализации любого IT проекта.
Возомнить себя новым Стивом Джобсом легко, но вот потом удариться головой об суровую реальность твёрдую как бетон, очень больно.
Знаешь, одна из самых серьезных потерь в битве – это потеря головы.
«Алиса в стране чудес» Льюис Кэрролл
Однозначно, что тысячи компаний провалили тысячи проектов просто по причине того, что не провели предварительное исследование, Research.
Research – англ. исследование. Сленговое слово, означающее процесс поиска исходного материала, который в дальнейшем будет использован в проекте.
Research – подразумевает сбор информации по всем вопросам проекта, в т.ч. информацию о рынке конкретного продукта.
Задача такого исследования – анализ внутренней и внешней среды предприятия и подготовка на этой основе информации, необходимой для принятия решений, касающихся нового проекта
Без исследования не будет технического задания, конкретных сроков, и не будет определён хотя бы приблизительно бюджет.
Особенно остро этот вопрос касается планирования реальных сроков реализации, включая и оптимизацию кода с разработчиками, которые его, этот самый код написали.
Для начала поговорим о сроках, которые вы сами себе прикидываете перед тем как обозначить на календаре красным флажком дату окончания и получения результата проекта.
План, что и говорить, был превосходный: простой и ясный, лучше не придумать. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение.
Алиса в стране чудес Льюис Кэрролл
В своей предыдущей книге: «Если бы программисты строили дом, или Как не потерять миллионы в IT-проектах» (если не читали, то конечно же рекомендую), я касалась вопроса нездорового оптимизма разработчиков в отношении сроков выполняемой работы. И это даже при том, что программист может быть с ого-го каким опытом, но это не мешает ему затянуть срок выполнения работы минимум в два раза, и это как «здрасьте».
Раньше я наивно полагала, что этой болезни подвержены только новички, но нет, даже те, кто в сфере программирования более 15 лет, всё так же выставляют крайний срок реализации, совершенно не соответствующий реальности.
Можно ругаться, психовать, угрожать, танцевать и разбрасывать деньги сверху, как арабский принц на танцовщицу, никакие способы вас не спасут от того, что сроки не будут выполнены.
ЗАПОМНИТЕ, ЧТО В 99,9999999% СРОКИ IT ПРОЕКТОВ НЕ ВЫПОЛНЯЮТСЯ, И ПЕРЕДВИГАЮТСЯ НА БОЛЕЕ ПОЗДНИЕ ДАТЫ!
Кроме нервного потрясения от вашего волнения вы ещё получите выгоревшего и немотивированного разработчика. Особенно опасным мероприятием является затея в последний день перед сдачей заказчику выжимать из программиста все соки до самого утра.