Ответ на вопрос - как стать хорошим программистом

Как стать программистом. Главные этапы становления личности.

Опубликовано: 30.04.2015 15:25
Просмотров: 4634

Я - программист. И сейчас хочу рассказать о всех стадиях формирования моей профессиональной личности с юмором и в подробностях. Читаем всё в этой статье.

Стать программистом очень просто!

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

Этап 1 - Что это за хрень???

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

Не нужно пытаться учить какой-то язык, а следует начать изучать алгоритмы. Попробуйте переформировать свой мозг. Если Вы поймёте саму концепцию программирования, то язык для Вас не будет иметь никакого значения (большинство языков, не учитывая всякие Prolog, Assembler и т.д.). Главное - понять суть, изучить циклы, переменные, основные алгоритмы, арифметические операции. Не лезьте в изучение синтаксиса определённого языка программирования, это лишь усугубит дальнейшую ситуацию. Я сам так делал и в итоге мне было очень трудно потом перейти с какого-нибудь C++ на PHP (хотя я совсем не жалею об этом).

На данный момент я знаю C++, C#, PHP, Prolog, Assembler, JavaScript, SQL, T-SQL + HTML и CSS (не совсем программирование, но тоже языки web). Много? Не думаю. Все эти языки сходны, аналогичны друг с другом, кроме Assembler и Prolog, тут всё очень запущенно :-) 

Этап 2 - Я прозрел

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

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

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

Этап 3 - Вот я и стал программистом

Пришло время осознания всемогущества. Вы понимаете, как всё это функционирует. Вам не страшно начинать изучать что-то новое, ведь всё Вам по силам. И тут в Вашу жизнь врываются базы данных, всякое ООП, навороченные среды разработки и прочее. Весь этот набор имеет огромные мануалы, которые надо "раскуривать" сутками, днями и ночами. Здесь же начинается постоянное проседание на тематических ресурсах, постоянный просмотр Хабры (для тех, кто не знает, это крупнейшее сообщество умных IT-шников в России). От Вас уходит девушка, Вы начинаете терять зрение, всё чаще заморачиваетесь над поиском различных багов на сайтах и в любых программах. Возможно, что именно сейчас Вы впадёте в кураж и начнёте просто тоннами пополнять свои знания.

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

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

Этап 4 - Завышенная самооценка

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

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

Я смог преодолеть этот рубеж именно после года работы на специальности. Сейчас я нахожусь на 5 ступени, когда понимаешь весь дзен, инь и янь.

Этап 5 - Учиться, учиться и ещё раз учиться

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

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

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

На этом я закончу. Всем спасибо за внимание и до новых встреч!