Категории

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


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

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

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

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

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

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

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

дела.

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

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

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

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

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

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

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

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

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

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

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

Этот период охватывает промежуток времени от получения предложения о работе до окончания испытательного срока


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