Как стать программистом с нуля? Возможно ли это? Что надо чтобы стать программистом


Что нужно знать программисту, чтобы стать профессионалом

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

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

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

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

Люди, которые задумываются о том, как стать PHP-программистом, должны понять, что основных знаний самого языка будет не совсем достаточно. Для получения хорошей работы и достойной оплаты необходимо разбираться в ООП, которое используется в написании популярных фреймворков и CMS. Работы с хранилищем данных - следующий этап того, что нужно знать программисту PHP.

В настоящее время будет достаточно ознакомиться с работой самой распространенной из баз данных - MySQL. Настоящий специалист также вряд ли сможет обойтись без языков верстки HTML и CSS. Несмотря на то, что PHP - это язык сервера, он связан именно со сборкой веб-старниц, написанных на HTML. Также понадобится и знание синтаксиса JavaScript и понимание работы распространенных фреймворков - JQuery или ExtJS. Сейчас несложно осваивать все эти современные инструменты с помощью многочисленных блогов и онлайн-курсов.

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

fb.ru

Как стать программистом с нуля самостоятельно

Как стать программистом с нуля самостоятельно? С чего начать учится программирование чайнику?

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

Как учить программирование с нуля?

1. Самостоятельно

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

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

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

Платформа с бесплатными курсами по веб-разработке freeCodeCamp

Запомните, что у вас ничего не получится без практики. Учитесь по проектно-ориентированным курсам и пытайтесь сами писать разобранные в них программы и сайты. Ищите лекции на YouTube с разбором проектов, которые вы бы хотели разрабатывать. Сначала копируйте работу других людей и анализируйте её. Затем пробуйте отходить от оригинала, экспериментируйте, изменяйте отдельные элементы, пока не сможете создавать что-то уникальное.

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

(!) Обязательно поставьте перед собой цель создать свой проект и постоянно работайте над ним.

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

Если у вас возникнут трудности в процессе обучения или разработки, вы всегда сможете обратиться по любому вопросу к сообществам программистов вроде «Тостер» и Stack Overflow.

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

Оттачивать навыки удобно на специальных площадках, где можно посоревноваться с другими программистами, решая с помощью кода различные практические задачи. В числе таких сервисов — Codewars, TopCoder и HackerRank.

2. С помощью ментора

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

Узнайте, есть ли среди ваших знакомых разработчики. Возможно, кто-нибудь из них захочет вам помогать. Если таких людей вы не знаете, можете поискать их в сообществах программистов. К примеру, на том же «Тостере». Только услуги менторства стоят недёшево, а за просто так тратить много времени на незнакомых людей никто не желает.

3. У преподавателей «живых» курсов

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

Популярные русскоязычные онлайн-площадки, которые занимаются системной подготовкой программистов: «Нетология», GeekBrains и Loftschool.

Если предпочитаете заниматься очно, можете поискать образовательные центры, которые обучают программированию в вашем населённом пункте. К сожалению, такие заведения чаще всего присутствуют только в больших городах.

4. В университете

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

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

Как выбрать направление и язык

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

  1. Веб-разработка: JavaScript, PHP, Python, Ruby.
  2. Мобильная разработка: Java(Android), Swift, Objective-C(IOS).
  3. Разработка игр и программ для настольных компьютеров: C++, C#, C.
  4. Искусственный интеллект, машинное обучение: Python, R, Scala.

На что обратить внимание при выборе?

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

График востребованности языков программирования на международном рынке труда / research.hackerrank.com

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

Если не можете определиться

Если вы в замешательстве, присмотритесь к JavaScript — языку, на котором написан почти весь веб. Многие организации и программисты советуют новичкам выбирать именно этот язык в качестве первого.

Например, основатель образовательного ресурса freeCodeCamp Квинси Ларсон рекомендует JavaScript всем начинающим. Ларсон приводит очень простые аргументы:

  1. JavaScript относительно легко освоить. А чтобы написать что-то и запустить на этом языке, достаточно иметь редактор кода и браузер.
  2. JavaScript — самый востребованный язык на международном рынке труда и у него большие перспективы. В экосистему JavaScript инвестируют крупные компании, такие как Google, Microsoft и Facebook.
  3. У JavaScript очень широкая сфера применения: от сайтов и браузерных игр до мобильных приложений.

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

Что ещё должен знать программист: математика и английский?

Каджому программисту не помешает глубокое понимание математики. Для таких направлений, как разработка игровой графики или большие данные, математический ум — это необходимость. Но что касается веб-разработки и создания несложных программ, то в большинстве случаев без математики можно обойтись. Хотя среди профессионалов на этот счёт нет единого мнения.

А вот понимание английского, хотя бы на уровне беглого чтения документации, обязательно для всех программистов. Официальные документы и большая часть образовательных материалов появляются в первую очередь на английском языке. Книги часто устаревают ещё до того, как выходит перевод. Кроме того, знание английского открывает перспективы для работы со всем миром.

Как получить первый опыт и первую работу

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

Очень ценным пунктом в резюме будет наличие опыта работы, особенно командной разработки. Но где его взять, если вы ищете первую работу?

  1. Выполните несколько заказов на биржах фриланса. Это могут быть «Фрилансим» или Upwork. Предлагайте свои услуги бесплатно, тогда к вам придут первые заказчики.
  2. Найдите единомышленников и создайте с ними общий проект. Люди объединяются для таких целей почти на каждой образовательной площадке, где есть курсы по программированию.
  3. Выберите курсы, организатор которых помогает с трудоустройством. Например, в GeekBrains после обучения открывается доступ к стажировкам от разных компаний, в том числе — оплачиваемым. GeekUniversity и «ШАГ» гарантируют трудоустройство своим выпускникам.

(!) Перед собеседованием не забудьте поискать в Интернете списки задач и вопросов, которые часто задают работодатели.

Присоединяйтесь в наш Telegram-канал чтобы быть в курсе всех последних новостей из мира Apple, Samsung, Microsoft, Google и других инновационных компаний.

cumgeek.com

Как стать программистом с нуля? Возможно ли это?

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

Какие качества нужны хорошему программисту?

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

Какими качествами должен обладать потенциальный программист?

— Математический склад ума – важное качество для программиста, которое, к сожалению, является врожденным. Если вы гуманитарий, а не аналитик – лучше не тратьте время на программирование.

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

— Целеустремленность пригодится в любой сфере деятельности.

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

— Обучаемость для программиста чрезвычайно важна, поскольку это быстро развивающаяся сфера деятельности, в которой постоянно появляются новые методы и инструменты.Все эти качества должны подкрепляться желанием осваивать новые знания и умения, добиваться поставленной цели. Без этого стать программистом довольно сложно – впрочем, как и любым другим специалистом.

Какие базовые знания вам понадобятся?

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

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

Какие способы обучения существуют?

Наиболее распространенный способ, как стать программистом – это обучение в соответствующем вузе. Однако в IT-сообществе немало и тех, кто смог стать программистом, минуя этот этап. По признанию большинства специалистов, программа вуза дает не более 10-20% необходимой информации, а практические навыки каждый нарабатывает самостоятельно.

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

Книги и самоучители

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

Кроме того, абсолютно недостаточно просто читать – прежде всего, нужно программировать, а научиться этому без поддержки настоящего программиста нелегко.

Платные курсы

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

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

Индивидуальное обучение

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

www.mnogo-otvetov.ru

Что нужно сделать, что бы стать программистом?

Довольно часто мне задают подобные вопросы. После небольших расспросов выясняется, что люди не особо представляют особенности этой профессии. Более того, люди не особо даже и хотят быть собственно программистами. Например, совсем недавно у меня был подобный разговор с одним моим знакомым парнем. После пары вопросов выяснилось, что он хочет быть скорее дизайнером или архитектором. А собственно само программирование его не особо интересует. Думаю, что это ключевой момент — первым делом нужно разобрать собственно кем вы хотите быть, а уж потом пытаться «сделать мечту явью». Итак приведу примерную небольшую инструкцию:1. Попытаться разобраться с разнообразием «околопрограммистстких» профессий, попытаться выяснить кем вы все таки хотите стать, только тогда пытаться «копать глубже»

Приведу список (далеко не полный) профессий, которые некоторые считают, что ими занимаются программисты, хотя это не так:

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

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

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

  • Программировать под Windows или под что-то другое?
  • Язык программирования?
  • Направление (или раздел) в выбранном языке программирования?

На данный момент, нельзя сказать однозначно что лучше. Изучать все подряд просто не реально. Далее я буду предполагать, что вы собираетесь программировать под Windows, язык программирования C#, направление — веб-программирование (т.е. вы хотите писать сайты). Почему так? Да просто именно сейчас я этим занимаюсь.

Если вы дошли доданного места, то можете считать, что половину дела вы сделали. Далее вам нужно:

  1. Купить компьютер (или то устройство для которого вы хотите писать программы)
  2. Поставить программу в которой вы будете собственно писать программы. Для C# это Microsoft Visual Studio.
  3. Поставить перед собой задачу и попробовать ее решить. При этом попробуйте объяснить самому себе, как такую задачу проще всего и наиболее надежно можно решить.
  4. Купить книгу по интересующему вас языку программирования и ознакомится с основами и основными конструкциями данного языка. Очень важно понимать, что выучить все особенности языка без практического использование невозможно. Вы должны просто обзорно знать, что данный язык позволяет сделать и какие правила построения программ он использует.
  5. Начать решать задачу. И решить ее, чем больше задач вы решите сами, тем ближе вы будете к цели.

Чего делать НЕ надо!

  1. Читать и пытать выучить огромные справочники и талмуды по всем особенностям работы с Visual Studio или по программированию на C#. Это примерно тоже самое, что изучать английский язык путем заучивания всех слов в словаре. Для беглого разговорного английского достаточно совсем небольшого словарного запаса и общего понимания структуры языка. (Если мнение что достаточно знать 300-400 слов и вообще не учить никаких правил, если находишься в языковой среде)
  2. Идти на курсы «программирование для чайников». Я уже писал про это тут. Если кратко: очень важно разобраться хотя бы в основах самому. Работа программиста предполагает постоянное и непрерывное самообучение. Это означает, что вам постоянно придется в чем то разбираться или что-то осваивать. Очень важно начинать делать это как можно раньше.
  3. Идти к знакомому программисту, что б он вам все рассказал. Вам очень повезет, если ваш знакомый программист окажется хорошим преподавателем. К тому же, как я уже писал выше, вы не сможете постоянно бегать к нему за новыми знаниями — когда то придется начинать разбираться во всем самому. Это не означает, что не нужно просить помощи или совета у кого-то кто разбирается. Просто вы сначала разберитесь, попробуйте решить вопрос, а потом идите к знакомому программисту с конкретными вопросами.
  4. Пытаться попасть на фирму — там спецы вам все покажут. На фирмах спецы работают и зарабатывают деньги. Не думайте, что кто то будет тратить свое время на то, что б подтянуть вас. Даже если вам удастся попасть на такую фирму, на вам скинут ту работу, с которой вы точно справитесь (что не рисковать срывом проекта). Ни о каком развитии речи не будет. Вам придется работать и в не рабочее время заниматься изучением программирования.

 

 

 

 

Поделиться ссылкой:

Похожее

lifeupper.ru

Как стать программистом с нуля?

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

Как стать программистом с нуля?

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

Те, кто интересуется, как стать успешным программистом, могут двигаться в таких направлениях:

  1. Обучение в ВУЗе. Многие молодые люди после окончания школы выбирают для себя именно IТ-направление. Там можно получить знания и определенные навыки, к тому же диплом может быть значимым преимуществом при приеме на работу. Важно правильно выбрать учебное заведение, которое может похвастаться профессиональными преподавателями.
  2. Обучение на специализированных курсах. Сегодня можно найти курсы, которые позволяют получить знания и навыки. Есть разные варианты, например, можно найти абсолютно бесплатные курсы, а также курсы с последующим трудоустройством.
  3. Помощь наставника. Еще один вариант, как стать хорошим программистом – найти так называемого репетитора – опытного человека, который поделится своими знаниями и навыками. Искать таких самородков стоит на различных конференциях, форумах и т.д.
  4. Самообучение. Этот путь для новичков является наиболее сложным. Для успешного программиста важно постоянно развиваться, получая новые навыки. Даже если вы обучаетесь в университете, дополнительное самообразования будет просто необходимо. Сегодня можно найти в сети много различных книг, статей и другой информации, которая позволит узнать необходимые языки программирования и технологии.

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

Выясняя, как стать хорошим программистом, стоит поговорить и том, где можно получить начальный опыт. Начинать практиковаться следует параллельно с изучением теории. Используя примеры, которые есть в книгах, старайтесь их усложнить, применяя собственные задумки. После этого можно переходить к бирже, где есть различные варианты работ для программистов. Еще один вариант – open source. Подобные проекты часто набирают новичков. Попытайтесь устроиться на стажировку в IТ-компанию, что позволит проявить себя и возможно закрепиться в этой сфере.

kak-bog.ru

Как стать программистом

В связи с бурным развитием сферы IT все профессии, с ней связанные, становятся все более востребованными. Одна из таких профессий — программист, поэтому многих молодых людей, да и девушек тоже, интересует вопрос: как стать программистом?

Начнем с того, что «программист» — это понятие довольно расплывчатое, как и, скажем, «юрист». Человек, изучавший юриспруденцию, может стать нотариусом, адвокатом, прокурором, судьей, юрисконсультом и т. п. А человек, изучавший программирование, может стать программистом баз данных, программистом 1С, веб-программистом, писать пользовательский софт, игры или программировать станки с ЧПУ...

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

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

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

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

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

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

Общайтесь на профессиональных форумах, не бойтесь просить помощи у бывалых программистов, а по мере продвижения в учебе можете сами пытаться что-то советовать новичкам: если вы посоветуете неправильно, вас поправят, но воспринимайте это не как «опускание», а как источник знаний и опыта. Принимайте участие в Open Source проектах. Денег они вам не принесут, зато принесут опыт и строчку в резюме. Участвуйте в конкурсах. Даже если вы не займете призовое место это, опять же, опыт. К тому же, многие крупные компании находят новые кадры именно с помощью различных конкурсов по программированию.

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

strana-sovetov.com

"Нужно учиться всю жизнь". Сколько понадобится времени, чтобы стать программистом?

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

Программисты тоже бывают разные: дипломированные и самоучки, веб-разработчики, разработчики под Android и iOS, программисты 1С, инженеры-программисты и так далее. Так сколько же времени нужно, чтобы стать программистом – один день или, может быть, целая жизнь?

 

«Отсчет времени начинается еще со школьной скамьи»

Дмитрий Раковец, javа-разработчик:

Однозначно на этот вопрос ответить нельзя, так как время подготовки программиста зависит от нескольких параметров: усердия, способностей. Обладая ими в должной мере, за один год можно изучить язык программирования и необходимые технологии. На выходе получим начинающего разработчика.

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

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

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

Мой программистский путь начался, увы, поздно. Я с программированием столкнулся только в университете (с Паскалем). Это было связано с тем, что школа, в которой я учился, к сожалению, не могла дать мне даже самых примитивных знаний в этой области. Но с учетом того, что я занимался олимпиадной математикой – сразу же начал делать успехи и в программировании. Не сразу, но все-таки решил сделать шаг навстречу промышленной разработке. За месяцев 6 изучил все необходимое для старта на курсах, и на данный момент работаю javа-разработчиком.

 

«Программированию нужно учиться всю жизнь»

Дмитрий Тулупов, ведущий веб-разработчик:

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

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

Я, например, занимаюсь программированием примерно с 2009 года, может чуть раньше. Сначала начинал с создания простых страниц на html и табличной верстки. Потом постепенно стал изучать CSS, JavaScript и PHP. Затем пошли готовые CMS (Системы управления контентом), их программирование и программирование модулей для этих систем. После этого я подробно разбирался в различных PHP-фреймворках и так далее. Сейчас технологий слишком много. Применяемых и новых, востребованных и забытых. Понятное дело, все знать невозможно. Но совершенствоваться и стремится к новым знаниям мы обязаны.

Здесь ещё очень важно учитывать, что подразумевается под словом «программист». Это примерно, как на музыкальном инструменте играть. Есть те, кто играют 3-4 аккорда до 5 лада и называют себя гитаристами, а есть те, кто в состоянии идеально исполнить всю дискографию Хендрикса, но на вопрос «ты умеешь играть?» они ответят: «ну, так, поигрываю чуть-чуть»...

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

 

 

«Без постоянного обучения твои навыки быстро устаревают»

Александр Сташкевич, инженер-программист:

Если под словами «стать программистом» подразумевается получить работу, то первым делом нужно освоить базовые знания в выбранном направлении.

Обучаться (не в университете на факультете информационных технологий) можно разными способами:

  1. Самообразование;
  2. Ментор;
  3. Курсы.

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

С развитием проекта человек будет постоянно учиться и улучшать качество кода. Временные рамки этого этапа очень персонализированы, для некоторых проектов может потребоваться 1-2 недели, а для некоторых – пару месяцев. Опубликовав один (2-5 месяцев), а лучше несколько (3-10 месяцев) проектов, можно отправляться на поиски работы.

Наставник, понятное дело, ускоряет процесс изучения. Он указывает на ошибки и области, в которых обучаемому не хватает знаний. Возможно, он даже поможет с поисками первого проекта/работы.

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

Если же говорить о классическом вузовском образовании, то университет требует намного больше времени на обучение, но и должен давать более широкий спектр навыков. Такой спектр обширен, однако не всегда дает глубокие знания в конкретных областях. Грубо говоря, после 2-го курса нужно выбрать интересное для себя направление и углублять свои знания, развивать навыки именно в нем.

Можно ли получить эти знания не тратя 4 года? Если в самом начале изучения человек уже выбрал направление своего развития, то на прохождение нужных именно ему университетских программ он потратит намного меньше времени. Университет ведь помимо образовательных функций, развивает в человеке личность. А это тоже требует времени.

 

«Даже художник может стать программистом»

Евгений Вишневский, веб-разработчик, руководитель веб-студии:

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

То, чему я учился в университете на 1 курсе, к 5 уже давно стало не актуальным. Например, когда я был студентом 2-3 курса, Стив Джобс презентовал первый iPhone, а когда я заканчивал университет – смартфон уже был обыденной вещью. Это именно та сфера, в которой все очень быстро меняется, так что учиться приходится постоянно.

Я не считаю, что в настоящий момент просто для того, чтобы сидеть и писать код, нужно иметь высшее или даже среднее специальное образование. У меня были знакомые художники, которые стали программистами. Они занимались графикой, живописью, а потом решили, что им это больше не интересно и стали программистами. То есть они прошли полугодовые курсы и в итоге работают программистами в весьма немаленьких компаниях. Но здесь вопрос в другом: какие задачи могут решать эти люди? Просто сидеть и писать код... с такими навыками и уровнем подготовки они не смогут в нашей стране претендовать на зарплату свыше $2000.

Вообще, белорусский рынок изначально развивался как аутсорсинговый для Запада. То есть там есть ребята, которые получают большие деньги, отдают заказы белорусам, а последние просто сидят и кодят. Вся экспертиза там, в Беларуси программисты просто выполняют механические действия. Сейчас этот вектор уже немножко смещается, даже экпертиза во многом уходит в Беларусь. Здесь есть самые современные «вещи» – нейронные сети, искусственный интеллект. У нас много стартапов, которые нацелены именно на это. И вот там все ребята имеют минимум высшее инженерное образование. Ведь эти знания им действительно необходимы: статистика, матанализ и так далее, с теорией вероятности им нужно быть хотя бы знакомыми. И это тоже программисты.

Но с другой стороны, есть условный товарищ, который дома «на коленках» пишет сайты (не важно какого они качества), однако он тоже себя считает программистом. Хотя посмотрел три видеоурока, научился ставить CMS-ку и добавлять на неё картинки. В итоге у него получается сайт. И он тоже программист.

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

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

 

«Не все люди, которые закончили вуз по программистским специальностям, в итоге становятся программистами»

Алексей, фронтенд-разработчик:

 

В первую очередь, все зависит от базовых знаний в Computer Science. Это архитектура ЭВМ, знание того, как производятся вычисления и тому подобное. Во вторую – от базового понимания основ программирования, ведь наличие этих знаний может сильно сократить путь становления программиста.Количество затрачиваемого времени также сильно зависит и от предметной области, в которой ты хочешь стать программистом. Поскольку могут понадобиться дополнительные знания в этой самой предметной области: биология, физика+математика, искусственный интеллект, блокчейн, компьютерная графика и так далее.

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

Качество знаний, конечно, тоже напрямую зависит от количества времени, которое человек инвестирует в обучение. Кто-то может уделять программированию по 2 часа раз в два дня, а кто-то может по 12 часов в день сидеть. И вот все это вместе может составлять умопомрачительно разные сроки обучения.

В итоге все сводится к тому, что сроки – это нечто, сложно оцениваемое. Можно, допустим, сказать, что на каком-то языке программирования стать Junior Developer можно за 1 год. Только как об этом корректно судить? Ведь этого джуна, например, взяли на какую-то одну работу, а в 20 других мест, где нужен джун, не взяли. Так что статистически он рынку был не особенно нужен.

Кроме того, умение программировать – не единственное умение, которое требуется от программиста. Потому что всегда есть всякие смежные «вещи»: базы данных, верстка, системы очередей, какая-нибудь анимация, системы контроля версий, системы развертывания, облачные технологии и так далее. То есть это как бы не совсем программирование, но при этом джава-бэкэнд разработчик без знания баз данных никому и даром не нужен.

В общем, очень сложно оценить сколько времени нужно, чтобы стать программистом. Главное, помнить сакраментальную вещь: не все люди, которые закончили вуз по программистским специальностям, в итоге становятся программистами.

www.kv.by