Мощный рывок вперед. Развитие профессиональных навыков

Следующий ключевой пункт, на который следует обратить внимание, - это актуальность. IT развивается абсолютно бешено и замедляться не планирует. Можно писать замечательные консольные программы на паскале, но только вряд ли они найдут благодарных пользователей. Все потому, что средства разработки совершенствуются постоянно. Та область, в которой сегодня Вы - пионер, завтра будет использоваться миллионами. То, что сегодня используется миллионами, завтра станет вчерашним днем и отправится в утиль. Нужно постоянно держать руку на пульсе, чтобы в один прекрасный день не оказаться в аутсайдерах.
На самом деле следить за технологиями не так уж и сложно. В IT, как и везде, все новое - это хорошо забытое старое. Нельзя сказать, что за последние годы в программировании появилось нечто принципиально новое, кардинально отличающееся от всего известного ранее. Все, что человек придумывает, основывается на его предыдущем опыте. Секрет в том, что помимо чьих-то там технологий есть Ваш личный опыт, собственная база знаний и технический склад ума, которые от Вас никуда не денутся. И если Вы обладаете этим бесценным багажом, то оставаться в авангарде информационных технологий оказывается вовсе и не сложно. Книги must read
Мы уже писали, почему книги не работают в случае обучения программированию. Тем не менее, есть литература, которая обязательно должна быть прочитана любым уважающим себя программистом. Это книги, в которых концентрация полезных знаний зашкаливает. Поэтому, даже если после прочтения у Вас в голове останется 5% изложенной информации, это уже поднимет Вас, как специалиста на новую ступень. На самом деле, хороших книг много, но эти - просто жемчужина литературы об IT:
  1. Искусство программирования. Дональд Э. Кнут Объектно-ориентированный анализ и проектирование. Гради Буч
  2. Совершенный код (Code Complete). Стив Макконел.
  3. Мифический человеко-месяц или Как создаются программные системы. Хилл Чапел, Фредерик Брукс
  4. Приемы объектно-ориентированного проектирования (Паттерны проектирования). Э.Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилес.
Эти книги не о конкретных языках, они о том, КАК надо писать программы, КАК надо строить процесс разработки, КАК проектировать свое ПО.
Умение искать, отфильтровывать и использовать информацию
Учитесь четче видеть детали проблемы, с которой столкнулись. Выделяйте подпункты проблемы, если это возможно, и старайтесь максимально конкретизировать причину проблемы. Админам часто приходится решать проблемы сотрудников компании, сформулированные примерно так: «у меня что-то там в компьютере не работает». Админ приходит и видит, что «что-то там в компьютере» - это синий экран смерти при загрузке с кодом 0х000000В4. Если админ раньше не сталкивался с такой ошибкой, он идет и ищет информацию в интернете конкретно по этому коду и решает проблему в течение получаса. Просто нужно четко сформулировать проблему, система же нам сама пытается её подсказать, выдавая код ошибки. А вот на уровне «в компьютере что-то..» ничего решить нельзя.
Если написанная программа дает сбой, значит лезем в дебагер и отлаживаем. Если падает чей-то софт, значит смотрим логи, если они есть. Если их нет - стараемся детально установить, при каких обстоятельствах происходит сбой. Если выяснения ещё не привели к решению, то ищем его в интернете, при этом четко указываем проблему. Поверьте, в 99,9% случаев Вы не первый, кто с этой ошибкой сталкивается, и решения давно уже предложены на различных форумах. Конечно в англоязычном Интернете информации на порядок больше. Вообще, если хотите быть хорошим программистом, то чтение технической литературы на английском не должно вызывать проблем. Хотя бы на уровне форумов.
Пошаговая инструкция развития
Мы прочитали уйму книжек, которые вроде как какую-то идею передают, а инструментов реализации не предлагают.
Это с одной стороны наша проблема, что мы не можем прочитанное перевести из разряда теории в практику, но с другой, авторы таких произведений могли бы и побольше внимания уделить описанию именно практической стороны дела.
Дабы такой ошибки избежать в этой книге мы Вам предлагаем уникальный пошаговый план развития программиста от новичка до настоящего гуру.
А область это широка неимоверно, и, соответственно, знаний всякого рода также огромное число. Так вот, здесь мы попытались расставить их в том порядке, в котором они по- настоящему необходимы программисту по мере его профессионального роста. То есть, к примеру, если Вы сейчас являетесь студентом, который подрабатывает на своей первой в жизни работе, Вам нет необходимости забивать голову материалами о риск-менеджменте в области ИТ-проектов. Это полезная информация, но сейчас есть нечто более важное, что Вам необходимо узнать. Со временем доберетесь и до этого, но только если преодолеете все предыдущие ступени развития.
Сразу оговоримся, шаги развития, приведенные ниже, не являются четко выделенными. Скорее всего, у Вас есть что-то от разных ступеней. Стоит обратить внимание на методы, предложенные в каждом из этапов. Сроки, которые я привожу здесь также очень условны. Иногда человек за короткий срок делает ТАКОЙ рывок вперед, что вместо рядового разработчика оказывается на уровне управленца. С другой стороны, как мы увидим позже, большинство специалистов, добившись незначительных успехов, наглухо застревают на своем месте.
Итак, вот он, уникальный пошаговый план развития программиста с нуля до заоблачных вершин.
  • Шаг 1. Новичок. Опыт работы = 0. Знания в рамках школьных и институтских курсов информатики. Славный период, когда мы мало что знаем, ещё меньше умеем, но страстно желаем начать работать. Несмотря на то, что рано или поздно эту стадию преодолеют все (все же когда-то начинают работать), её можно назвать одной из самых сложных. Приоритеты здесь очень простые, главное - НАЧАТЬ что-то делать. Что-то, чем будут пользоваться другие люди. Заметьте, тут речь ВООБЩЕ не идет о деньгах. Если Вам за Вашу работу готовы платить - прекрасно, нет - ничего страшного. Сейчас намного важней, чтобы цифра ноль напротив опыта работы сменилась на нечто более привлекательное. Тем не менее, впадать в альтруизм не нужно, и стоит подготовиться к собеседованию на работу, чтобы показать себя с лучшей стороны и, как следствие, выбить большую з/п. О том, как готовиться к собеседованию, я отдельно напишу в следующей главе. Скажу только, что новичку необходимо собрать весь, какой есть, опыт, каким-либо образом связанный с программированием. Если надо, притянуть его за уши. Важно, чтобы было о чем сказать по поводу своего опыта. Если вы думаете, что сможете таким образом обмануть людей, которые будут Вас собеседовать, то нет, конечно же. Новичка видно невооруженным глазом. Но всё же информация о каком бы то ни было опыте в сто раз лучше молчания в ответ на вопрос собеседника. Что прочитать. Ну, во-первых, нужно конкретизировать сферу того, что Вам интересно в программировании. Быть может для Вас представляет интерес веб-программирование, или Вам больше по душе прикладные программы, а возможно, Вам хочется заниматься низкоуровневым системным программированием. Определитесь, к чему Вы тяготеете больше всего, и смело приступайте к изучению предмета. Поищите на форумах, какие книги народ рекомендует по Вашей теме. Узнайте, кто считается экспертом в выбранной области, и какие книги у него есть. Что попробовать. Читая книгу, старайтесь выполнять примеры и задачи, которые в ней описаны. Найдите в Интернете сайты, посвященные данной тематике. Там можно найти полезную информацию и ответы на часто возникающие вопросы. Как перейти на следующий уровень. Подготовиться к собеседованию и получить свою первую работу. Тут не может быть никакой погони за деньгами. Ваша задача - максимально расширить свои знания и умения. Впрочем, это уже следующая ступень.
  • Шаг 2. Advanced Новичок. Опыт работы <= 0,5 года. Знания в рамках школьных и институтских курсов информатики + полученные на работе навыки решения конкретных задач. Этот период охватывает промежуток времени от получения предложения о работе до окончания испытательного срока. Важный период, когда начальство проявляет к вам повышенное внимание. С самого начала постарайтесь зарекомендовать себя с лучшей стороны. Внимание руководства будет обращено не на размер Ваших знаний, а на Ваш подход к работе. Старание, внимательность, пунктуальность и быстрота выполнения поставленных задач - это залог высокой оценки начальства. Если вы выполнили то, что Вас просили сделать, сразу отчитайтесь об этом руководству. Спросите, что ещё необходимо выполнить. В работе всегда появляются какие-то моменты, когда можно похалтурить, полазить в Интернете, заняться какими-то левыми делами. Так вот, в первые полгода не позволяйте себе этого! Уверяю, это Вам много кратно зачтется в течение всей дальнейшей работы в этой компании. Действует старый студенческий принцип - сначала ты работаешь на зачетку, потом она на тебя. Что почитать. Продолжайте углублять свои знания в области деятельности. К концу этого этапа Вы должны владеть языком и средой разработки на твердую 4-ку, а лучше на 5-. Что попробовать. Так как теперь у Вас есть реальная работа, старайтесь применять полученные знания в реальных боевых условиях. Если у Вас появляется предложение по оптимизации какой-то функциональности или реализации, смело идите с ним к начальству или тому, кто за это отвечает. Не бойтесь высказывать свое мнение, пусть сначала оно не будет достаточно компетентным. Пусть начальство покажет, почему оно считает Ваше предложение неправильным. А вы в этот момент поглощайте всю информацию, которую получите. Это станет очень ценным опытом, приобретенным быстро и бесплатно. Вообще, обращайтесь почаще к старшим товарищам, если таковые имеются, с просьбами рассказать о том, что Вас интересует. Только не становитесь назойливыми, не отрывайте их от работы. Находите моменты, когда человек сам будет готов поделиться собственным опытом. Для этого, старайтесь выстроить хорошие отношения с коллегами. Вы увидите, что люди сами готовы с удовольствие делиться своими знаниями, если заметят, что эта информация по-настоящему ценна для Вас. Но и перебарщивать не стоит. Постоянные вопросы по любому поводу жутко выводят из себя smile Как перейти на следующую ступень. Если выполнять всё, что описано выше, то Вы автоматически попадете на следующую стадию вместе с успешным окончанием испытательного срока.
  • Шаг 3. Младший программист. Опыт работы 0,5-1 год. Только на этом шаге я решился употребить слово программист. Потому что, проработав хотя бы полгода и столкнувшись с реальными задачами, человек, что называется, оказывается «в теме». Он уже решил все стартовые проблемы с обустройством на новом месте работы, с организацией рабочего времени, пространства и инструментария и теперь может сконцентрироваться на решении задач с максимальной эффективностью. Итак, тут наконец-то можно заняться не только изучением документации и всяческой справочной информации, а подойти к программированию именно как к искусству написания программного кода. Что почитать. Книги об искусстве программирования. Например, трехтомник Кнута «Искусство программирования». НО только то, что наиболее актуально и полезно. Не нужно себя мучить сложной литературой в таких объемах, а то вообще пропадет желание развиваться) Также хорошо почитать о тонкостях языков, программных сред, фреймворков, средств разработки, с которыми Вам приходится иметь дело на работе. Эффект от умелого владения инструментами разработки будет заметен и Вам, и Вашим коллегам, и начальству, это абсолютно точно. Что попробовать. Попробуйте потратить время, в которое Вы сидите вконтакте или одноклассниках (если это имеет место быть), либо играете в WOW или ещё во что-нибудь, на самообучение. Но вообще знайте, что если Вы в день тратите на бесполезные дела менее 3 часов, то Вы КРАЙНЕ эффективны! Свободное время можно найти всегда, и не обязательно отрывать его ото сна, достаточно эффективнее выполнять остальные дела. Как перейти на следующую ступень. Здесь переход обычно происходит сам собой вместе с ростом трудового стажа. В общем-то, особого рвения в работе эта стадия не требует. Но если его нет изначально, стоит задуматься о своих профессиональных целях и о том, правильно ли Вы выбрали место для их реализации.
  • Шаг 4. Программист. Опыт работы 1-3 года. К сожалению, часть программистов зависает на этой стадии развития. 3 года стажа работы в одной должности превращаются в 5 лет, затем в 10. Человек вдруг понимает, что по возрасту уже должен находиться совершенно на другой ступени карьеры, и испытывает большое разочарование в себе, профессии, своей компании и т.д. В общем, начинается депресуха. Обычно, это свойственно людям, которые не задумываются о своем продвижении и профессиональном росте, которым чужды амбиции и стремление к личностному развитию. Но если Вы читаете эту книгу, скорее всего, это не про Вас, поздравляем!) Что почитать. Продолжаем совершенствоваться в искусстве программирования. В самый раз прочитать что-то вроде «Совершенного Кода» (лучше всего его и прочитать). К этому добавляем чтение блогов и сайтов по теме. Что попробовать. Будем считать, то, НА ЧЕМ программировать, Вы уже освоили, как свои пять пальцев. А, как известно, людям, хорошо разбирающимся в предмете, всегда есть о чем поговорить. Обычно разговор принимает форму блогов или форумов. Начинайте общаться на профессиональные темы, делитесь опытом, задавайте вопросы. Создайте свой собственный блог, в котором Вы смогли бы делиться полезной информацией. Как перейти на следующую ступень. Тут надо понимать, что из себя представляет должность старшего программиста. Это может быть либо просто программист с внушительным опытом работы, либо некий team-лидер, наделенный к тому же элементами управленческих полномочий. В любом случае, на данном этапе постарайтесь стать неформальным лидером среди коллег. Для этого необходимо а) разбираться в чем-то лучше остальных, б) иметь достаточные коммуникативные навыки. Никаких сверхъестественных способностей не требуется. Достаточно сохранять хорошие отношения в коллективе и быть готовым прийти на помощь. Завоевав уважение окружающих, можно легко формализовать свое неформальное лидерство:)
  • Шаг 5. Старший программист. Опыт работы от 2 лет. На наш взгляд, начиная с этого этапа, работа становится интересней. Вы начинаете решать задачи не только связанные с написанием кода. Появляется некоторая свобода в принятии архитектурных решений, пусть сначала и не очень существенных. Со временем, если Вы докажете, что на Вас можно положиться, вышестоящие архитекторы и управленцы смогут наделить Вас ещё большими полномочиями. Они с удовольствием пойдут на это, потому что таким образом они смогут Вашими руками выполнить часть собственной работы. Что почитать. Если не прочитан «Совершенный Код», то читаем в обязательном порядке. Читаем литературу, более узко заточенную под конкретно Вашу программистскую кухню. Также очень желательно прочесть «Как пасти котов», надо быть готовым к управлению программистами и понимать, насколько грамотно управляют Вами. Что попробовать. Попробуйте прокачать сопряженные навыки. Речь о них пойдет в следующей главе. Смысл в том, что по-настоящему успешные люди гармонично развиваются в разных областях жизни. Есть навыки, которые могут способствовать более эффективной и успешной работе, их необходимо совершенствовать. Как перейти на следующую ступень. Существует ряд вариантов развития событий. Первый - Вы работаете в небольшой компании. При успешном развитии событий, росте компании, появлении новых проектов вполне возможно что Вы автоматически и без каких-либо трудностей шагнете на следующую ступень. Второй вариант - Вы работаете в крупной компании, коллектив достаточно большой, сильного роста компании нет, и не предвидится. Тут есть два варианта. Либо завоевывать себе место под солнцем в честных и нечестных боях с коллегами. Либо искать варианты на стороне, то есть присмотреться, можно ли вместе со сменой работы шагнуть на ступеньку вверх по карьерной лестнице. Иногда это делается даже в ущерб зарплате. Ситуация в каждой конкретной компании уникальна, поэтому выбирайте то, что наиболее подходит для Вас. Помните только, что никогда не вредно знать, насколько рынок заинтересован в специалистах вашего профиля, и как дорого вы реально можете себя продать. Для меня, например, несколько раз было откровением то, что моя реальная стоимость в два раза превосходила текущую зарплату. С этими железными аргументами я шел к начальству, и они, как ни странно, со мной соглашались. Я сам, побывав в шкуре человека, проводящего собеседования, понял, что когда человек на вопрос о величине зарплаты говорит от 100 рублей и выше, то, значит, он заведомо согласен на 100 рублей и никто ему больше предлагать не будет.
  • Шаг 6. Функциональный архитектор. Опыт работы от 3 лет. Если Вы дошли до этой ступени, то можно смело сказать, что Вы уже многого добились. Наверняка появился вкус и жажда карьерных успехов. Работа стала на порядок интересней, чем ранее. Остается пожелать одного - не останавливайтесь. Что почитать. Если не прочитана книга «Как пасти котов», то читаем её. Также читаем книжки по построению архитектуры ПО и управлению проектами в области разработки программного обеспечения. Если владеете английским, хорошо было бы обращать внимание на блоги западных гуру программирования или гуру непосредственно Вашей области деятельности. Есть ещё одна категория книг, которые мы рекомендовали бы периодически перечитывать на протяжении всего пути развития. Это биографии выдающихся ИТшников. На данном этапе уже надо знать людей, которые сделали отрасль такой, какая она есть сейчас. Что попробовать. Продолжаем совершенствовать те навыки, которые могут положительно сказаться на работе - от языков до коммуникации. Подробнее в следующей главе. Как перейти на следующую ступень. На таком уровне уже нет хорошо работающих шаблонов успеха. Но и случайных людей на таком уровне практически нет. Так что если у Вас есть стремление к дальнейшему росту, внутренняя сила, уверенность в себе и лидерские качества, то всё будет хорошо в любом случае. Здесь уже не Вас выбирают, а Вы выбираете где и как работать. Потому что таких профессионалов как Вы мало. А эксклюзивность рождает привилегии.
  • Шаг 7. Менеджер проектов. Опыт работы от 5 лет. Начиная с этого этапа, голова у человека все меньше забита программированием и все больше вопросами управления и организации. Для этой и следующих стадий ничего конкретного советовать не будем по нескольким причинам. Во- первых, чем выше, тем уникальней путь каждого. Уже невозможно дать каких-то общих рекомендаций. Во-вторых, столь высокая позиция говорит о заслугах человека. Скорее всего, он уже не нуждается в советах, позволяющих определить его дальнейший вектор развития. Он сам понимает куда и зачем он двигается. Базовыми остаются только рекомендации о всестороннем гармоничном развитии. Нельзя допускать, чтобы одна из сфер жизни отнимала критически много времени, тогда как другие оставались не удел. Поселившись на работе, можно распрощаться и со здоровьем и с семьей. Поэтому стоит заранее задуматься, хотите ли Вы такой ценой добиваться успехов по работе. В долгосрочной перспективе это заведомо проигрышная стратегия. Так как запущенные сферы жизни в итоге утянут за собой всё, что пока более-менее благополучно. Ну а среди оставшихся шагов можно выделить два. Оставим их без каких-либо комментариев. Там всё сильно по- другому smile
  • Шаг 8. Руководитель 1Т-отдела.
  • Шаг 9. Руководитель компании-разработчика ПО.
dle

Помоги проекту! Расскажи друзьям об этом сайте: