Главная » Компьютер, железо » Основы кодинга. Как и где научиться кодингу? С помощью ментора

Основы кодинга. Как и где научиться кодингу? С помощью ментора

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

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

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

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

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

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

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

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

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


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

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

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

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 и «ШАГ» гарантируют трудоустройство своим выпускникам.

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

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

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

1. Используйте стандарты кодинга

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

Вы можете создать свои собственные стандарты оформления кода, но лучше использовать один широко-используемый. Используя Стандарт Кодинга Zend Framework , или PSR-1 Стиль Кодинга , остальным будет проще адаптироваться.

2. Используйте комментарии

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

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

3. Занимайтесь рефакторингом

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

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

Рефакторинг — больше искусство ежели наука, но существует несколько хороших правил которые могут пролить свет на это:

  • Если ваша функция или метод больше 20-25 строк, скорее всего там содержится слишком много логики, и вы можете разделить её на две или более функции/метода поменьше.
  • Если название вашей функции или метода состоит более чем из 20 символов, стоит пересмотреть имя, или пересмотреть всю функцию/метод используя первое правило.
  • Если вы имеете много вложенных циклов, вы используете слишком много ресурсов не понимая этого. В общем, вам стоит пересмотреть логику, если вы вложили более двух циклов. Три вложенных цикла — просто ужасно!
  • Рассмотрите есть ли подходящие паттерны проектирования которые вы можете использовать. Вам не стоит использовать паттерны просто ради использования паттернов, но паттерны предлагают проверенные решение, которые могут быть подходящими.

4. Избегайте глобального кода

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

В идеале, вам не стоит определять какие либо блоки глобально. Выражения switch, try-catch, foreach-циклы, while-циклы и тому подобное должны быть описаны внутри метода или функции. Методы должны быть описаны внутри классов, а классы и функции внутри пространств имен.

5. Используйте имена со смыслом

Никогда не используйте имена подобные $k , $m и $test для ваших переменных. Как можно прочесть такой код в будущем? В хорошем коде имена переменных, методов/функций, классов; должны нести смысловую нагрузку. Несколько хороших имен для переменных: $request , $dbResult и $tempFile (Зависит от вашего стиля кодинга).

6. Используйте структуры со смыслом

Структуризация вашего приложения является важной; не используйте сложных структур, всегда придерживайтесь простоты. Когда даете имена директориям и фалам, используйте принцип именование о котором вы договорились с командой, или который отвечает стандартам кодинга. Всегда отделяйте четыре части PHP приложения друг от друга – CSS, HTML Шаблоны, JavaScript, PHP код – и для каждого попробуйте отделить библиотеки от бизнес-логики. Также хорошей идеей является сохранять сохранять иерархию директорий настолько малой насколько возможно, тогда вам будет легче искать части кода и ориентироваться в структуре.

7. Используйте системы контроля версий

Раньше, хорошие группы разработчиков доверяли CVS . Теперь, мы имеем вариацию доступных решений. Управление изменениями и ревизиями должны быть простыми но эффективными, так что выбирайте любую систему контроля версий, которая будет работать лучше всего с потоком вашей команды разработчиков. Я предпочитаю использовать распределённую систему контроля версиями, как Git, или Mercurial; оба бесплатные/с открытым исходным кодом и очень мощные. Если вы не знаете что такое система контроля версий, я рекомендую вам ознакомится с серией статей Шона Гадгстона Introduction to Git .

8. Используйте инструменты автоматического построения

9. Используйте документаторы кода

Для больших приложений охватывающих несколько классов и пространств имен, вам стоит иметь автоматически сгенерированую API документацию. Это очень полезно и все в команде будут знать «что есть что». И если вы работаете над несколькими проектами одновременно, вы сочтете эту документацию благодатью, ведь вы наверняка забудете особенности структуры и прочие отличия между проектами. Один из таких документаторов который вы можете рассмотреть это DocBlox .

10. Используйте Тестирование

Существует множество инструментов, которые я очень ценю, но один, который я явно ценю — фреймворки которые помогают автоматизировать процесс тестирования. Тестирование (а именно систематичное тестирование) важно для каждой части вашего приложения на миллион долларов. Хорошие инструменты для тестирования — PHPUnit и SimpleTest для юнит тестирования ваших PHP Классов. Для тестирования GUI, я рекомендую SeleniumHQ tools .

Итог

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

Умение программировать является одним из самых ценных навыков, востребованных в современном мире. И практически не важно, что именно заставляет человека создавать код: искренний интерес, финансовые или карьерные соображения ­– тот кто умеет программировать, без дела не останется. Кодирование очень похоже на общение на иностранном языке, поэтому на первых этапах изучения программирования новичкам часто бывает нелегко. Многие при этом испытывают сильный дискомфорт, но со временем все налаживается и человек начинает кодить легко, без сильных умственных затрат. Сегодня можно найти множество книг и онлайн-ресурсов, с помощью которых можно научиться кодировать, но любое самообучение связано со стрессом и негативными эмоциями – об этом всегда нужно помнить, начиная осваивать какой-нибудь язык программирования. Самое главное для начинающего кодера – не забросить изучение языка на полдороге, потеряв всякий интерес к этому занятию. Так что же нужно знать будущему программисту? Какие трудности ждут его на пути к овладению полезными навыками?

Языки программирования

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

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

Подходящая методика обучения

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

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

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

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

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

Фиксация успеха

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

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

Понятные сроки обучения

Когда дело доходит до кодирования, многие новички допускают распространенную ошибку – они разом пытаются сделать кучу заданий и как правило бросают их все, не закончив. Им становится интересно что-то другое, чаще всего другие задачи, поэтому они скачут от одного проекта к другому. Не стоит так делать. Лучше всего двигаться планомерно – решать одну задачу или разбираться в примере до тех пор, пока не станет все понятно. Это очень простой принцип: одно дело за один раз.

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

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

Общение с другими программистами

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

Правильный и неправильный подход

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

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

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

  • CheckiO - игра, в которую вы можете играть в своем браузере, она требует решения проблем в JavaScript или Python для продвижения по игре.
  • CodeMonkey - в основном предназначена для детей, но если вы новичок, вы можете узнать какой-либо код, играя в эту игру.
  • Codewars - это не настоящая игра, скорее решение совместных задач для программистов. Это отличный способ овладеть кодингом, так как игра поддерживает многие языки.
  • Code Combat – это онлайн-платформа, это где можно научиться кодировать, играя в реальную игру.

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

Вывод

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

Кодинг - « новый черный »


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

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


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

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

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

Оффлайн платно


Moscow Coding School (MCS)

Сайт: MosCoding.ru

«Кодинг - "новый черный"» - один из слоганов, которые вы первым делом увидите на сайте MosCoding.ru. Помимо прочего, призывают кодить, кодить и еще раз кодить, обещают предоставить кибер-турники для диджитал-воркаута, чтобы перековать хипстеров в хакеров .

Если серьезно, в Москве большое событие: на днях открылась кодинг-школа Moscow Coding School (MCS ). Ее основатели - Кирилл Жвалов и Вадим Резвый. Партнеры школы: Dream Industries, W-O-S, SoundCloud, Look At Media и Innova Systems. Занятия будут проходить в многофункциональном пространстве DI Telegraph (Dream Industries ) в здании Центрального Телеграфа. Уровень студентов - новички и специалисты, желающие повысить свой профессионализм. Обучать будут кодингу, веб- и мобайл-разработке. Moscow Coding School обещает стать модной школой для представителей креативных профессий (стартаперов, журналистов, блогеров, художников, дизайнеров и др.). В качестве хорошего бонуса - приятный и полезный нетворкинг. Начинают с трех курсов: «Основы HTML и CSS», «Динамичный веб с jQuery» и «Инструменты веб-девелопера».

  • «Основы HTML и CSS» (9 999 руб.). Преподаватель - Михаил Рейзлин, разработчик SoundCloud. Продолжительность - 4 дня по выходным, 3-часовые занятия с перерывом. С собой рекомендуют принести ноутбук с предустановленным браузером Google Chrome и текстовым редактором Sublime Text. В программе курса: веб-стандарты; состояние индустрии ; инструментарий разработчика ; отличия браузеров ; строительство и дизайн сайтов ; сетап рабочего пространства и создание первого сайта; HTML5, основные HTML-теги и элементы ; семантическая разметка ; изменение вида страниц при помощи CSS ; система селекторов элементов ; атрибуты ; позиционирование элементов на странице ; верстка макета из psd-файла; инструменты для работы с версткой (Chrome Web Inspector , Firefox Debugging Tools ); веб-типографика (Google Fonts, Typekit) ; возможности CSS3 ; оптимизация сайта ; хостинг и DNS; Zen Coding (делать меньше и успевать больше); секреты продвинутого CSS-позиционирования; изолирование проблем методом исключения и др.


  • «Динамичный веб с jQuery» (9 999 руб.). Преподаватель - Роман Гордеев, Front -End разработчик проектов Third Place и Exchang.es (Dream Industries). Продолжительность - 4 дня по выходным (15, 16, 22, 23 февраля), 3-часовые занятия с перерывом. Для прохождения курса рекомендуется знать основы HTML/CSS. С собой - ноутбук с любой операционной системой и предустановленным браузером Google Chrome. В программе курса: JavaScript-библиотека jQuery; основы JavaScript; работа с селекторами; модель DOM; примеры эффектов и анимации; изменение веб-страниц с помощью консоли браузера; событийная модель браузера; изменения страницы в зависимости от действий пользователя; события мыши и клавиатуры; плагины jQuery; практическая работа.

  • «Инструменты веб-девелопера» (9 999 руб.). Преподаватель - Сергей Чикуенок, главный веб-технолог Innova Systems, создатель плагина Emmet.io. Продолжительность - 4 дня по выходным (1, 2, 8, 9 марта), 3-часовые занятия с перерывом. В программе курса: визуальные, текстовые и IDE-редакторы; обзор полезных онлайн инструментов; браузерные инструменты для отладки HTML, CSS и JavaScript; быстрый поиск ошибок в верстке; отладка и оптимизация JavaScript, поиск «медленных» мест веб-страницы; инструменты для «живого» редактирования; ознакомление с системами контроля версий на примере GitHub; подключение к разработке Open Source проектов; размещение своих сайтов на GitHub; шаблонизаторы и препроцессоры; сборка проекта перед запуском сайта; автоматическое тестирование проекта и автоматическая оптимизация. Соответственно, для прохождения курса рекомендуется владеть основами HTML/CSS.



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


Насколько реалистично научиться чему-то самостоятельно с помощью сервиса? Имеет смысл сходить в раздел Success Stories («Истории успеха»).


Интересно, что платформа Codecademy - не только про учиться, но и про учить кодить: любой желающий может стать автором курса.


Сайт: Teamtreehouse.com

На Treehouse обучение также проходит в видеоформате - это 1000 уроков по программированию, веб-дизайну и технологическому предпринимательству. Можно получить базовые знания, научиться создавать сайты, приложения для iPhone или Android, изучить языки (например, Ruby on Rails).

У Treehouse есть свой YouTube-канал , на который стоит подписаться. Вообще обучение на Treehouse стоит $250-490 в год, но есть и бесплатный проект платформы - Code Racer : если ваш английский пока не настолько хорош, чтобы получить настоящие знания и навыки за обозначенные суммы, разумно присмотреться к free -проекту.


Code School

Сайт: CodeSchool.com

На платформе Code School, которая учит кодить под девизом «Learn by Doing» («Обучайся, действуя»), есть и база (5-уровневые курсы HTML/CSS, Ruby, JavaScript и др. с 15-минутными видеолекциями, упражнениями, эмуляцией результата и фидбэком), и « фишка » - геймификация кодинг-обучения. Это, к примеру, награждение бейджами за успешно выполненные задания и забавные курсы вроде Rails for Zombies («Рельсы для Зомби»): вы программируете то, что вас интересует и развлекает - и, соответственно, мотивирует.



Предыдущая статья: Следующая статья:

© 2015 .
О сайте | Контакты
| Карта сайта