Несколько лет я писал код, а мне за это платили. За это время я узнал о некоторых неприятных вещах, касающихся работы программиста. Мне всегда хотелось написать об этом. Надеюсь, вы понимаете, что я рассказываю вам всё это не для того, чтобы вас расстроить. Я считаю эту статью особым нигилистическим подарком для всех, кто готов такой подарок принять.
![](https://habrastorage.org/r/w780q1/webt/ey/7v/xr/ey7vxrhzc9vwxh-i7hay8aus0em.jpeg)
Материал я построил так: сначала, в заголовке раздела, я кратко описываю сделанное мной неприятное наблюдение, потом привожу истории из жизни, обзор ситуации, рассказываю о том, что с ней связано, и завершаю раздел краткими выводами. Читая этот материал, помните о том, что в мире существует баланс между белым и чёрным, между хорошим и плохим.
Когда я учился в колледже, все говорили о том, что нужно учить Java, что тот, кто знает этот язык, легко найдёт работу. А мне Java не нравился. Мне всегда казалось, что я занимаюсь чем-то не тем. Но потом я наткнулся на JavaScript. Мне, неопытному программисту, тогда показалось, что этот язык очень похож на язык С, который мне всегда очень нравился. Теперь-то я знаю, что JavaScript больше похож не на C, а на Lisp.
В результате я начал изучать JavaScript. В итоге я начал работать веб-разработчиком. Я видел массу JS-проектов, которыми занимаются люди, совершенно не понимающие того, как работает JS. Кроме того, я видел множество менеджеров, которые не хотят нанимать JS-специалистов до тех пор, пока у них просто не остаётся другого выбора. Именно поэтому, по крайней мере в моей стране, JS-специалисты высшего класса получают в 1,5 — 2 раза больше, чем Java-программисты сравнимого уровня.
Вот запись выступления Дональда Кнута, в котором он советует не следовать трендам.
А вот — отрывок моего любимого стихотворения из англоязычной поэзии, написанного Робертом Фростом:
Еще я вспомню когда-нибудь
Далекое это утро лесное:
Ведь был и другой предо мною путь,
Но я решил направо свернуть —
И это решило все остальное.
Недостаток специалистов в той сфере, в которой вы хорошо разбираетесь, повышает вашу ценность.
Это наблюдение, в общем-то, согласуется со здравым смыслом. Люди, с которыми мы проводим много времени, обычно не становятся нашими друзьями. Конечно, и на работе можно встретить настоящего друга, но это маловероятно. Есть люди, готовые пойти на любую низость ради чего-то, влияющего на их положение на службе. Поэтому не удивляйтесь, столкнувшись на работе с нечистыми помыслами коллег, со скрытым противодействием осуществлению ваших планов или с ложью.
Для того чтобы показать подобную ситуацию, я нашёл одну сцену из сериала «Малкольм в центре внимания». Тут членам семьи становится известно о том, что учитель Риза держит на него зуб и ставит ему низкую оценку, не прочтя его контрольную работу. Такое может произойти и в рабочем коллективе, когда роль учителя будет играть некий менеджер, а роль Риза какой-нибудь программист.
Следите за тем, что делаете и что говорите. Среди ваших коллег могут найтись люди, которые готовы использовать против вас всё что угодно.
В моей стране, чтобы выпуститься из колледжа, надо бесплатно поработать 6 месяцев. Обычно это — работа в государственных учреждениях. Это называется «общественно-полезной деятельностью». Я, занимаясь моей «деятельностью», создал проект, который через несколько месяцев был представлен как нечто, сделанное кем-то другим.
Я, работая в консалтинговой компании, обнаружил недостаток в одном модуле, который использовался во множестве проектов. Не хочу вдаваться в детали. Скажу лишь, что после того, как я это исправил, производительность выросла на 40%, а затраты на серверные ресурсы на 30% сократились. После этого руководитель компании дал моему непосредственному начальнику повышение и прибавку к зарплате. Печальная история.
Я работал в продуктовой компании. В коде одного из проектов этой компании была ошибка, которую многие программисты пытались исправить уже около 5 месяцев. Настал мой черёд попробовать с ней справиться. Я создал форк опенсорсного проекта, на котором был основан проект компании. После этого я воссоздал весь модуль и обнаружил, что в официальной документации были ошибки, и что некоторые формулы были неверны. Выяснив это, я предложил решение проблемы.
Потом мой начальник предложил мне пойти к руководителю компании и объяснить предложенное мной решение, так как компания собиралась купить множество лицензий на проприетарное ПО для того чтобы обойти эту ошибку. Когда мы уходили из кабинета директора, мой начальник сказал ему, что у него есть решение, которое лучше моего, и что то, о чём я говорю, всего лишь идея. Когда мы вышли, я спросил начальника о том, какое именно «другое решение» он предлагает. На что он ответил: «Нет другого решения. Мы собираемся использовать твоё».
Не хочу плохо думать о людях, но я уверен, что мой начальник поступил именно так неспроста. Если я всё сделал правильно, он сможет заработать очков у руководства, а если я ошибался — сможет свалить вину на меня. Ведь идею-то предложил я. В итоге ошибка была исправлена с использованием моего предложения и все забыли о том, что эта ошибка полгода представляла собой главную проблему проекта.
Будьте готовы защищать свою работу. Используйте в качестве подтверждения того, что что-то сделали именно вы, электронные письма и системы контроля версий. Всегда документируйте то, что делаете.
Это — нечто вроде неписанного правила компаний, занимающихся разработкой софта. Я совершил эту ошибку. На первой работе я сказал руководителю о том, что иду на собеседование. Он всеми силами старался нарушить мои планы, постоянно звонил мне во время собеседования, нагрузил меня дополнительной работой. Я стал жертвой и других гадостей. Например, у меня забрали пропуск и я не смог войти в здание.
Кроме того, если в компании становится известно о том, что вы подумываете об уходе, и случится так, что нужно будет кого-то уволить, вы будете первым кандидатом на вылет. Хуже всего в такой ситуации то, что в том месте, куда вы собрались перебраться, вас могут так и не принять. Иногда люди остаются без работы именно из-за таких вот «несостыковок». Я знаю многих программистов, которые попадали в подобные ситуации. Я сказал бы, что каждый год я слышу пару таких историй, когда кто-то пытается перейти в другое место, а потом что-то идёт не так и человек остаётся вообще без работы.
Постарайтесь, чтобы никто в организации, где вы работаете, не знал бы о том, что вы ищете новую работу. Если вам нужно проходить собеседования — делайте это в выходные, или отпроситесь и уйдите с работы пораньше. Говорить о чём-то можно только в том случае, если имеется уверенность в том, что на новом месте вас примут. То есть — в момент, когда вам сделали предложение и вы обсуждаете с новым работодателем детали. Кроме прочего, нового работодателя нужно попросить о том, чтобы он дал бы вам время на приведение в порядок дел на вашей текущей работе.
Каждый, кто достаточно долго работает в сфере информационных технологий, знает о том, что чаще всего наличие сертификатов ничего не говорит о реальном уровне подготовленности кандидата на некую вакансию. Я знаю об этом не понаслышке, мне доводилось нанимать сотрудников и создавать годовые бизнес-планы с владельцами нескольких компаний.
Когда речь идёт о поиске программистов для Java-проектов, тут творится полный беспредел, так как в этой сфере сертификаты достаточно жёстко стандартизированы. В результате менеджеры, если им попадается разработчик, производительность труда которого их не устраивает, просто просят подобрать кого-то ещё с такими же сертификатами. Так всё и делается. Хуже всего в этом то, что иногда при такой системе подбора персонала упускают отличных программистов с многолетним опытом, заменяя их на только что отучившихся новичков, создающих менее качественные программы.
Процитируют Марка Твена: «Существуют три вида лжи: ложь, наглая ложь и статистика». Слово «статистика» в этой цитате я хотел бы заменить словом «сертификация».
Вот — видеозапись, в которой Кент Бек критикует сертификацию по SCRUM.
Сертификация не способна заменить тяжёлую и вдумчивую работу. Даже документы об образовании не заменят опыта, получаемого в процессе такой работы. Профессиональные качества людей надо оценивать по результатам их труда и ни по чему другому.
Типичный пример такой вот неловкой ситуации — это когда начальник застаёт подчинённого за просмотром мемов с Doge и видео с котятами. В прошлом году это случилось со мной, когда меня застукали за просмотром концерта Red Hot Chili Peppers у пирамиды Хеопса.
Но такое вот «заглядывание» — это не самое неприятное. Если достаточно долго повращаться в кругах менеджеров, можно узнать о том, что многие компании устанавливают на всех имеющихся у них компьютерах трекеры рабочего времени, которые наблюдают за поведением сотрудников. В результате компания может знать о том, сколько времени люди тратят на реальную работу. У компаний, в результате, имеется практически исчерпывающая информация, касающаяся того, чем именно занимается их персонал. С технической точки зрения корпоративные компьютеры принадлежат компаниям, а не их сотрудникам, поэтому на этих компьютерах, всё же, надо заниматься работой, а не чем попало.
Всегда будьте профессионалом — и в офисе, и за его пределами. Особенно, если используете корпоративные устройства. Дело в том, что, пользуясь такими устройствами, вы никогда точно не будете знать о том, кто наблюдает за тем, что вы делаете. И, кстати, всегда выходите из свой системной учётной записи, отходя от компьютера.
Единственная причина, по которой инвесторы компаний тратят большие деньги на оборудование прекрасных офисов и на плюшки для сотрудников, заключается в том, что они хотят чтобы сотрудники сделали их богаче. То, что людям нужны удобные рабочие места, по сути, никого не волнует.
Страстное увлечение работой — это прекрасно, но не стоит забывать о том, что это — бизнес, и о том, что всё тут крутится вокруг денег.
Я видел, как один руководитель компании, являющийся и её основателем, был уволен из-за того, что не смог сделать компанию более прибыльной. Она, в течение 5 лет подряд, показывала стабильный ежегодный рост на 40%. За это время число её сотрудников выросло с 40 до 500. Это были потрясающие цифры, прекрасные для любого бизнеса, но инвесторы были обеспокоены медленным возвратом своих вложений. У кого-то из них появилась мысль о том, что хорошо было бы подыскать «более способного руководителя компании». Потом из компании ушёл основатель. Последнее, что я знаю об этой компании — это то, что она оказалась в ситуации, когда никто в ней не знал о том, как именно работает её продукт. За год она не выпустила ничего нового и её начали покидать сотрудники, даже те, которых наняли недавно.
Иногда вы и ваша команда добиваетесь прекрасных результатов. Но, к сожалению, реальные владельцы компании об этом не знают. В итоге они принимают неправильные решения. Не берите это на свой счёт и не будьте слишком строги к себе.
Только что я рассказал вам о некоторых неприятных наблюдениях, сделанных мной во время работы в индустрии разработки программного обеспечения.
Вспоминая всё это, я думал о людях, которые полагают, что программистом быть очень просто. Они так считают, вероятно, думая, что программисты легче, чем другие специалисты, находят высокооплачиваемую работу. Или, возможно, из-за того, что у программистов, по их мнению, не жизнь, а мечта. Но это не совсем так. Быть хорошим программистом — это значит много и серьёзно работать.
Сталкивались ли вы на практике с чем-то, похожим на то, о чём говорит автор этой статьи?
![](https://habrastorage.org/r/w1560/webt/ou/g5/kh/oug5kh6sjydt9llengsiebnp40w.png)
![](https://habrastorage.org/webt/ey/7v/xr/ey7vxrhzc9vwxh-i7hay8aus0em.jpeg)
Материал я построил так: сначала, в заголовке раздела, я кратко описываю сделанное мной неприятное наблюдение, потом привожу истории из жизни, обзор ситуации, рассказываю о том, что с ней связано, и завершаю раздел краткими выводами. Читая этот материал, помните о том, что в мире существует баланс между белым и чёрным, между хорошим и плохим.
1. Чем сильнее вы следуете техническим трендам — тем легче вас заменить
▍История из жизни
Когда я учился в колледже, все говорили о том, что нужно учить Java, что тот, кто знает этот язык, легко найдёт работу. А мне Java не нравился. Мне всегда казалось, что я занимаюсь чем-то не тем. Но потом я наткнулся на JavaScript. Мне, неопытному программисту, тогда показалось, что этот язык очень похож на язык С, который мне всегда очень нравился. Теперь-то я знаю, что JavaScript больше похож не на C, а на Lisp.
В результате я начал изучать JavaScript. В итоге я начал работать веб-разработчиком. Я видел массу JS-проектов, которыми занимаются люди, совершенно не понимающие того, как работает JS. Кроме того, я видел множество менеджеров, которые не хотят нанимать JS-специалистов до тех пор, пока у них просто не остаётся другого выбора. Именно поэтому, по крайней мере в моей стране, JS-специалисты высшего класса получают в 1,5 — 2 раза больше, чем Java-программисты сравнимого уровня.
▍Идеи, связанные с основным наблюдением
Вот запись выступления Дональда Кнута, в котором он советует не следовать трендам.
А вот — отрывок моего любимого стихотворения из англоязычной поэзии, написанного Робертом Фростом:
Еще я вспомню когда-нибудь
Далекое это утро лесное:
Ведь был и другой предо мною путь,
Но я решил направо свернуть —
И это решило все остальное.
▍Выводы
Недостаток специалистов в той сфере, в которой вы хорошо разбираетесь, повышает вашу ценность.
2. Коллеги по работе — это не ваши друзья
▍Обзор ситуации
Это наблюдение, в общем-то, согласуется со здравым смыслом. Люди, с которыми мы проводим много времени, обычно не становятся нашими друзьями. Конечно, и на работе можно встретить настоящего друга, но это маловероятно. Есть люди, готовые пойти на любую низость ради чего-то, влияющего на их положение на службе. Поэтому не удивляйтесь, столкнувшись на работе с нечистыми помыслами коллег, со скрытым противодействием осуществлению ваших планов или с ложью.
▍Идеи, связанные с основным наблюдением
Для того чтобы показать подобную ситуацию, я нашёл одну сцену из сериала «Малкольм в центре внимания». Тут членам семьи становится известно о том, что учитель Риза держит на него зуб и ставит ему низкую оценку, не прочтя его контрольную работу. Такое может произойти и в рабочем коллективе, когда роль учителя будет играть некий менеджер, а роль Риза какой-нибудь программист.
▍Выводы
Следите за тем, что делаете и что говорите. Среди ваших коллег могут найтись люди, которые готовы использовать против вас всё что угодно.
3. Ваш начальник поставит себе в заслугу то, что достигнуто вашим трудом
▍Первая история из жизни
В моей стране, чтобы выпуститься из колледжа, надо бесплатно поработать 6 месяцев. Обычно это — работа в государственных учреждениях. Это называется «общественно-полезной деятельностью». Я, занимаясь моей «деятельностью», создал проект, который через несколько месяцев был представлен как нечто, сделанное кем-то другим.
▍Вторая история из жизни
Я, работая в консалтинговой компании, обнаружил недостаток в одном модуле, который использовался во множестве проектов. Не хочу вдаваться в детали. Скажу лишь, что после того, как я это исправил, производительность выросла на 40%, а затраты на серверные ресурсы на 30% сократились. После этого руководитель компании дал моему непосредственному начальнику повышение и прибавку к зарплате. Печальная история.
▍Третья история из жизни
Я работал в продуктовой компании. В коде одного из проектов этой компании была ошибка, которую многие программисты пытались исправить уже около 5 месяцев. Настал мой черёд попробовать с ней справиться. Я создал форк опенсорсного проекта, на котором был основан проект компании. После этого я воссоздал весь модуль и обнаружил, что в официальной документации были ошибки, и что некоторые формулы были неверны. Выяснив это, я предложил решение проблемы.
Потом мой начальник предложил мне пойти к руководителю компании и объяснить предложенное мной решение, так как компания собиралась купить множество лицензий на проприетарное ПО для того чтобы обойти эту ошибку. Когда мы уходили из кабинета директора, мой начальник сказал ему, что у него есть решение, которое лучше моего, и что то, о чём я говорю, всего лишь идея. Когда мы вышли, я спросил начальника о том, какое именно «другое решение» он предлагает. На что он ответил: «Нет другого решения. Мы собираемся использовать твоё».
Не хочу плохо думать о людях, но я уверен, что мой начальник поступил именно так неспроста. Если я всё сделал правильно, он сможет заработать очков у руководства, а если я ошибался — сможет свалить вину на меня. Ведь идею-то предложил я. В итоге ошибка была исправлена с использованием моего предложения и все забыли о том, что эта ошибка полгода представляла собой главную проблему проекта.
▍Выводы
Будьте готовы защищать свою работу. Используйте в качестве подтверждения того, что что-то сделали именно вы, электронные письма и системы контроля версий. Всегда документируйте то, что делаете.
4. Если вы сообщите кому-нибудь о том, что планируете уволиться, компания станет вашим врагом
▍Обзор ситуации
Это — нечто вроде неписанного правила компаний, занимающихся разработкой софта. Я совершил эту ошибку. На первой работе я сказал руководителю о том, что иду на собеседование. Он всеми силами старался нарушить мои планы, постоянно звонил мне во время собеседования, нагрузил меня дополнительной работой. Я стал жертвой и других гадостей. Например, у меня забрали пропуск и я не смог войти в здание.
Кроме того, если в компании становится известно о том, что вы подумываете об уходе, и случится так, что нужно будет кого-то уволить, вы будете первым кандидатом на вылет. Хуже всего в такой ситуации то, что в том месте, куда вы собрались перебраться, вас могут так и не принять. Иногда люди остаются без работы именно из-за таких вот «несостыковок». Я знаю многих программистов, которые попадали в подобные ситуации. Я сказал бы, что каждый год я слышу пару таких историй, когда кто-то пытается перейти в другое место, а потом что-то идёт не так и человек остаётся вообще без работы.
▍Выводы
Постарайтесь, чтобы никто в организации, где вы работаете, не знал бы о том, что вы ищете новую работу. Если вам нужно проходить собеседования — делайте это в выходные, или отпроситесь и уйдите с работы пораньше. Говорить о чём-то можно только в том случае, если имеется уверенность в том, что на новом месте вас примут. То есть — в момент, когда вам сделали предложение и вы обсуждаете с новым работодателем детали. Кроме прочего, нового работодателя нужно попросить о том, чтобы он дал бы вам время на приведение в порядок дел на вашей текущей работе.
5. Сертификация == пустая трата времени
▍Обзор ситуации
Каждый, кто достаточно долго работает в сфере информационных технологий, знает о том, что чаще всего наличие сертификатов ничего не говорит о реальном уровне подготовленности кандидата на некую вакансию. Я знаю об этом не понаслышке, мне доводилось нанимать сотрудников и создавать годовые бизнес-планы с владельцами нескольких компаний.
Когда речь идёт о поиске программистов для Java-проектов, тут творится полный беспредел, так как в этой сфере сертификаты достаточно жёстко стандартизированы. В результате менеджеры, если им попадается разработчик, производительность труда которого их не устраивает, просто просят подобрать кого-то ещё с такими же сертификатами. Так всё и делается. Хуже всего в этом то, что иногда при такой системе подбора персонала упускают отличных программистов с многолетним опытом, заменяя их на только что отучившихся новичков, создающих менее качественные программы.
▍Идеи, связанные с основным наблюдением
Процитируют Марка Твена: «Существуют три вида лжи: ложь, наглая ложь и статистика». Слово «статистика» в этой цитате я хотел бы заменить словом «сертификация».
Вот — видеозапись, в которой Кент Бек критикует сертификацию по SCRUM.
▍Выводы
Сертификация не способна заменить тяжёлую и вдумчивую работу. Даже документы об образовании не заменят опыта, получаемого в процессе такой работы. Профессиональные качества людей надо оценивать по результатам их труда и ни по чему другому.
6. Коллеги и начальство всегда норовят взглянуть на экран вашего компьютера, а иногда этим не ограничиваются
▍Обзор ситуации
Типичный пример такой вот неловкой ситуации — это когда начальник застаёт подчинённого за просмотром мемов с Doge и видео с котятами. В прошлом году это случилось со мной, когда меня застукали за просмотром концерта Red Hot Chili Peppers у пирамиды Хеопса.
Но такое вот «заглядывание» — это не самое неприятное. Если достаточно долго повращаться в кругах менеджеров, можно узнать о том, что многие компании устанавливают на всех имеющихся у них компьютерах трекеры рабочего времени, которые наблюдают за поведением сотрудников. В результате компания может знать о том, сколько времени люди тратят на реальную работу. У компаний, в результате, имеется практически исчерпывающая информация, касающаяся того, чем именно занимается их персонал. С технической точки зрения корпоративные компьютеры принадлежат компаниям, а не их сотрудникам, поэтому на этих компьютерах, всё же, надо заниматься работой, а не чем попало.
▍Выводы
Всегда будьте профессионалом — и в офисе, и за его пределами. Особенно, если используете корпоративные устройства. Дело в том, что, пользуясь такими устройствами, вы никогда точно не будете знать о том, кто наблюдает за тем, что вы делаете. И, кстати, всегда выходите из свой системной учётной записи, отходя от компьютера.
7. Офис — прекрасное место (прямо как в фильмах!)
▍Обзор ситуации
Единственная причина, по которой инвесторы компаний тратят большие деньги на оборудование прекрасных офисов и на плюшки для сотрудников, заключается в том, что они хотят чтобы сотрудники сделали их богаче. То, что людям нужны удобные рабочие места, по сути, никого не волнует.
▍Выводы
Страстное увлечение работой — это прекрасно, но не стоит забывать о том, что это — бизнес, и о том, что всё тут крутится вокруг денег.
8. Всё будет хорошо до тех пор, пока инвесторы получают ожидаемый доход. В противном случае небеса могут превратиться в ад
▍История из жизни
Я видел, как один руководитель компании, являющийся и её основателем, был уволен из-за того, что не смог сделать компанию более прибыльной. Она, в течение 5 лет подряд, показывала стабильный ежегодный рост на 40%. За это время число её сотрудников выросло с 40 до 500. Это были потрясающие цифры, прекрасные для любого бизнеса, но инвесторы были обеспокоены медленным возвратом своих вложений. У кого-то из них появилась мысль о том, что хорошо было бы подыскать «более способного руководителя компании». Потом из компании ушёл основатель. Последнее, что я знаю об этой компании — это то, что она оказалась в ситуации, когда никто в ней не знал о том, как именно работает её продукт. За год она не выпустила ничего нового и её начали покидать сотрудники, даже те, которых наняли недавно.
▍Выводы
Иногда вы и ваша команда добиваетесь прекрасных результатов. Но, к сожалению, реальные владельцы компании об этом не знают. В итоге они принимают неправильные решения. Не берите это на свой счёт и не будьте слишком строги к себе.
Итоги
Только что я рассказал вам о некоторых неприятных наблюдениях, сделанных мной во время работы в индустрии разработки программного обеспечения.
Вспоминая всё это, я думал о людях, которые полагают, что программистом быть очень просто. Они так считают, вероятно, думая, что программисты легче, чем другие специалисты, находят высокооплачиваемую работу. Или, возможно, из-за того, что у программистов, по их мнению, не жизнь, а мечта. Но это не совсем так. Быть хорошим программистом — это значит много и серьёзно работать.
Сталкивались ли вы на практике с чем-то, похожим на то, о чём говорит автор этой статьи?
![](https://habrastorage.org/webt/ou/g5/kh/oug5kh6sjydt9llengsiebnp40w.png)