Содержание

10 способов научиться программировать самостоятельно | Статья

25 апреля 2015, 09:30

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

Читать далее

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

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

Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

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

Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.

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

Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

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

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

dev.by

Обучение программированию с нуля: с чего начать изучение в домашних условиях

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

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

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

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

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


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

После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.

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

В странах бывшего СССР основным языком программирования, преподаваемым в технических ВУЗах, был Бейсик.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:

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

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

В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.

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


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

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

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



Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

  • Простая для понимания основа – часть встроенных возможностей языка для простоты вынесена в отдельно подключаемые библиотеки. К таким элементам относится большая часть математических функций и методов для работы с файловой системой;
  • Оптимально подогнанная система типов – благодаря простому набору типов данных и строгой типизации уменьшается риск допущения ошибок в процессе написания программного кода;
  • Направленность C на процедурный тип программирования, при котором соблюдается четкая иерархия всех элементов кода;
  • Доступ к памяти машины с помощью указателей;
  • Минимальное количество поддерживаемых ключевых слов;
  • Поддержка области действия имен;
  • Поддержка пользовательских типов данных (объединения и структуры).

Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.

Для обучения программированию недостаточно одного лишь желания и наличия компьютера с выходом в интернет. Для написания программ на C вам потребуется специализированное программное обеспечение – компилятор.

Компилятор – специальная программа, переводящая программный код в форму, понятную для компьютера.


Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:

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

  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:


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

Да и в интернете можно найти очень много информации. Например, на нашем сайте специализированной литературе по IT тематике посвящен целый раздел.

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

  • Веб-программирование – здесь понадобятся знания PHP, CSS и HTML;
  • Разработка приложений под мобильную операционную систему Android – данная платформа построена на основе Java. Поэтому потребуется знание основ этого языка;
  • C# (си sharp) – дальний потомок C. На основе C# построена веб-технология ASP.net от Microsoft.


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

www.internet-technologies.ru

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

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

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

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

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

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

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

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

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

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

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

Сервис вопросов и ответов на технологические темы «Тостер»

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

Если почувствуете, что ваше развитие зашло в тупик, или захотите ускорить обучение, попробуйте следующие варианты.

13 советов тем, кто изучает программирование самостоятельно →

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

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

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

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

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

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

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

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

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

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

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

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

  1. Веб-разработка. Популярные языки: JavaScript, PHP, Python, Ruby.
  2. Мобильная разработка. Популярные языки: Java, Swift.
  3. Разработка игр и программ для настольных компьютеров. Популярные языки: C++, C#, C.
  4. Big Data, машинное обучение. Популярные языки: 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 и «ШАГ» гарантируют трудоустройство своим выпускникам.

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

lifehacker.ru

Как я сам научился программировать за 8 недель / Habr

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

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

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

Получение начального понимания языка программирования Python и общих методов программирования (2 выходных дня):

  • Learn Python the Hard Way. Несмотря на название, это довольно простой способ, он делает изучение основных понятий очень легким, и большинство уроков займет менее 10 минут. Тем не менее, я обнаружил, что данный способ не работает для некоторых, более сложных тем, так что я рекомендую остановиться после урока 42 и двигаться дальше.
  • Google’s python class. Читайте заметки и / или смотрите видео и делайте все упражнения, пока вы не будете выполнять их правильно — не подсматривая в ответы. Борясь с упражнениями, которые я постоянно делал неправильно было очень полезным для меня в качестве полученного опыта, и я узнал бы гораздо меньше, если бы я просто посмотрел на ответы и пытался убедить себя, что я понял упражнение.

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

Получение начального понимания веб-фреймворка Django (1 выходной):

  • Пройдите Django учебник.
  • Удалите весь код, который вы создали в процессе выполнения шагов из учебника.
  • Пройдите учебник еще раз, заново.

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

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

Получение более глубокого понимания Python / общих концепций программирования (4-8 выходных дня):

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

Практика построения простых веб-приложений (2 выходных дня):

  • Выполняйте упражнения из Django в примерах. Эти упражнения не так строго ведут ученика, как учебник Django, но они предлагают хороший способ, чтобы начать разрабатывать свои собственные простые веб-приложения.
Создайте свой прототип (2 выходных дня):

Вот и все. 8 недель (или меньше) и вы ушли от ничего не зная о разработке программного обеспечения до рабочего прототипа. Не так уж и сложно, так ведь?

Следующие шаги:

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

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

Оригинал: How I Taught Myself to Code in 8 Weeks

habr.com

Советы для новичков: как быстро учиться программированию

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

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

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

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

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

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

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

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

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

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

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

Постарайтесь следовать этой методике: когда самые минимальные знания уже получены, лишь 20% времени стоит тратить на изучение новых, а 80% на оттачивание изученных, разрабатывая реальные приложения. Освоить большой объём информации о языках программирования сразу не получится. Даже изучая английский, большинству требуется не менее трёх повторений, чтобы запомнить значение слова. А ведь помимо запоминания, нужно ещё научиться применять в реальных, не смоделированных для обучения ситуациях.

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

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

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

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

Если есть желание − то инструмент (технология или язык программирования) изучаются проще, а вы получаете удовольствие не только от результата, но и от процесса. Кстати, не стоит на раннем этапе быть излишне самоуверенным и говорить что-то вроде «никогда не буду делать сайты». Если не получилось однажды, это не значит, что не получится никогда.

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

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

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

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

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

Зубрёжка − так себе способ научиться чему-то. Запомнить на время − да. Кстати, большинство людей устроены так, что мозг в продуктивном состоянии находится примерно четыре часа в день, а остальное время идёт борьба с ленью (и это правильно!). Четыре часа осмысленного разбора полезнее, чем час зубрёжки.

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

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

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

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

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

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

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

Самая важная часть наступает в конце: сделайте перерыв и наградите себя (можно перекусить, например). Суть перерывов в том, что в небольшой промежуток отдыха (обычно до пяти минут), информация продолжает усваиваться. После каждого четвёртого помидора увеличивайте время для отдыха до 30 минут.

Источник: Как быстро учиться on Quartz

proglib.io

не задумывайтесь / Alconost corporate blog / Habr


Программировать быстро — это легко! Так считает инженер-программист компании Google, который все публикации в своем блоге подписывает лаконичным «Макс». Макс также работает главным архитектором, комьюнити-менеджером и релиз-менеджером в Bugzilla Project. Мы в Alconost впечатлились и перевели его советы о том, можно ли как научиться программировать с космической скоростью.

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

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

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

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

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

Это может звучать невероятно, но работает исключительно хорошо. Задумайтесь: когда вы сидите перед вашим редактором, но работа идет небыстро, потому ли это, что у вас низкая скорость набора? Я сомневаюсь: «слишком много набирать» — редкая проблема программистской производительности. Паузы, когда вы не набираете, — вот что все замедляет. А чем обычно заняты в таких паузах разработчики? Пытаются перестать думать — может быть, о проблеме, об инструментах, о сообщении в почте, да о чем угодно. Но всякий раз, когда такое случается, оно означает проблему. Размышления сами по себе — не проблема, но признак какой-то другой проблемы. Вероятно, вместо того, чтобы ходить по кругу в своих мыслях, вам стоит обратить внимание на что-то из этого:

Понимание


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

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

Таких вариантов — бесчисленное множество. Многие пользуются языком программирования, не разбираясь, что (, ), [, ], {, }, +, * и % означают в этом языке. Некоторые разработчики не понимают, как на самом деле работает компьютер. Помните мой «Единственный секрет программиста-рок-звезды»? Вот где суть! Ведь если ты по-настоящему понимаешь, тебе не надо прекращать ненужные размышления. Это также побудило меня написать книгу: понимание того, что есть незыблемые законы создания программного обеспечения, может избавить от многих эпизодов «борьбы с размышлениями».

Так что, если вы оказались в мыслительном тупике, не пытайтесь решить проблему в своей голове — ищите то, чего не понимаете, вне себя. После чего возьмите и посмотрите на что-то, что поможет вашему пониманию. Это применимо даже к вопросам вроде «Прочтет ли когда-нибудь пользователь этот текст?» У вас может не быть Департамента исследований пользовательского опыта для настоящего ответа на этот вопрос, но вы можете хотя бы нарисовать что-нибудь, показать другим, выслушать их мнение. Не пытайтесь просто сидеть и думать — сделайте что-то. Только действие ведет к пониманию.

Рисование


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

Начинание


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

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

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

Пропуск шагов


Еще одна специфическая проблема понимания — пропуск какого-то шага в правильной последовательности разработки. Например, наш объект Велосипед зависит от объектов Колеса, Педали и Рама. Если вы попытаетесь написать весь объект Велосипед без написания объектов Колеса, Педали и Рама, вам придется много обдумывать эти несуществующие классы. С другой стороны, если вы напишете класс Колеса, пока вообще не существует класс Велосипед, вам предстоит много размышлений о том, как класс Колеса будет использоваться классом Велосипед.

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

Не перепрыгивайте шаги при разработке своей системы — и это позволит вам быть продуктивным.

Физические проблемы


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

Отвлекающие факторы


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

Неуверенность в себе


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

Ложные представления


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

Бездействие


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

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

Как вам такой подход?

О переводчике
Перевод статьи выполнен в Alconost.

Alconost занимается локализацией приложений, игр и сайтов на 60 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Подробнее: alconost.com

habr.com

метод Франклина — статьи на Skillbox

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

В XXI веке обществу нужны работники информационных технологий (IT): инженеры, дизайнеры и программисты. Кто такой программист? Это профессионал, который всегда открыт новым знаниям и готов принять быстро меняющийся мир. Сегодня это самая перспективная профессия. С такой профессией вы всегда заработаете на хлеб с маслом в любой стране мира.

Языки программирования универсальны, так что работать вы сможете где угодно: или в родной России, или в теплой Калифорнии, куда уезжают самые талантливые ребята. Если вы не попали в топ мирового рейтинга — не беда. Рядовой программист может эмигрировать в Новую Зеландию, Германию, северные штаты вроде Иллинойса или Миннесоты. Выбирайте сами, в какую страну уехать жить и работать. Или остаться на родине. Кому-то больше нравится быть первым парнем на деревне, чем последним в городе (к тому же низкий социальный статус негативно отражается на состоянии иммунной системы). Когда у вас достаточно денег, то можно и здесь прилично жить.

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

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

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

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

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

Но рынку нужны надежные работники в большом количестве. Не каждому подходит путь самурая. Поэтому для широких масс выпустили кучу самоучителей — тысячи книг «для чайников». Книги в обложках, похожих друг на друга как близнецы: «Python для чайников», «Java для идиотов», «C# с нуля» и так далее.

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

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

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

Этот метод очень прост на практике. Фактически, он сводится к трем действиям.

Читать книгу как обычно. Когда попадется образец кода, прочитать его.

Закрыть книгу.

Попробовать набрать код.

Повторить пункты 1−3.

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

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

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

   MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.

   KhanAcademy: бесплатные лекции, в том числе по математике и информатике.

   Coursera: курсы от ведущих западных университетов.

   Список бесплатных книг по программированию (англ. яз.)

   Сборник учебной литературы для программиста

   Бесплатные книги по программированию на русском и английском

   Подборка бесплатных книг

   Занимательное программирование. Самоучитель. Автор:М. Мозговой.

   C# для школьников. Учебное пособие. Автор:М. Драйер.

   Программирование на Java для детей, родителей, дедушек и бабушек. Автор:Я. Файн.

Главная проблема в самообучении — отсутствие системного подхода. Трудно понять, что учить в первую очередь, а что во вторую, в каком порядке.

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

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

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

Сколько надо учиться на программиста? Например, программа обучения «Профессия веб-разработчик» рассчитана на один год и включает в себя три глобальных курса:

Веб-разработчик

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

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

Базовые навыки PHP

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

Хотя система платная, но зато повышает шансы на успешный результат. А результат — это престижная, востребованная и высокооплачиваемая профессия с интересными проектами и большими перспективами развития.

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

Курс «Профессия Веб-разработчик»

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

  •  32 часа теории и 16 практических заданий
  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

skillbox.ru