Я уже писал, что программирование – это игра, как и любая игра, она состоит из стадий или уровней. Что бы стать настоящим профессионалом, важно уметь проходить эти стадии. Порой это трудно, порой даже очень трудно, но согласитесь, от этого только интересней!
Сейчас я постараюсь выделить основные стадии и опасности, подстерегающие программиста на этом сложном, долгом и очень захватывающем пути. Попробую рассказать, как именно эти стадии проходить, что нужно делать, что бы не свернуть, и не оказаться одним из тех, кого я называю «НЕДОпрограммистами».
Стадия номер раз: Млять, чо за нах!?
Одна из двух самых опасных стадий! Стадия - убийца программистов! Это самая первая стадия, когда «простой смертный» счастливый, или недовольный жизнью человек, наслушавшись таких как я, прочитав статьи таких как я, увидев как, такие как я живут, поняв что это классно, решает стать программистом. И вот он идет в магазин, закупается неверными книжками, ибо никто из более опытных ничего не подсказал, и начинает их читать. Хуже того, пробует применять на практике! Далее обычно следующая картина: «Мля, мля, мля, мля, примеры из книжки не работают, этот оператор нигде не описан, из десяти строк первого листинга, я понял только две, и не факт что правильно! Какие мануалы!? Что такое мануалы!? Зачем их курить!? Что это!? Седой волос!? Откуда у меня седой волос!?» Ну а дальше, хорошая, или не очень книжка, отправляется в туалет, и служит вместо туалетной бумаги, в целях экономии…
Проблема в том, что на этой стадии, многие начинают зубрить тот или иной язык, когда на самом деле нужно разбираться в основах программирования, учиться составлять алгоритмы, и запастись терпением. Именно поэтому для начала, выбирают языки попроще, типа QBasik, или Pascal, но надо помнить, что привыкать к этим языкам не стоит, и написать на них бесплатную альтернативу photoshop’у не получиться. Для начала пойдут простые, совершенно бесполезные, программы, просто для того, что бы понять, что такое переменная, что такое массивы, циклы, условные операторы, как и где они применяются. Проще говоря, нужно научиться мыслить как программист, и тогда эта стадия будет пройдена.
Стадия номер два: Ааа, вот оно что…
И если первая стадия пройдена, то скорее всего «простой смертный» встал на путь истинный… Самое трудное позади, и можно начинать писать несложные, но полезные программы, на которые через 2-3 года без смеха смотреть будет сложно… Это стадия разочарований, стадия поиска стиля, и обретения мастерства. Стадия, когда вы показываете свой код знакомым программерам, а они над вами смеются, вместо того, что бы указать на ошибки, когда комп вешается каждые пол часа от бесконечных циклов, а вы не можете понять в чем проблема, когда программа вроде работает, но как-то не так, когда вы смотрите чужие листинги, и не понимаете ровным счетом ничего! На этой стадии, кроме продумывания алгоритма программы, встает так же вопрос его реализации, и уже не на qbasik’е или паскале, а на чем-то вроде delphi, c++ или php(perl, python). К черту языки 80-тых годов, на этой стадии пишутся полезные программы, которые работают не в черном ДОСовском окошке, но вы то не знали, что это будет на порядок сложнее… Если раньше вы говорили культурно, то теперь начинаете материться, ибо с этим компилятором по другому нельзя! Какая ошибка? Какой тип данных? Что ему не нравится? Зачем он меня мучает? Что плохого я сделал в жизни? Если попаду в ад, что угодно, любые муки, только не программировать на visual studio (Само собой только пример… надеюсь майкрософт меня не читает…)
Часто бывает такое, что наслушавшись про только что вышедшую, мега крутую игру, вы покупаете ее, проходите первый уровень, а во втором, при первом серьезном испытании, которое, в общем-то, проходимо, но требует времени, сил и сноровки, вы бросаете игру? Думаю что часто! Так же и с программированием. Тут все зависит от желания. Зачем вы начали программировать, и насколько вы хотите стать программистом. Что бы пройти этот этап, нужны не столько мозги (хотя куда ж без них) сколько усидчивость, и изучение нюансов языка программирования. Вот тут то и придется курить мануалы, сканить инет на предмет похожих ошибок и методов их решения, более внимательно изучать книжки, а в минуты отчаяния - молиться! Но как я уже сказал, этап проходим, все, что для этого надо – это запастись терпением и, не в коем случае, не зацикливаться на мысли: «Это невозможно!», т.к. ЭТО ВОЗМОЖНО! И вы знаете что это возможно!
Стадия номер три: Кажется я программист!
Обычно, эта стадия начинается следующим образом: «А не написать ли мне…» Выбирается довольно сложная и большая программа, дни сменяют ночи, время летит, девушка вас бросает, все деньги уходят на новые книги, в асе появляется новая группа «Программисты», в закладках браузера в основном программистские форумы – вы пишите большую, сложную программу. Возникают новые трудности: вы знакомитесь с базами данных, с инсталляторами, с ООП, и знакомство это не всегда проходит гладко. Однако у вас есть два помощника, которые всегда рядом с программистом на этой стадии: опыт предыдущей стадии, и вдохновение! А вдохновение - штука мощная… На этой стадии вам интересно писать! Вы довольно далеко зашли, и едва ли все бросите. Однако… Многие сходят именно тут, это в основном связанно с полным разочарованием в программировании. Как интересно было писать мини программки на первых двух стадиях, да, были сложности, но с высоты третьего уровня, они не кажуться такими уж непреодолимыми. А вот тут все скучнее! ООП? Зачем он? Все твердят про это ООП, я и без него обходился! А еще эти БД, целые книги выпускают только по проектированию базы данных! Отношения, связи, ключи… Чот мне разонравилось программирование!!!
Тут главное не падать духом! Не так уж все и сложно! Да, важно правильно спроектировать базу данных, но это ведь ваша первая серьезная программа! Да, ООП это вещь, и дальше без нее никак, но если вы пока не понимаете что за там классы, методы, зачем нужно наследование и т.д. оставьте это, пишите так, как вам нравиться, вы пока не профессионал, и получайте удовольствие от программирования. Полюбите программирование! Настанет день, и вы поймете все нюансы ООП, и сможете на ходу составлять sql запросы, не заглядывая в справочник, но пока, пишите как хотите, влюбитесь в программирование.
Стадия номер четыре: Мания величия.
Самая ужасная, самая опасная и самая долгая стадия! Многие программисты остаются в этой стадии годами, и не факт что пройдут вообще! Это когда «Я крутой программер, я написал уже несколько больших программ, я знаю все о программировании!!! » В этой стадии развитие программиста останавливается. Он забивает на новые технологии, он считает себя лучшим, он считает лучшими свои методы, он смотрит на других с ехидной улыбкой. Других программистов он не любит. Всегда пытается доказать другим что лучший именно он! Часто критикует общих знакомых программистов. Он много пишет, ибо надо доказывать себе, что ты лучший. Пишет много, но не развивается, ибо считает что методы, которыми он пользуется – лучшие! Зачем что-то менять, я пишу программы, некоторыми даже пользуются люди. Меня взяли на работу. Я профи и со мной никто не сравниться!
Стадия очень сложная, сложная тем, что вы не поймете что все еще на ней! Вы думаете что уже в конце игры, вы думайте что познали все секреты профессии, что дальше развиваться просто некуда. Вы думаете что вы один из лучших, а может и лучший, и не знаете, что это только начало вашего развития и что надо двигаться далее. Как пройти стадию, если даже не знаешь что находишься на ней!? Очень просто! Надо общаться с другими программистами, и смотреть на них не как на соперника, а как на источник опыта. Надо посещать программерские форумы, сайты, надо узнавать что то новое, и пытаться это использовать! Надо понять, что программирование – это такая вещь, постичь которую полностью – невозможно!
Стадия номер пять: Не так уж я и крут…
Не все программисты доходят до этой стадии… На этой стадии программист переосмысляет само понятия «программирование». Он начинает прислушиваться к другим программистам, обращать внимание на готовые решения, не изобретая велосипед по-новой, на первый план выходят скорость и качества реализации проекта, просматривая чужие листинги, он ищет не ошибки, а интересные идеи. Его разум открывается для нового, он не критикует, а наставляет. Когда критикуют его, он не доказывает свою правоту, а прислушивается, и если критика конструктивна и справедлива – исправляет свои ошибки. В асе появляется новая вкладка «Начинающие программисты», и если кому то из них нужна его помощь – он помогает, ибо как сказал один мудрый, но давно умерший человек: «Уча других, мы учимся сами».
В заключении.
Дальше писать не могу, я как раз нахожусь на пятой стадии, и даже не представляю что там дальше. Тем и хороша эта игра «Программирование», что мы не знаем какая стадия будет дальше, и какие трудности нас ждут за очередным поворотом. Мы даже не знаем в какой части пути мы находимся, начало это, или середина? Все что мы знаем - это то, что дальше будет интересней, и этот факт, заставляет нас днями и ночами играть в эту потрясающую игру!
Наслаждайтесь программированием.
Ваш Voff.
P.S.
Кстати, я вот задумался над раскруткой своего блога, так что если у кого то есть предложения по поводу обмена постовыми или блогролла, пишите в асю 561048.


Для кого-то программирование - не игра, а обычная работа. Где на долю интересной работы приходиться десять долей рутины.
Хотел об этом написать, но решил что не стоит. На самом деле, у меня тоже так было, я тогда работал в местной студии, и вся моя работа заключалась в написании модулей, для cms которую я же и написал. Писать cms было интересно, но вот строчить потом модули под нее… быстро наскучило… Прогроммирование должно радовать, проекты должны быть интересными.
Программирование может радовать, когда есть настроение и желание им заниматься. А когда независимо от желания и настроения ты должен выполнять работы по данным обязательствам ни о какой радости не может идти и речи. Тем более, что кто-то должен писать инструкции, исправлять баги, делать бесконечные доработки кода и т.д. и т.п.
Увы, романтики в профессии программиста нет. Зато есть удовольствие от качественной и вовремя выполненной работы.
Интересно было читать обе статьи про “игру в программирование” прочитав, понял, что я скорее всего на 5-й стадии, как и вы.
Здорово Voff!
> Приятно читать очередную твою статью!
> Жизненно а главное по делу…
> Здорово пишешь с случаем психологией
не увлекаешся!☺☺☺
_______________________________________
Только сейчас над этим задумался
Я так и не прошел 4 стадию скорей
обратно скатился на 3
P.S. У тебя вроде были какие то
сомнения ЗАБУДЬ!!!
Не вздумай бросать
бЛОГ
Спасибо за пост!
Побольше бы таких статейl!
Приятно слышать)
Прочел в свое время пару книжек по психологии… но давно все забыл.
И блог закрывать не собираюсь, хотя писать буду реже… работа…
Всегда пожалуйста)
Будем стараться…
Побольше бы таких статейl!
Спасибо за пост!
Интересная заметка.
Интересная заметка.
Неоднократно доводилось читать подобные посты на англоязычных блогах, но это не значит что ваш пост мне не понравился
Бесподобно!!!
хеех..прикольно)
Отличная статья, спасибо!
Ну, вот… так всегда: сначала все путем, а потом пошло-поехало…
спасибо за статейку
программирование - это не игра
игра и еще какая)
Как говорятся программистами не рождаются - ими становятся!
Можно и родиться))
есть примеры?
Спасибо! Материал очень кстати. Как раз задали курсовую по этой теме.
Благодарю автора блога. Но почему-то мне кажется, что тема поста сейчас не очень актуальна.
По-моему автор блога немного не раскрыл основную мысль блога.
Материал очень кстати. Спасибо автору.
По-моему автор блога немного не раскрыл основную мысль блога.
Млять, ну как вы через капчу пробиваетесь…
по поводу темы блога: программистом ОЧЕНЬ тяжело стать
Я программист - я им родился
Сорри за оффтоп, но как называется этот шаблон? Помогите начинающему программисту…
статья понравилась, похоже, у меня переходящая с 4 на 5 стадию, ибо периодически ощущаяю себя на той и на другой.
Это очень сильно переделанный и переведенный на русский язык шаблон, с одного из забугорных сайтов. Вообще, если хочешь найти нормальные шаблоны, ищи в америке.
Эпично !
Хорошая статья. Вы открыли мне глаза на то, на какой стадии я сейчас, с чем следует бороться и чего еще нужно достичь (не столько в самом программировании, сколько в психологическом восприятии программирования).
На самом деле многие еще кочуют с 4-ой стадии на 5-ую и обратно. Узнаешь еще немножечко нового, начинаешь думать, что ты бохх, потом находишь что-то новенькое и опять изучаешь, изучаешь.
Сам такой
Как бы мне, хотя бы, на 4 стадию перейти.
А то, как говно в проруби между 1,2,3 болтаюсь.
Достижение просветления 5-й степени гарантируется наличием группы “Программисты” в закладках. Чувство “гений” вызвано незнанием об окружающем мире, а вот когда они вылазят в люди, то с недоверием обноруживают, что земля - круглая. И вот только свыкся с новой мыслью, как появляется новый гуру, который говорит - “какая ж она круглая” и понеслось - гугл, википедия, фото земли с космоса….
Похоже я как то сразу перепрыгнул с 3ей на пятую стадию.
Потому что я блин перечитывал порой целые сайты со статьями по программированию, смотрел и смотрю исходники, ищу новые идей и методы для реализации алгоритмов. Сей час я просто собираю готовые решения и реализую свои идеи как конструктор.
Шестая стадия наверно (не для всех) это поиск новых идей для проектов.
Отличная статья! Ощущаю себя в районе 5-й стадии.. 4-ю похоже проскочил, ибо с самого начала было понятно, что _всегда_ есть чему учиться, всегда на самое универсальное и красивое решение найдется парочка по-универсальней.
Спасибо! Хорошо пишите, заметно прочтение “парочки книг по психологии” =)
Спасибо за статью. Приятно начать новый рабочий день с мысли, что не все так уж и плохо.
Лично я 4 стадию прошел.. после 1ой.. просто напросто в моем маленьком городе не так много студий и уже после 1-2 стадии можно было делать неплохие вещи (web- разработка). Сейчас 3,5,(6) - в зависимости от настроения и условий работы. Мечешься ОТ осознания, что есть намного лучше тебя ребята и ты мало чего добьешься, пора менять работу, ДО создания средних и крупных проектов, а так же штурма идей для новых вложений как финансов, так и времени.
Спасибо автору еще раз.
Спасибо. Очень понравился сей пост. ;))
Спама у Вас просто дофигища! Не стыдно?
Поставьте мою капчу, отсеит роботов (см. сайт).
По поводу статьи - все верно. Я программист уже лет 10 (начинал как раз с бейсика в 96ом году), могу сказать, что только год назад я попал в пятую стадию. Я понял, что мой код не совершенен (а казался крутым), что лучше использовать готовые решения, я стал следить за новыми технологиями и прочее, прочее :)) Статья очень порадовало. А еще больше то, что со мной и правда случилась перемена (ибо я сначала думал, что просто устал и силы иссякли).
Kirik, Вы скоро войдете в четвертую стадию, а сейчас где-то на второй. У меня было так же - сначала дикая жажда знаний и казалось, что совершенствоваться нужно и слушать всех и т.п. А потом пришла 4ая, тяжкая стадия. Самое стремное было - это приход пятой, когда уже начинаешь чувствовать, что что-то не так, что ты где-то что-то упустил, что на тебя “косо смотрят”
Basic, QBasic
А я уже на 7-м уровне! Дерзайте
Я не программист, а преподаватель китайского. Но многое из описанного здесь походит на стадии изучения обычных языков. Есть только одно сомнение: читал много раз, что на западе в больших фирмах программирование достаточно давно поставлено на промышленную основу. Есть \"чернорабочие\" - кодеры, есть более высокие уровни: проектировщики, дизайнеры кода и т п. То есть описанная в статье ситуация скорее похожа на кустарный ремесленный подход. Я веду к тому, что когда любу профессию ставят на массовую основу, вряд ли в ней будет много \"фана\", больше будет обычных рабочих будней.
Михаил, вот здесь вы правы. Ксожалению на постсоветском просторе слишком много инженеров и мало кодеров. даже не хочется думать сколько из здешних хайлевелщиков занимаются самообманом. а в жизни иногда приходится и поговнокодить, и бездумно писать, и переступать через "правильную" архитектуру.
Я могу сказать какая шестая стадия. Она называется “Теперь я хочу результатов”, когда ты понимаешь что все это весело и интересно, но на первый план выходит финансовый выход. И программы начинаешь оценивать не по изяществу, а по возврату инвестиций.