- PVSM.RU - https://www.pvsm.ru -
Изначально задумывалось, как комментарий к посту Программирование для начинающих: как стартовать и куда двигаться? [1]. Но потом решил написать пост о своем пути становления программистом, так как воспоминания еще относительно свежи да и возможно мой опыт будет полезным несколько более широкой аудитории.
Все ниже написанное — мой личный опыт и мнение( которое может быть и ошибочным ).
Если все еще интересно, прошу под кат
История болезни началась еще в школе. В 8-ом классе (2004-ый год). Когда мне стало интересно не только лазать по веб-сайтам, но и стало интересно создать что-то подобное. Так как знакомых/родственников программистов у меня не было, но был только компьютер с доступом в интернет, то на помощь пришел Google. Я узнал что такое HTML. Первые шаги мне помог сделать электронный учебник: «Алленова Наталья: HTML — Первые Шаги». Далее пошли эксперименты. Для написания HTML кода я использовал стандартный блокнот из Windows. Так прошло пол года.
К концу 8-ого класса я уже осознал, что на одном HTML ничего не сделаешь и что нужно использовать какой-то язык программирования (спасибо, Google!). Так как недалеко от дома находился книжный магазин, то я направился к нему, имея в руках небольшую сумму денег (порядка 10-15 долларов). Так как опыта небыло, то выбор пал на PHP, так как тогда это был наверное main stream. И бОльшая часть книг по программированию была посвящена именно ему. Это была книга Самоучитель PHP 5 [2]. Книга была написана довольно простым и понятным языком. Оглядываясь назад — PHP был не лучшим выбором для начала программирования. Сейчас я бы наверное обратил свой взор в сторону Ruby/Python. Программирование давалось мне не очень легко. Порой на нескольких главах я зависал по несколько недель. Но было чертовски интересно. Вечера пролетали незаметно. Я не «читал книгу». Я ее прорабатывал, отходил в сторону, пытался понять тонкости. Как программирования в целом, так и PHP. На это уходило намного больше времени, чем если бы было просто прочитать книгу (и большую часть забыть). Параллельно с этим познакомился с основами SQL и JavaScript.
Так закончился 8-ой класс и я дошел до середины 9-ого класса. Школа стала обременять меня, так как приходилось делать уроки и учиться, что мешало мне программировать. Написав несколько веб-сайтов и CMS «в стол» я решил, что стоит переключиться на что-то «более серьезное». «Вернуться к истокам» так сказать.
Приобрел две книги «Как программировать на С» и «Как программировать на C++» от Дейтел'ов. Засел с ними и так наверное продлилось до конца 10-ого класса. Книги были достаточно увесистыми и объёмными. Было ново и интересно (указатели, ручная работа с памятью, высокая производительность по сравнению с PHP).
После 10-ого класса я решил, что наверное стоит найти практическое применение своим навыкам. Я залез на российские фриланс сайты. Так как я был не очень активным в этом плане, то сделал наверное несколько простеньких работ, связанных с версткой шаблонов и несколько маленьких заказов связанных с программированием на PHP. Нужно сказать, что я был несколько разочарован. Заработал на этом 3 копейки. Да и мне хотелось программировать. БОльшая же часть того, что я видел на фрилансе связанным с PHP — было натягивание шаблонов на Joomla/Drupal. Я стал снова «писать в стол». Пытался достичь совершенного кода, переосмыслить то, что я делаю. (Лучше бы пару книг почитал по красоте кода).
Так закончилась школа. Начался институт. Я поступил на Информатику. Думал тогда, что «Теперь будет только то, что реально нужно, никакой ненужной шелухи». Это было весьма наивно. В университете в основном давались только те знания (в плане программирования) что я и так имел.
До конца первого курса я был весьма восторженным в плане обучения в университете и наивно верил, что «меня научат». И мало двигался вперед в плане программирования. Но на 2-ом курсе было не лучше и я понял, что если самому не двигаться, то никуда не придешь. За первые 2 года в университете я познакомился самостоятельно с несколькими PHP фреймворками и шаблонами проектированиями. Углубил свои знания SQL, JavaScript. Пересел под Linux.
Правда был и еще один плюс.
Я познакомился с Java. Язык мне очень понравился. Я много читал и практиковался. Начал изучение Java я с чтения книги David'a Eck'a Introduction to Programming Using Java [3]. Тут же дало знать отсутствие знания английского языка. Литературы на русском нормальной и актуальной в плане Java весьма мало. Так что пришлось параллельно и свои умения в этом плане прокачивать. Далее пошло и поехало. Мне снова стало интересно, как программировать под Веб на Java. Это в принципе другой мир, еще не познанный мной до сих пор. Принципиальное отличие для меня было в том, что помимо самого языка Java приходилось узнавать еще и о существовании множества вещей, которые нужны для того что-бы «можно было начать писать код».
После 2-ого курса я устроился на работу младшим Java программистом. Где мне пришлось научиться быстро ориентировать в том, что плохо знаешь или не знаешь вообще: Maven, Ant, Ivy, Spring, Hibernate, Struts2, многопоточность.
Подводя итоги всему выше сказанному и проанализировав свой опыт, я могу сказать, что:
Буду рад вашим заметкам/комментариям и критике.
P.S. Получилось несколько сумбурно и порой несколько противоречиво, но надеюсь мой опыт будет кому-то полезен.
Автор: skywatcher
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/7436
Ссылки в тексте:
[1] Программирование для начинающих: как стартовать и куда двигаться?: http://habrahabr.ru/post/143737/
[2] Самоучитель PHP 5: http://www.softtime.ru/php5/?id_article=6
[3] Introduction to Programming Using Java: http://math.hws.edu/javanotes/
[4] Чистый код: http://www.ozon.ru/context/detail/id/5011068/
[5] Unit тестирование: http://en.wikipedia.org/wiki/Unit_testing
Нажмите здесь для печати.