Категории

Читалка - Путь программиста: от 100$ до 10000$ в месяц


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

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

Книги must read

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

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

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

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

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

Приемы объектно-ориентированного проектирования (Паттерны проектирования

). Э.Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилес.

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

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

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

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

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

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

дела.

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

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

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

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

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

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


Содержание книги