Как научиться программировать? С чего начать? Какие курсы пройти, а книги прочитать? Очень частые вопросы людей которые хотят начать программировать. Именно это поспособствовало написанию этой статьи.
У меня было достаточно времени подумать о своем начале пути программиста, я разговаривал с опытными разработчиками о коде, карьере, спрашивал, как они начинали.
В этой статье я старался собрать множество реальных историй и практических советов, чтобы вдохновить вас сделать первые шаги в этом направлении.
Вот пример самой малой части чему вы научитесь если выучитесь.
Мотивация
Когда я только начинал, я просто влюбился в программирование! И главное в достижении успеха в любой сфере вашей деятельности. Если вы делаете то, что вам нравится, вы находите это интересным и полезным, все дальнейшие занятия будут приносить удовольствие. Поэтому мой первый совет: если вам не нравится программирование, не мучайте себя, не пытайтесь зазубрить.
Когда вы начнете изучать программирование, вам понадобится внутренняя мотивация. Поймите, это не спринт. Это длинный-длинный марафон. Не думайте, что вы всё выучите за одну ночь. Так не бывает.
Непрерывное обучение
Каждый программист должен постоянно отслеживать технологические тенденции в мире IT: новые библиотеки, веб-приложения, такие как SPA, PWA и так далее.
Я не говорю, что надо учить всё подряд. Тут скорее наоборот выберите для себя конкретные языки, которые по вашему мнению вам ближе и главное интересны именно вам. Новые технологии появляются очень быстро, поэтому учиться придется на протяжении всей жизни.
Еще один важный совет для вас: не перегружайте себя. Не надо начинать с самой тяжелой книги алгоритмов или стараться выучить все концепции программирования за раз. Занимайтесь хотя бы по часу, но каждый день!
Не сравнивайте себя с опытными программистами или «гениями кода». Это мой четвертый совет. Во-первых, это вообще не разумно. Во-вторых, вы только начинаете. Сосредоточьтесь на учебе, вместо того, чтобы сравнивать себя с другими.
Практика - это ключ к успеху. Изучайте теорию и применяйте на практике. Это совет номер пять. Пытайтесь. Ошибайтесь и пытайтесь снова. Экспериментируйте! Без применения теории на практике, эти учения выходят бесполезными. Больше практикуйтесь.
Теории и Концепции
Очень важно понять основные концепции программирования и создать фундамент из теоретических знаний. Если вы сейчас учитесь в университете или же другом учебном заведении, используйте это время с пользой! Как раз в университете можно получить хорошую теоретическую базу.
Я начинал с изучения 2 крутых курсов Codecademy и CS50 at Harvard. Там я изучил основы Python на Codecademy и C в CS50. Так вот, я считаю: нужно просто начать. Выберите один язык программирования и начните с основ (переменные, циклы, структуры данных и т. д.). Вероятно, что, когда вы выберете курсы, вас будут учить одному языку программирования. Но не переживайте! Лучше сосредоточиться на чём-то одном, но изучить досконально, чем всего понемногу.
Крутые курсы
Introduction to Algorithms про алгоритмы. Понимание алгоритмов и как они работают - это самое важное, что вы должны узнать, начиная изучать программирование. Вот еще парочка хороших книг: Introduction to Algorithm by CLRS. И не менее важное: не беритесь за всё сразу, выберите один конкретный курс и учите, практикуйтесь, развивайтесь в данном направлении. Но постарайтесь не перегружать себя.
Хорошие сайты, статьи и видео:
freeCodeCamp классный сайт, посвященный веб разработке и JavaScript. Совершенно бесплатно! Udemy, CodeSchool, Khan Academy очень похожи между собой, но на Udemy есть платные курсы, на Khan Academy всё бесплатно, на CodeSchool есть как бесплатные, так и платные курсы.
Влоги и YouTube каналы
Fun Fun Function канал Маттиаса Петтер Йоханссона. Раньше он рассказывал только о JavaScript, но в последнее время говорит о разработке в целом.
Mayuko канал посвящен iOS разработке.
CS Dojo много информации об алгоритмах, структурах данных. Канал ведет инженер -программист из компании Google.
Практика, практика, практика
Не знаю, какие еще подобрать слова, чтобы объяснить, насколько важна практика.
По моему примеру вы можете начать с Codecademy. Другой классный сайт Hacker Rank. Большой выбор языков программирования, интересные упражнения и тестирования.
Еще один мой совет для вас – участвуйте во всевозможных олимпиадах, соревнованиях по программированию. Во-первых, после тяжелой подготовки, у вас появится еще больше навыков. Во-вторых, у вас появится внутренняя уверенность. Вы будете думать «Ну насколько же я крут, раз с этим справился».
Отличные сайты для начинающих программистов:
Все они похожи между собой, но они реально крутые. С множеством языков программирования, алгоритмами, учебными видео и другими полезными фишками. Теперь вы можете выбрать любой и начать практиковаться