программирования можно нарыть любую интересующую информацию.

Так что остается только найти себе задачу и приступать к реализации.

Быть в авангарде

Следующий ключевой пункт, на который следует обратить внимание, - это актуальность. IT развивается абсолютно бешено и замедляться не планирует. Можно писать замечательные консольные программы на паскале, но только вряд ли они найдут благодарных пользователей. Все потому, что средства разработки совершенствуются постоянно. Та область, в которой сегодня Вы - пионер, завтра будет использоваться миллионами. То, что сегодня используется миллионами, завтра станет вчерашним днем и отправится в утиль. Нужно постоянно держать руку на пульсе, чтобы в один прекрасный день не оказаться в аутсайдерах.

На самом деле следить за технологиями не так уж и сложно. В IT, как и везде, все новое – это хорошо забытое старое. Нельзя сказать, что за последние годы в программировании появилось нечто принципиально новое, кардинально отличающееся от всего известного ранее. Все, что человек придумывает, основывается на его предыдущем опыте. Секрет в том, что помимо чьих-то там технологий есть Ваш личный опыт, собственная база знаний и технический склад ума, которые от Вас никуда не денутся. И если Вы обладаете этим бесценным багажом, то оставаться в авангарде информационных технологий оказывается вовсе и не сложно.

Книги must read

Мы уже писали, почему книги не работают в случае обучения программированию. Тем не менее, есть литература, которая обязательно должна быть прочитана любым уважающим себя программистом. Это книги, в которых концентрация полезных знаний зашкаливает. Поэтому, даже если после прочтения у Вас в голове останется 5% изложенной информации, это уже поднимет Вас, как специалиста на новую ступень. На самом деле, хороших книг много, но эти – просто жемчужина литературы об IT:

Искусство программирования. Дональд Э. Кнут

Объектно-ориентированный анализ и проектирование. Гради Буч

Совершенный код (Code Complete). Стив Макконел.

Мифический человеко-месяц или Как создаются программные системы. Хилл Чапел, Фредерик Брукс

Приемы объектно-ориентированного проектирования (Паттерны проектирования). Э.Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилес.

Эти книги не о конкретных языках, они о том, КАК надо писать программы, КАК надо строить процесс разработки, КАК проектировать свое ПО.

Умение искать, отфильтровывать и использовать информацию

Учитесь четче видеть детали проблемы, с которой столкнулись. Выделяйте подпункты проблемы, если это возможно, и старайтесь максимально конкретизировать причину проблемы. Админам часто приходится решать проблемы сотрудников компании, сформулированные примерно так: «у меня что-то там в компьютере не работает». Админ приходит и видит, что «что-то там в компьютере» - это синий экран смерти при загрузке с кодом 0х000000B4. Если админ раньше не сталкивался с такой ошибкой, он идет и ищет информацию в интернете конкретно по этому коду и решает проблему в течение получаса. Просто нужно четко сформулировать проблему, система же нам сама пытается её подсказать, выдавая код ошибки. А вот на уровне «в компьютере что-то..» ничего решить нельзя.

Если написанная программа дает сбой, значит лезем в дебагер и отлаживаем. Если падает чей-то софт, значит смотрим логи, если они есть. Если их нет – стараемся детально установить, при каких обстоятельствах происходит сбой. Если выяснения ещё не привели к решению, то ищем его в интернете, при этом четко указываем проблему. Поверьте, в 99,9% случаев Вы не первый, кто с этой ошибкой сталкивается, и решения давно уже предложены на различных форумах. Конечно в англоязычном Интернете информации на порядок больше. Вообще, если хотите быть хорошим программистом, то чтение технической литературы на английском не должно вызывать проблем. Хотя бы на уровне форумов.

Пошаговая инструкция развития

Мы прочитали уйму книжек, которые вроде как какую-то идею передают, а инструментов реализации не предлагают. Это с одной стороны наша проблема, что мы не можем прочитанное перевести из разряда теории в практику, но с другой, авторы таких произведений могли бы и побольше внимания уделить описанию именно практической стороны дела.

Дабы такой ошибки избежать в этой книге мы Вам предлагаем уникальный пошаговый план развития программиста от новичка до настоящего гуру.

А область это широка неимоверно, и, соответственно, знаний всякого рода также огромное число. Так вот, здесь мы попытались расставить их в том порядке, в котором они по-настоящему необходимы программисту по мере его профессионального роста. То есть, к примеру, если Вы сейчас являетесь студентом, который подрабатывает на своей первой в жизни работе, Вам нет необходимости забивать голову материалами о риск- менеджменте в области ИТ-проектов. Это полезная информация, но сейчас есть нечто более важное, что Вам необходимо узнать. Со временем доберетесь и до этого, но только если преодолеете все предыдущие ступени развития.

Сразу оговоримся, шаги развития, приведенные ниже, не являются четко выделенными. Скорее всего, у Вас есть что-то от разных ступеней. Стоит обратить внимание на методы, предложенные в каждом из этапов. Сроки, которые я привожу здесь также очень условны. Иногда человек за короткий срок делает ТАКОЙ рывок вперед, что вместо рядового разработчика оказывается на уровне управленца. С другой стороны, как мы увидим позже, большинство специалистов, добившись незначительных успехов, наглухо застревают на своем месте.

Итак, вот он, уникальный пошаговый план развития программиста с нуля до заоблачных вершин.

Шаг 1. Новичок. Опыт работы = 0. Знания в рамках школьных и институтских курсов информатики.

Славный период, когда мы мало что знаем, ещё меньше умеем, но страстно желаем начать работать. Несмотря на то, что рано или поздно эту стадию преодолеют все (все же когда-то начинают работать), её можно назвать одной из самых сложных. Приоритеты здесь очень простые, главное - НАЧАТЬ что-то делать. Что-то, чем будут пользоваться другие люди. Заметьте, тут речь ВООБЩЕ не идет о деньгах. Если Вам за Вашу работу готовы платить – прекрасно, нет – ничего страшного. Сейчас намного важней, чтобы цифра ноль напротив опыта работы сменилась на нечто более привлекательное. Тем не менее, впадать в альтруизм не нужно, и стоит подготовиться к собеседованию на работу, чтобы показать себя с лучшей стороны и, как следствие, выбить большую з/п. О том, как готовиться к собеседованию, я отдельно напишу в следующей главе. Скажу только, что новичку необходимо собрать весь, какой есть, опыт, каким-либо образом связанный с программированием. Если надо, притянуть его за уши. Важно, чтобы было о чем сказать по поводу своего опыта. Если вы думаете, что сможете таким образом обмануть людей, которые будут Вас собеседовать, то нет, конечно же. Новичка видно невооруженным глазом. Но всё же информация о каком бы то ни было опыте в сто раз лучше молчания в ответ на вопрос собеседника.

Что прочитать. Ну, во-первых, нужно конкретизировать сферу того, что Вам интересно в программировании. Быть может для Вас представляет интерес веб-программирование, или Вам больше по душе прикладные программы, а возможно, Вам хочется заниматься низкоуровневым системным программированием. Определитесь, к чему Вы тяготеете больше всего, и смело приступайте к изучению предмета. Поищите на форумах, какие книги народ рекомендует по Вашей теме. Узнайте, кто считается экспертом в выбранной области, и какие книги у него есть.

Что попробовать. Читая книгу, старайтесь выполнять примеры и задачи, которые в ней описаны. Найдите в Интернете сайты, посвященные данной тематике. Там можно найти полезную информацию и ответы на часто возникающие вопросы.

Как перейти на следующий уровень. Подготовиться к собеседованию и получить свою первую работу. Тут не может быть никакой погони за деньгами. Ваша задача – максимально расширить свои знания и умения. Впрочем, это уже следующая ступень.

Шаг 2. Advanced Новичок. Опыт работы <= 0,5 года. Знания в рамках школьных и институтских курсов информатики + полученные на работе навыки решения конкретных задач.

Этот период охватывает промежуток времени от получения предложения о работе до окончания испытательного срока. Важный период, когда начальство проявляет к вам повышенное внимание. С самого начала постарайтесь зарекомендовать себя с лучшей стороны. Внимание руководства будет обращено не на размер Ваших знаний, а на Ваш подход к работе. Старание, внимательность, пунктуальность и быстрота выполнения поставленных задач – это залог высокой оценки начальства. Если вы выполнили то, что Вас просили сделать, сразу отчитайтесь об этом руководству. Спросите, что ещё необходимо выполнить. В работе всегда появляются какие-то моменты, когда можно похалтурить, полазить в Интернете, заняться какими-то левыми делами. Так вот, в первые полгода не позволяйте себе этого! Уверяю, это Вам много кратно зачтется в течение всей дальнейшей работы в этой компании. Действует старый студенческий принцип – сначала ты работаешь на зачетку, потом она на тебя.

Что почитать. Продолжайте углублять свои знания в области деятельности. К концу этого этапа Вы должны владеть языком и средой разработки на твердую 4-ку, а лучше на 5-.

Что попробовать. Так как теперь у Вас есть реальная работа, старайтесь применять полученные знания в реальных боевых условиях. Если у Вас появляется предложение по оптимизации какой-то функциональности или реализации, смело идите с ним к начальству или тому, кто за это отвечает. Не бойтесь высказывать свое мнение, пусть сначала оно не будет достаточно компетентным. Пусть начальство покажет, почему оно считает Ваше предложение неправильным. А вы в этот момент поглощайте всю информацию, которую получите. Это станет очень ценным опытом, приобретенным быстро и бесплатно. Вообще, обращайтесь почаще к старшим товарищам, если таковые имеются, с просьбами рассказать о том, что Вас интересует. Только не становитесь назойливыми, не отрывайте их от работы. Находите моменты, когда человек сам будет готов поделиться собственным опытом. Для этого, старайтесь выстроить хорошие отношения с коллегами. Вы увидите, что люди сами готовы с удовольствие делиться своими знаниями, если заметят, что эта информация по-настоящему ценна для Вас. Но и перебарщивать не стоит. Постоянные вопросы по любому поводу жутко выводят из себя:)

Как перейти на следующую ступень. Если выполнять всё, что описано выше, то Вы автоматически попадете на следующую стадию вместе с успешным окончанием испытательного срока.

Шаг 3. Младший программист. Опыт работы 0,5-1 год.

Только на этом шаге я решился употребить слово программист. Потому что, проработав хотя бы полгода и столкнувшись с реальными задачами, человек, что называется, оказывается «в теме». Он уже решил все стартовые проблемы с обустройством на новом месте работы, с организацией рабочего времени, пространства и инструментария и теперь может сконцентрироваться на решении задач с максимальной эффективностью.

Итак, тут наконец-то можно заняться не только изучением документации и всяческой справочной информации, а подойти к программированию именно как к искусству написания программного кода.

Что почитать. Книги об искусстве программирования. Например, трехтомник Кнута «Искусство программирования». НО только то, что наиболее актуально и полезно. Не нужно себя мучить сложной литературой в таких объемах, а то вообще пропадет желание развиваться)

Также хорошо почитать о тонкостях языков, программных сред, фреймворков, средств разработки, с которыми Вам приходится иметь дело на работе. Эффект от умелого владения инструментами разработки будет заметен и Вам, и Вашим коллегам, и начальству, это абсолютно точно.

Что попробовать. Попробуйте потратить время, в которое Вы сидите вконтакте или одноклассниках (если это имеет место быть), либо играете в WOW или ещё во что-нибудь, на самообучение. Но вообще знайте, что если Вы в день тратите на бесполезные дела менее 3 часов, то Вы КРАЙНЕ эффективны! Свободное время можно найти всегда, и не обязательно отрывать его ото сна, достаточно эффективнее выполнять остальные дела.

Как перейти на следующую ступень. Здесь переход обычно происходит сам собой вместе с ростом трудового стажа. В общем- то, особого рвения в работе эта стадия не требует. Но если его нет изначально, стоит задуматься о своих профессиональных целях и о том, правильно ли Вы выбрали место для их реализации.

Шаг 4. Программист. Опыт работы 1-3 года.

К сожалению, часть программистов зависает на этой стадии развития. 3 года стажа работы в одной должности превращаются в 5 лет, затем в 10. Человек вдруг понимает, что по возрасту уже должен находиться совершенно на другой ступени карьеры, и испытывает большое разочарование в себе, профессии, своей компании и т.д. В общем, начинается депресуха. Обычно, это свойственно людям, которые не задумываются о своем продвижении и профессиональном росте, которым чужды амбиции и стремление к личностному развитию. Но если Вы читаете эту книгу, скорее всего, это не про Вас, поздравляем!)

Что почитать. Продолжаем совершенствоваться в искусстве программирования. В самый раз прочитать что-то вроде «Совершенного Кода» (лучше всего его и прочитать). К этому добавляем чтение блогов и сайтов по теме.

Что попробовать. Будем считать, то, НА ЧЕМ программировать, Вы уже освоили, как свои пять пальцев. А, как известно, людям, хорошо разбирающимся в предмете, всегда есть о чем поговорить. Обычно разговор принимает

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату