Введение3

Часть 1. СТАТИСТИКА4

Глава 1. Шокирующие данные4

Глава 2. Грабли, которые обязательно треснут нас по лбу6

Часть 2. АНАЛИТИКА7

Глава 3. Смотрим в книгу, видим фигу7

Глава 4. Пора взглянуть на себя без прикрас15

Глава 5. Начинаем взлетать. Концепция развития программиста19

Часть 3. ПРАКТИКА21

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

Глава 7. Ускорение до максимума. Развитие сопряженных навыков34

Глава 8. В полушаге от идеала. Развитие общих навыков40

Часть 4. ИТОГИ46

Глава 9. От новичка до гуру. Дерево развития технаря46

Глава 10. Заключение50

Приложение А. Чем Школа Программирования может быть полезна лично Вам52

Приложение Б. Продукты и обратная связь55

Введение

Если Вы читаете эти строки, то, скорее всего, Вас заинтересовала тема данной книги. Лично нас она волнует уже давно. Кстати кто мы такие?

В недавнем прошлом мы – выпускники МГТУ им. Баумана, кафедры программного обеспечения вычислительной техники. Ежедневно практикуясь в программировании, мы накопили богатый 10-летний опыт разработки ПО и веб-проектов, изучили множество тонкостей программирования, от маленьких практических секретов, до методологий построения систем, масштабов предприятия. Подробнее о нас Вы сможете узнать по адресу http://prog-school.ru/2010/01/ob-avtorax/.

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

Часть 1. СТАТИСТИКА

Глава 1. Шокирующие данные

Мы долго думали с чего начать и решили Вас поразить. Поэтому сразу же приведем статистику, которая не может оставить нас равнодушными. Мы искренне желаем Вам задуматься над этими цифрами.

Из 100 начинающих программистов:

98 не уделяют достаточного времени выбору инструментов разработки, что снижает её эффективность в 2-3 раза;

95 не задумываются о том, в каком направлении программирования они хотели бы совершенствоваться и развиваться;

80 не знают, в проектах какого рода они хотели бы участвовать через 3 года;

73 меняют своё место работы в течение первого года;

32 в течение 18 месяцев оставляют программирование окончательно и начинают заниматься другими вещами;

Лишь 2 (двое!!) добиваются впечатляющих результатов и в дальнейшем встают во главе ИТ компаний.

Ну что, не испугались таких цифр? Если посмотреть на картину с высоты статистических данных, то становится немного страшновато за судьбу программистов :)

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

Как ни странно, ничего волшебного и секретного в успехе ИТшника нет. Вам даже не потребуется везение. Зато нужно нечто более важное – упорство и дисциплина.

Мы ещё не раз подробно остановимся на этих моментах. А пока, если Вы готовы проявить свою силу воли на пути к профессиональному успеху, то мы искреннее желаем чтобы у Вас всё получилось, и Вы дошли до самой вершины! Путь к успеху начинается прямо сейчас! И вот Вам первое задание…

Отложите книгу и дайте себе три честных ответа на следующие вопросы:

Что я из себя представляю как программист?

Чему я хочу научиться в программировании?

Что я готов сделать для этого?

Запишите ответы на бумаге и сохраните их. Напишите прямо сейчас, продолжайте чтение только после этого!

Глава 2. Грабли, которые обязательно треснут нас по лбу

В главе 4 мы приведем список критериев, по которому можно оценить уровень программиста. Грамотные работодатели ориентируются на эти критерии при выборе среди соискателей. Но всё же это условные и субъективные показатели. Можно даже сказать, что не существует некой объективной шкалы, измеряющей уровень программиста. Однако можно предложить следующий количественный критерий, который на практике тяжело поддается вычислению:

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

Как легко догадаться, наступание на грабли не связано с приятными эмоциями. Это надо помнить во время удара черенка о лоб. Мы на полном серьезе!

Любая неудача продвигает нас ближе к цели.

И если мы перестаем это помнить, то руки опускаются сами собой.

Кстати, ценный совет – описывайте те грабли, на которые Вам пришлось наступить. Таким образом, результаты будут зафиксированы, что в дальнейшем сыграет на Вас.

Часть 2. АНАЛИТИКА

Глава 3. Смотрим в книгу, видим фигу

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

К сожалению, многие так и не преодолевают этот барьер по различным обстоятельствам. И в большинстве своем проблемы обучения заключены не в человеке, а в методах обучения. К программированию это имеет самое непосредственное отношение. Потому что обучение программированию сопряжено с получением большого количества сложных технических знаний. Большие объемы такого рода информации не могут усвоиться быстро и легко. Чтобы знания уложились в четкую, структурированную систему необходима постоянная ПРАКТИКА. А теперь поговорим, почему же отдельные методы образования не всегда дают желаемый результат.

Почему не работают книги

Иногда, знаете, бывает такое чувство странное. Вроде бы взял в руки новую книгу, просмотрел оглавление и подумал: «о, про меня!», или «о, то что я так давно хочу узнать!». И, естественно, Вы эту книгу купили и даже начали читать. И как-то до конца даже и не прочитали:).. Ну потому что какие-то другие проблемы и интересы появились, чем-то другим занялись, да и вообще… И остается тогда непонятное чувство. Вроде бы в оглавлении-то не наврали, написали все, о чем заявляли. Но как-то суперменом после неё так и не стали. Знания получили и... всё, просто получили знания… а потом забыли.

Проблема здесь в том, что простое чтение книг – не работает. Это универсальное правило, но в программировании оно очень четко прослеживается. Здесь вообще отдельная история, попробуем объяснить почему.

Все книги по программированию можно использовать двумя способами:

Как обучающий материал

Как справочный материал

Сначала по второму пункту.

Самый быстрый способ получения справки по вопросам разработки ПО – это yandex или google.

И точка. Мы готовы спорить с кем угодно, что быстрее откроем поисковик и найдем интересующую нас информацию, чем кто-то добежит до полки с книгами, отыщет нужную, кропотливо изучит оглавление, найдет нужную главу, откроет её начало и будет судорожно пролистывать страницы в поисках ответа на свой вопрос. Помимо поисковиков в некоторых случаях по отдельным продуктам удобнее использовать сопровождающую их документацию, но опять же с возможностью поиска, например MSDN.

Теперь что касается использования книг, как обучающего материала. Тут ключевое слово – это обучение. А обучение - это процесс, в котором участвуют, по крайней мере, двое – учитель и ученик, ну и ещё есть учебный материал (собственно, книга). И если учитель должным образом, с терпением и упорством не будет муштровать ученика, то фиг что из этого обучения получится. Методы кнута и пряника ещё никто не отменял, более того, это единственное, что может человека заставить что-то делать.

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

Теперь конкретно о программировании.

Чтобы освоить язык программирования, какую-либо методологию, либо среду разработки нужна прак-ти-ка!

Регулярная, постоянная, многочасовая практика. И тут появляется ещё одна проблема, которую не могут решить книги. Это бесполезность вашей работы!

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

Так вот, бесполезная работа – ужасна и надоедает моментально.

Решение примеров из книг «для себя» - это конечно не бесполезно, тут, по крайней мере, для вас самих есть польза.. но как-то она не очевидна, как-то её мало.. ну, в общем, опять мотивация катится в тартарары, кто пробовал, тот точно знает. Долго на собственной воле что-то делать не получится – слишком много отрицательной обратной связи.

Поэтому, реальный стимул внутри себя найти очень сложно, но есть и хорошая новость, его можно найти снаружи! А именно, в работе или в учебе (но не в самообучении!). Впрочем, и здесь не все так гладко, рассмотрим, к примеру, вопрос…

Почему не работает высшее образование

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

Нет иного способа усвоить информацию, точнее даже не просто усвоить, а научиться применять. Между знанием и умением – пропасть! Благо, её можно пересечь по мосту регулярной практики.

А нормальной практики программирования ВУЗ дать не может. Сразу оговорюсь, сейчас мы рассуждаем о наших ВУЗах. Мы не говорим о западном образовании, где человек может выбрать, какие именно курсы ему интересно слушать. Мы тем более молчим про элитные заведения вроде Оксфорда и Кембриджа, где у человека есть свой личный ментор, который направляет и контролирует его на протяжении всего пути обучения (поверьте, это несколько серьезнее чем куратор:)). Нет, мы имеем в виду нашу родную многострадальную систему образования, которая, надо сказать, отстала от мировых стандартов на десятилетия, к сожалению..

Можно посмотреть рейтинг университетов мира за 2009 год (http://www.4icu.org/top200/) и найти МГУ на 15 месте.

А следующий российский университет на… а его там нет! Печальная картина…

Можно конечно бесконечно долго спорить о справедливости таких рейтингов, есть даже русская версия рейтинга, где МГУ занимает 5 место, опережая Гарвард, Стэнфорд, Кембридж, Оксфорд, но... но это смешно, честное слово.

Так вот, вернемся к практике программирования в российских университетах. Почему мы считаем её плохой:

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

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

0

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

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