Принципы ИТ-профессионала из песочницы
Более 10 лет занимаясь ядрёной смесью из математики, программирования
и управления проектами – всем тем, что входит в современное понимание
Информационных Технологий — я сформулировал простые правила, которые
считаю подходящими для любого профессионала, связанного с ИТ.
Ни одна профессиональная сфера не меняется так же быстро, как информационные технологии. Раз в 2-3 года появляется что-то действительное значимое, что может серьезно изменить ландшафт разработки и требования работодателей. Когда в 2003 г. я получил на руки свой диплом о высшем образовании, платформа .Net только родилась, Scala готовился к первому релизу, XHTML виделся будущим интернета, а таких вещей как Node.js, CUDA, RoR, WPF, <добавь своё> и вовсе не существовало.
Технологии теперь умирают так же стремительно, как появляются. Когда я в 2012 г. собрался, наконец, оформить свои знания по .Net в форме официального сертификата от MS обнаружилось, что WPF и Silverlight уже неактуальны. А до этого где-то по дороге потерялась Delphi. Вечны только С и Fortran, аминь.
Обязательно учи английский язык. Все современные ИТ-технологии изобретены на Западе. Это просто факт, который не имеет никакого отношения ни к патриотизму, ни к национальным чувствам. Любая новая технология, прежде всего, обрастает англоязычным коммьюнити. И лишь небольшой процент из огромного массива высококлассной англоязычной технической литературы переводится на русский. Кроме того, со знанием языка ты всегда сможешь найти себя в международном фрилансе, если возникнет такая нужда, или получить престижное место в крупной американской корпорации (Зла, хе-хе).
Ты разрабатываешь программы под конкретные железки. Прежде чем садиться программировать, изучи их физическое устройство. Если ты не способен объяснить, как организовать данные в памяти, чтобы минимизировать количество кэш-промахов, или рассказать, что такое векторизация, или аргументировать, как можно (и можно ли) задействовать в своей программе многоядерность процессора, значит ты всё еще Govnocoder Vulgaris и должен эволюционировать дальше, пока хвост не отпадёт.
Узнай, что такое сложность алгоритма. Ты должен уметь нутром чувствовать, будет ли алгоритм эффективным или его лучше сразу сбросить со скалы, как делали в древней Спарте с не очень красивыми детьми. И не думай, что когда-нибудь «потом» ты всё сумеешь переписать правильно. «Потом» никогда не наступает.
Прочитай Кнута. Он уже давно всё придумал.
Я сказал Кнута, а не «про паттерны»!
Не позволяй себе плыть по течению, подобно известной субстанции. Попытайся понять, чего ты хочешь от жизни в данный момент и на перспективу. Если этого не сделать, то ты будешь обречен стать инструментом достижения целей для более продвинутых человеческих особей.
Рефлексия – это не ругательство. Для правильной постановки целей научись прислушиваться к себе и понимать свои внутренние мотивы. Иногда это может привести к неожиданным открытиям, которые заставят тебя вообще бросить программирование и найти для себя другое занятие. В таком случае сделай это как можно быстрее и не мучай окружающих.
Ставь правильные цели. Они должны быть вызовом и одновременно мотивировать тебя. Представь, что цель достигнута. У тебя внутри появляется кайф от этой картинки? Если ответ отрицательный – придумай другую цель. Если ничего не удаётся придумать, то ты, наверное, уже в раю.
Ставь цели правильно. Они должны быть конкретными, достижимыми (но не слишком легкими), ограниченными во времени и измеримыми. Например, нельзя сформулировать цель как
Такой способ постановки целей называется SMART, узнай о нём подробнее.
Человек устроен так, что раз в 2-3 года ему нужны перемены в окружении. Именно с такой периодичностью рекомендуется менять место работы или хотя бы её профиль. Если этого не сделать, то тебя настигнет когнитивный диссонанс, в результате которого ты ощутишь невыносимое отвращение к окружающей действительности и к самому себе. Чтобы не дать захватить себя врасплох, заранее ставь перед собой новые карьерные цели.
Считается, что карьеру айтишника можно продолжать в двух направлениях: развиваться как специалист до невообразимого уровня Архитектора Матрицы, либо идти в менеджеры. Моё мнение заключается в том, что попробовать себя в роли руководителя проекта должен каждый ИТ-профессионал. Хотя бы даже для того, чтобы понять, что это – не его тема. Умения, приобретенные в результате такого опыта, в жизни пригодятся в любом случае.
Если тебе посчастливится ощутить в себе менеджерский драйв, то лучше продолжать двигаться именно в этом направлении (честно говоря, по-другому в этом случае уже и не получается: это как наркотик). При этом имеет смысл получить дополнительное образование в области менеджмента, нехватку которого ты ощутишь очень быстро. Я, например, ни разу не пожалел о своём МВА-образовании, хотя оно и не является ИТ-ориентированным. Особое внимание рекомендую уделять развитию soft skills, т.е. умению работать с людьми и выстраивать команду. В качестве бонуса к бизнес-образованию ты получишь способность трезвым взглядом смотреть на неадекватные (в большинстве своём) отечественные стартап-проекты и профессионально развивать свой собственный.
Планирование карьеры важно начинать как можно раньше. Студентам, которые еще не выбрали для себя специализацию в ИТ, я рекомендую простой метод. Найди вакансию своей мечты. При поиске можно руководствоваться такими критериями, как: зарплата, бренд работодателя, инновационность компании и наличие печенек. Изучи список требований к кандидату. Этот список – и есть твои профессиональные цели на ближайшее время.
Помни, что любой план – это четко определенный набор действий, выполнение которых приводит к достижению конкретной цели. Зафиксируй эти действия письменно и последовательно выполняй по пунктам. План можно изменять, но нельзя отменять.
Есть простой способ классифицировать текущие дела. Начерти на плоскости 2 перпендикулярные оси. Разбей обе пополам. Половины одной оси назови «срочные» и «несрочные», половины другой – «важные» и «неважные». При правильном планировании большинство твоих дел должно располагаться в квадранте «важные»-«несрочные». Если это не так, нужно немедленно что-то менять.
Невозможно качественно работать в стрессе. Это допустимо лишь на коротком промежутке времени и при чрезвычайных обстоятельствах, которые нельзя было предвидеть заранее.
Авралы – это всегда признак плохого планирования. Если они стали нормой, значит проект либо провалится, либо его участники «сгорят» на работе. Если ты виновник этого бардака, застрелись и никогда больше никем и ничем не руководи. Если ты рядовой исполнитель- немедленно смени место работы.
Профессиональное выгорание – страшная вещь. Депрессия – это не фантомные душевные боли нежных девушек, а серьезное расстройство нервной системы. Первым признаком депрессии может являться беспричинная раздражительность по мелочам. Например, тебя вдруг начнет бесить скрип кресла коллеги-соседа (если ты с детства был психом, то этот симптом можешь проигнорировать). Такое поведение объясняется тем, что твоя нервная система из-за постоянного стресса стала неспособна реагировать на крупные раздражители. Зато все мелкие она воспринимает как сигнал к действию. Чтобы не подвергать жизнь соседа и свою собственную ненужному риску, контролируй свой распорядок и учись правильно отдыхать.
Я уже отметил недопустимость регулярных авралов. Но даже при их отсутствии любимая работа может сильно надоесть при неумеренном её потреблении. Лучший отдых от умственного труда – это спорт (нет, очкарик, не шахматы!). Займись бегом, боксом, качай тяжести – двигайся!
Но иногда даже активный отдых не помогает освободить голову от тяжких дум о нетрадиционной объектной ориентации некоторых частей кода. В дополнение к физ. культуре делай еще 2 вещи. Во-первых, регулярно общайся с близкими людьми – это поможет восстановить психологическое равновесие и душевное спокойствие. Во-вторых, как бы экзотически это ни звучало, научись медитировать. Это настолько эффективный способ поддержания умственного равновесия, что ряд ведущих бизнес-школ собирается вводить его в обязательную программу обучения.
Помни, что запущенную депрессию можно вылечить только медикаментозно. Не игнорируй своё состояние и внимательно следи за здоровьем.
Лучший способ научиться чему-то – это научить этому других. Если у тебя в компании практикуются внутренние учебные семинары, выбери подходящую тему и расскажи о ней коллегам. Если у тебя на работе принято закреплять новичков за опытными сотрудниками, возьми себе парочку стажеров. Замечательным опытом будет преподавание в ВУЗе. Лично я, кроме того, что отлично изучил преподаваемый предмет, в качестве бонуса получил супер-перк в виде умения болтать на заданную тему несколько часов подряд перед весьма требовательной аудиторией, практически не включая свой мозг.
Если ты весь из себя стеснительный, картавишь, заикаешься и боишься выступать публично, то сделай следующее. Во-первых,слезь с подоконника и закрой окно
запишись к логопеду и на курсы актерского мастерства. Во-вторых, до
устранения заикания и социофобии помогай своими советами на
профессиональных интернет-форумах (надеюсь, тебе есть, что сказать по
делу).
Помогай коллегам (даже этому соседу со скрипящим креслом). Но только если такая помощь тебя не сильно затруднит. Так ты заработаешь авторитет в коллективе, что поможет в дальнейшем карьерном росте.
В ИТ-отрасли имеется реальный дефицит классных специалистов. Ближе к областному центру всея Руси они, поэтому, могут рассчитывать на хорошую зарплату и всеобщий почет. Если тебе недостает того или другого, и ты при этом считаешь себя классным специалистом, то пора планировать собственную PR-кампанию.
Получи сертификаты по всем технологиям, которые ты используешь. Я не разделяю мнения тех, кто считает «все эти бумажки» бесполезными. Девочки-эйчары, не отличающие Java от JavaScript, – неизбежное «добро» нашей отрасли. Но даже они способны сделать правильный выбор между «человеком, который знает Java» и «сертифицированным специалистом Java от Oracle». Кроме этого, подготовка к сертификации поможет тебе систематизировать имеющие знания и получить новые.
Я отрицательно отношусь к тому, чтобы напрягать свой мозг бесплатно. Профессионал всегда должен работать за деньги, а большой профессионал – за большие деньги. Но из всего есть исключения, и это как раз тот самый случай. Поэтому начни участвовать в open source-проектах. Либо создай парочку своих.
Заведи себе блог, а лучше сделай собственный сайт (я как раз сейчас занимаюсь разработкой своего). Это отличный способ всегда быть на виду. Старайся при этом соблюдать профессиональную стилистику блога, а не постить в него котиков.
Посещай отраслевые конференции, желательно в качестве докладчика. Там вся тусовка, и полно способов завести полезные знакомства.
Напиши и опубликуй книгу. Денег она не принесет, зато будет, что подарить друзьям и показать внукам. Если книга сразу не получается, начни со статей.
Правильно оформи резюме и начинай искать работу получше.
Деловая и профессиональная репутация – это твой бесценный капитал, растранжирить который можно очень легко, а накопить бывает чрезвычайно трудно. Соблюдай ряд простых правил, которые отличают серьезных профессионалов от проходимцев разного пошиба.
Всегда держи своё слово. Если что-то пообещал – обязательно выполняй. Либо не обещай.
Будь пунктуальным. Делай всё, что обещал, в срок. Старайся никогда не опаздывать. Если случается форс-мажор, обязательно заранее предупреди ожидающих тебя людей с объяснением причин задержки.
Выгляди опрятно. Если ты еще не определился с собственным стилем и размышляешь, будет ли лучше постричься налысо и сделать пирсинг носа, либо стать блондином и надеть хипстерские штаны, то вот тебе практический совет. Посмотри на картинки и выбери что-то среднее между стилями Харви и J.D. С возрастом старайся быть ближе к Харви.
Харви думает о котиках ("Suits”)
J.D. думает о котиках ("Scrubs”)
Никогда не тр*хайся с коллегами по работе. Даже с самыми симпатичными. Проблем всегда будет больше, чем удовольствия.
Человек, не имеющий внутреннего вектора, своей непредсказуемостью похож на обезьяну с гранатой. В одних и тех же обстоятельствах он будет принимать разные решения. Кроме того, таким человеком легко манипулировать (к сожалению, только в краткосрочном периоде).
Запомни, что лучше иметь плохие принципы, чем не иметь их вовсе. При необходимости можно сработаться даже с циничным негодяем, но предсказуемым и имеющим свой оригинальный кодекс чести, чем с аморфным раздолбаем, не соблюдающим вообще никаких правил.
1. Постоянно учись
Ни одна профессиональная сфера не меняется так же быстро, как информационные технологии. Раз в 2-3 года появляется что-то действительное значимое, что может серьезно изменить ландшафт разработки и требования работодателей. Когда в 2003 г. я получил на руки свой диплом о высшем образовании, платформа .Net только родилась, Scala готовился к первому релизу, XHTML виделся будущим интернета, а таких вещей как Node.js, CUDA, RoR, WPF, <добавь своё> и вовсе не существовало.
Технологии теперь умирают так же стремительно, как появляются. Когда я в 2012 г. собрался, наконец, оформить свои знания по .Net в форме официального сертификата от MS обнаружилось, что WPF и Silverlight уже неактуальны. А до этого где-то по дороге потерялась Delphi. Вечны только С и Fortran, аминь.
Обязательно учи английский язык. Все современные ИТ-технологии изобретены на Западе. Это просто факт, который не имеет никакого отношения ни к патриотизму, ни к национальным чувствам. Любая новая технология, прежде всего, обрастает англоязычным коммьюнити. И лишь небольшой процент из огромного массива высококлассной англоязычной технической литературы переводится на русский. Кроме того, со знанием языка ты всегда сможешь найти себя в международном фрилансе, если возникнет такая нужда, или получить престижное место в крупной американской корпорации (Зла, хе-хе).
2. Знай фундаментальные основы
Ты разрабатываешь программы под конкретные железки. Прежде чем садиться программировать, изучи их физическое устройство. Если ты не способен объяснить, как организовать данные в памяти, чтобы минимизировать количество кэш-промахов, или рассказать, что такое векторизация, или аргументировать, как можно (и можно ли) задействовать в своей программе многоядерность процессора, значит ты всё еще Govnocoder Vulgaris и должен эволюционировать дальше, пока хвост не отпадёт.
Узнай, что такое сложность алгоритма. Ты должен уметь нутром чувствовать, будет ли алгоритм эффективным или его лучше сразу сбросить со скалы, как делали в древней Спарте с не очень красивыми детьми. И не думай, что когда-нибудь «потом» ты всё сумеешь переписать правильно. «Потом» никогда не наступает.
Прочитай Кнута. Он уже давно всё придумал.
Я сказал Кнута, а не «про паттерны»!
3. Ставь перед собой цели и достигай их
Не позволяй себе плыть по течению, подобно известной субстанции. Попытайся понять, чего ты хочешь от жизни в данный момент и на перспективу. Если этого не сделать, то ты будешь обречен стать инструментом достижения целей для более продвинутых человеческих особей.
Рефлексия – это не ругательство. Для правильной постановки целей научись прислушиваться к себе и понимать свои внутренние мотивы. Иногда это может привести к неожиданным открытиям, которые заставят тебя вообще бросить программирование и найти для себя другое занятие. В таком случае сделай это как можно быстрее и не мучай окружающих.
Ставь правильные цели. Они должны быть вызовом и одновременно мотивировать тебя. Представь, что цель достигнута. У тебя внутри появляется кайф от этой картинки? Если ответ отрицательный – придумай другую цель. Если ничего не удаётся придумать, то ты, наверное, уже в раю.
Ставь цели правильно. Они должны быть конкретными, достижимыми (но не слишком легкими), ограниченными во времени и измеримыми. Например, нельзя сформулировать цель как
выучить язык PHP до нового годаА вот
до 10.12.2013 успешно пройти Zend Certified PHP Developer Certification— это уже правильная формулировка.
Такой способ постановки целей называется SMART, узнай о нём подробнее.
4. Планируй свою карьеру
Человек устроен так, что раз в 2-3 года ему нужны перемены в окружении. Именно с такой периодичностью рекомендуется менять место работы или хотя бы её профиль. Если этого не сделать, то тебя настигнет когнитивный диссонанс, в результате которого ты ощутишь невыносимое отвращение к окружающей действительности и к самому себе. Чтобы не дать захватить себя врасплох, заранее ставь перед собой новые карьерные цели.
Считается, что карьеру айтишника можно продолжать в двух направлениях: развиваться как специалист до невообразимого уровня Архитектора Матрицы, либо идти в менеджеры. Моё мнение заключается в том, что попробовать себя в роли руководителя проекта должен каждый ИТ-профессионал. Хотя бы даже для того, чтобы понять, что это – не его тема. Умения, приобретенные в результате такого опыта, в жизни пригодятся в любом случае.
Если тебе посчастливится ощутить в себе менеджерский драйв, то лучше продолжать двигаться именно в этом направлении (честно говоря, по-другому в этом случае уже и не получается: это как наркотик). При этом имеет смысл получить дополнительное образование в области менеджмента, нехватку которого ты ощутишь очень быстро. Я, например, ни разу не пожалел о своём МВА-образовании, хотя оно и не является ИТ-ориентированным. Особое внимание рекомендую уделять развитию soft skills, т.е. умению работать с людьми и выстраивать команду. В качестве бонуса к бизнес-образованию ты получишь способность трезвым взглядом смотреть на неадекватные (в большинстве своём) отечественные стартап-проекты и профессионально развивать свой собственный.
Планирование карьеры важно начинать как можно раньше. Студентам, которые еще не выбрали для себя специализацию в ИТ, я рекомендую простой метод. Найди вакансию своей мечты. При поиске можно руководствоваться такими критериями, как: зарплата, бренд работодателя, инновационность компании и наличие печенек. Изучи список требований к кандидату. Этот список – и есть твои профессиональные цели на ближайшее время.
Помни, что любой план – это четко определенный набор действий, выполнение которых приводит к достижению конкретной цели. Зафиксируй эти действия письменно и последовательно выполняй по пунктам. План можно изменять, но нельзя отменять.
5. Не допускай авралов в работе
Есть простой способ классифицировать текущие дела. Начерти на плоскости 2 перпендикулярные оси. Разбей обе пополам. Половины одной оси назови «срочные» и «несрочные», половины другой – «важные» и «неважные». При правильном планировании большинство твоих дел должно располагаться в квадранте «важные»-«несрочные». Если это не так, нужно немедленно что-то менять.
Невозможно качественно работать в стрессе. Это допустимо лишь на коротком промежутке времени и при чрезвычайных обстоятельствах, которые нельзя было предвидеть заранее.
Авралы – это всегда признак плохого планирования. Если они стали нормой, значит проект либо провалится, либо его участники «сгорят» на работе. Если ты виновник этого бардака, застрелись и никогда больше никем и ничем не руководи. Если ты рядовой исполнитель- немедленно смени место работы.
6. Отдыхай
Профессиональное выгорание – страшная вещь. Депрессия – это не фантомные душевные боли нежных девушек, а серьезное расстройство нервной системы. Первым признаком депрессии может являться беспричинная раздражительность по мелочам. Например, тебя вдруг начнет бесить скрип кресла коллеги-соседа (если ты с детства был психом, то этот симптом можешь проигнорировать). Такое поведение объясняется тем, что твоя нервная система из-за постоянного стресса стала неспособна реагировать на крупные раздражители. Зато все мелкие она воспринимает как сигнал к действию. Чтобы не подвергать жизнь соседа и свою собственную ненужному риску, контролируй свой распорядок и учись правильно отдыхать.
Я уже отметил недопустимость регулярных авралов. Но даже при их отсутствии любимая работа может сильно надоесть при неумеренном её потреблении. Лучший отдых от умственного труда – это спорт (нет, очкарик, не шахматы!). Займись бегом, боксом, качай тяжести – двигайся!
Но иногда даже активный отдых не помогает освободить голову от тяжких дум о нетрадиционной объектной ориентации некоторых частей кода. В дополнение к физ. культуре делай еще 2 вещи. Во-первых, регулярно общайся с близкими людьми – это поможет восстановить психологическое равновесие и душевное спокойствие. Во-вторых, как бы экзотически это ни звучало, научись медитировать. Это настолько эффективный способ поддержания умственного равновесия, что ряд ведущих бизнес-школ собирается вводить его в обязательную программу обучения.
Помни, что запущенную депрессию можно вылечить только медикаментозно. Не игнорируй своё состояние и внимательно следи за здоровьем.
7. Помогай окружающим
Лучший способ научиться чему-то – это научить этому других. Если у тебя в компании практикуются внутренние учебные семинары, выбери подходящую тему и расскажи о ней коллегам. Если у тебя на работе принято закреплять новичков за опытными сотрудниками, возьми себе парочку стажеров. Замечательным опытом будет преподавание в ВУЗе. Лично я, кроме того, что отлично изучил преподаваемый предмет, в качестве бонуса получил супер-перк в виде умения болтать на заданную тему несколько часов подряд перед весьма требовательной аудиторией, практически не включая свой мозг.
Если ты весь из себя стеснительный, картавишь, заикаешься и боишься выступать публично, то сделай следующее. Во-первых,
Помогай коллегам (даже этому соседу со скрипящим креслом). Но только если такая помощь тебя не сильно затруднит. Так ты заработаешь авторитет в коллективе, что поможет в дальнейшем карьерном росте.
8. Пиарься
В ИТ-отрасли имеется реальный дефицит классных специалистов. Ближе к областному центру всея Руси они, поэтому, могут рассчитывать на хорошую зарплату и всеобщий почет. Если тебе недостает того или другого, и ты при этом считаешь себя классным специалистом, то пора планировать собственную PR-кампанию.
Получи сертификаты по всем технологиям, которые ты используешь. Я не разделяю мнения тех, кто считает «все эти бумажки» бесполезными. Девочки-эйчары, не отличающие Java от JavaScript, – неизбежное «добро» нашей отрасли. Но даже они способны сделать правильный выбор между «человеком, который знает Java» и «сертифицированным специалистом Java от Oracle». Кроме этого, подготовка к сертификации поможет тебе систематизировать имеющие знания и получить новые.
Я отрицательно отношусь к тому, чтобы напрягать свой мозг бесплатно. Профессионал всегда должен работать за деньги, а большой профессионал – за большие деньги. Но из всего есть исключения, и это как раз тот самый случай. Поэтому начни участвовать в open source-проектах. Либо создай парочку своих.
Заведи себе блог, а лучше сделай собственный сайт (я как раз сейчас занимаюсь разработкой своего). Это отличный способ всегда быть на виду. Старайся при этом соблюдать профессиональную стилистику блога, а не постить в него котиков.
Посещай отраслевые конференции, желательно в качестве докладчика. Там вся тусовка, и полно способов завести полезные знакомства.
Напиши и опубликуй книгу. Денег она не принесет, зато будет, что подарить друзьям и показать внукам. Если книга сразу не получается, начни со статей.
Правильно оформи резюме и начинай искать работу получше.
9. Дорожи репутацией
Деловая и профессиональная репутация – это твой бесценный капитал, растранжирить который можно очень легко, а накопить бывает чрезвычайно трудно. Соблюдай ряд простых правил, которые отличают серьезных профессионалов от проходимцев разного пошиба.
Всегда держи своё слово. Если что-то пообещал – обязательно выполняй. Либо не обещай.
Будь пунктуальным. Делай всё, что обещал, в срок. Старайся никогда не опаздывать. Если случается форс-мажор, обязательно заранее предупреди ожидающих тебя людей с объяснением причин задержки.
Выгляди опрятно. Если ты еще не определился с собственным стилем и размышляешь, будет ли лучше постричься налысо и сделать пирсинг носа, либо стать блондином и надеть хипстерские штаны, то вот тебе практический совет. Посмотри на картинки и выбери что-то среднее между стилями Харви и J.D. С возрастом старайся быть ближе к Харви.
Харви думает о котиках ("Suits”)
J.D. думает о котиках ("Scrubs”)
Никогда не тр*хайся с коллегами по работе. Даже с самыми симпатичными. Проблем всегда будет больше, чем удовольствия.
10. Всегда придерживайся своих принципов
Человек, не имеющий внутреннего вектора, своей непредсказуемостью похож на обезьяну с гранатой. В одних и тех же обстоятельствах он будет принимать разные решения. Кроме того, таким человеком легко манипулировать (к сожалению, только в краткосрочном периоде).
Запомни, что лучше иметь плохие принципы, чем не иметь их вовсе. При необходимости можно сработаться даже с циничным негодяем, но предсказуемым и имеющим свой оригинальный кодекс чести, чем с аморфным раздолбаем, не соблюдающим вообще никаких правил.