Вы решили освоить профессию программиста

 

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

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

Программирование по праву считают особым видом искусства. Программисты ставят себя в один ряд с художниками и скульпторами. Я не сильно поддерживаю такое мнение. Программирование – это, прежде всего, решение задач, и только после этого все остальное. Перед тем, как принять решение какими языками программирования вам необходимо овладеть (ОС,СУБД и другими), нужно четко определить для себя две вещи.

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

Потом примите решение, для чего вам необходимо программирование. Вы хотите устроиться на работу в известную IT-компанию, заработать много денег или же выехать на работу в другую страну? Либо же вашим желанием является освоение профессии с свободным графиком работы и без конкретных рамок труда от работодателя?

Нужно для себя правильно сформулировать вопрос, например: «Я хочу стать программистом для того, чтобы устроиться на работу в фирму К, которая является известной, и моя цель там достичь успеха». Если ваше желание является таковым, можно попросту посмотреть вакансии компании К и уже точно знать какие навыки вам понадобятся согласно требований к кандидатам. Также можно попытаться устроиться на стажировку в эту иди же подобную компанию, чтобы набраться опыта и получить необходимые знания уже на месте. Для таких фирм, как правило, это вполне приемлемо. Они с удовольствием берут на практику стажеров и проводят их обучение, поскольку специалистов в этой отрасли действительно не хватает. Кроме того, можно написать отличный дипломный проект, проходя стажировку в компании.

 

Я лично вижу программирование двух разных уровней – низкого и высокого.

Мое мнение таково, что именно от вашего выбора ниши для дальнейшей работы и будет зависеть вся карьера в будущем. Реальность расставляет все на свои места. Только потому, что невозможно одновременно разрабатывать крутые программы и одновременно опытным разработчиком мобильных интерфейсов для гаджетов. Тоесть, необходимо четко определить для себя сферу своей деятельности. Если еще в рамках одной ниши можно переучиться, например с Java- разработчика на создателя пользовательских интерфейсов для мобильных устройств, то сменить полностью нишу не удастся. И проблема не состоит в том, что вы не сможете научиться правильно писать драйвера, скорей всего вам просто не доверят без опыта подобную работу.

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

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

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

 

Мне хочется думать, что ваша цель не посредственный программист. К такому нельзя стремиться. Поскольку отрасль постоянно развивается и меняется. И то, что совсем недавно считалось суперпродвинутым, сейчас уже устарело. Поэтому особое задание программиста – постоянно развиваться и совершенствоваться, иначе совсем скоро он будет далеко позади. А если вы поставили перед собой цель работать в известной компании и добиться большого успеха, значит вам просто необходимо постоянно развиваться.

Саморазвитие программиста – это целая отдельная тема, которая состоит из многих факторов, но первое место среди них занимает постоянное чтение книг. Именно самых настоящих книг о программировании, а не разнообразных блогов и новостных сайтов. Главное взять за привычку читать по дороге на работу, с работы, либо же перед сном, но регулярно. Читать надо очень много!  Книги по программированию, как правило, достаточно объемны, поэтому моя рекомендация прикупить хороший планшет и читать из него.

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

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

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

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

Вот такие вот мои основные советы для тех, кто задумался стать программистом.

 

Автор статьи: Анатолий Панко (Компьютерные курсы "Столица").

User

  • Доска объявлений AdsManager 2913 для Joomla 2.5/3.0

    Кирил Кирил 18.08.2014 06:37
    http://joomlaru.com/mod/ja-social-locker.html

    Подробнее...

     
  • Доска объявлений AdsManager 2913 для Joomla 2.5/3.0

    Andrey Andrey 17.08.2014 20:07
    Admin как Вы реализовали социальный замок на ссылках для скачивания?

    Подробнее...

     
  • Модуль SP Virtuemart Product Slider для Joomla 2.5

    Руслег Руслег 25.07.2014 14:24
    В упор не могу понять, как в Модуль SP Virtuemart Product Slider для Joomla 2.5 настаивать таймер ...

    Подробнее...

Копирование материалов сайта без прямой обратной ссылки на первоисточник запрещено.