Как научиться программировать
Опытный тимлид дал простой и чёткий алгоритм входа в IT. Спойлер: начать можно почти с любого языка, сменить его потом — не проблема.
 
 
Kira 2pizza

об эксперте
Lead software engineer, автор Telegram-канала «Тупица Мёртв». Интересы: IT, код, софт, разработка, литература, игры.
Программирование захватывает мир. Сейчас не осталось ни одной области, где бы оно не применялось: автоматизируется даже работа комбайнов на полях и сложные медицинские исследования.
Программирование настолько востребовано, что новички готовы отдать огромные суммы денег разным людям и компаниям, которые обещают научить их кодить и хорошо зарабатывать. И это классно. Хотя многие и ругают курсы — мол, они длятся всего несколько месяцев и выпускают на рынок низкоквалифицированные кадры. Но на деле, чтобы научиться писать код, вовсе не обязательно просиживать пять лет в универе.
Где взять базу
Компьютер — это довольно сложная штука, но в его основе всего несколько базовых принципов. После их освоения тебе будет гораздо проще понять, что происходит в коде. И для такой базы нет ничего лучше бесплатного курса от Гарварда CS50 — он переведён на множество языков, в том числе и на русский. Очень рекомендую стартовать с него.
Если после CS50 желание программировать не улетучилось и не сменилось разочарованием, начинай изучать язык программирования JavaScript. Тебе необязательно знать его от корки до корки или помнить наизусть все операторы и правила синтаксиса. Опять же, главное — разобраться с базовыми вещами: как запустить программу на JS, какие типы данных существуют, как написать условие и цикл. Для старта этого более чем достаточно.
Как выбрать первый язык
Тут есть тонкий момент: языков программирования очень много и они сильно отличаются. Поэтому в интернете немало воинствующих знатоков, которые пытаются доказать, что их язык — самый лучший. Но не стоит их слушать: на самом деле первым может быть вообще любой язык. И если у тебя есть друг-программист, смело выбирай тот язык, на котором он пишет.
Если же ты понятия не имеешь, за какой язык браться, то JavaScript будет лучшим выбором. Это самый популярный язык программирования в мире. На нём можно написать всё что угодно — даже игры. Плюс по нему полно обучающих материалов: и платных, и бесплатных.
А ещё JavaScript работает в любом браузере и тебе практически ничего не понадобится для старта — да и первые результаты ты получишь очень быстро. Кстати, обязательно посмотри на TypeScript: этот язык — почти как JS, только лучше. Вот пара ссылок для начала:
Кстати, если ты начал изучать JavaScript, это вовсе не значит, что у тебя есть только одна дорога — во фронтенд и создание сайтов. Освоив на хорошем уровне один язык программирования, ты легко сможешь перейти на любой другой, потому что сам язык программирования и его синтаксис — это не более 10% всего программирования.
Когда начинать кодить
Написать первый код можно, когда освоишь самые базовые концепции. И тут появляется вопрос — а что именно писать? Ответ простой: решай простые задачи. Да, сначала будет трудно. Но это отлично прокачает тебя и поможет стать классным программистом. Есть куча разных сайтов с самыми разными задачами для программистов. Вот три самых известных:
Выбирай какой понравится — сначала попробуй решать задачи самостоятельно, пусть даже каким-то неоптимальным способом. А если уж совсем непонятно, гугли решения, перепечатывай их, разбирайся, зачем нужна каждая строчка и что она делает. К двадцатой или тридцатой задаче станет легче.
Стоит ли учиться по книгам
Я не рекомендую сразу читать книги по программированию — они только затормозят тебя. К тому же русский перевод может быть вредным. Лучше читай официальную документацию и старайся искать ответы на вопросы, которые у тебя возникнут. Читать книги лучше уже после того, как ты освоишься, — они помогут систематизировать знания. Лучший ресурс с самой актуальной информацией по веб-разработке — это MDN (Mozilla Developer Network).
А если вдруг ты с трудом понимаешь англоязычные тексты, документацию или ответы со Stack Overflow, то обязательно прокачивай английский — параллельно с программированием. Минимальный уровень для кодера — умение сносно читать и писать. Без этого в программировании делать нечего.
Как собрать портфолио
Когда ты освоишься с задачками и почувствуешь уверенность, начинай думать о портфолио. Вариантов тут несколько.
Во-первых, можно делать какие-то простые вещи для себя, друзей и соседей, автоматизировать что-то, писать ботов для Telegram. Только заведи аккаунт в GitHub — пусть код хранится там. Знание Git тоже пригодится. Это профессиональный стандарт и «гигиенический минимум» разработчика. Изучать Git рекомендую на официальном сайте: https://git-scm.com/book/ru/v2.
Во-вторых, можно поучаствовать в разработке Open Source. Правда, это на порядок сложнее. В большинство проектов не пускают людей с улицы. Но твои патчи в популярном репозитории или фреймворке точно дадут бонусные очки в глазах работодателя и помогут снискать всеобщее уважение.
Начать вникать в опенсорс можно с репозитория, в котором собраны популярные проекты от русскоязычных разработчиков. Конечно, новичкам лучше выбирать небольшие проекты. Советую обратить внимание на проекты моих любимых авторов Open Source — Никиту Прокопова и Андрея Ситника. А идеальный вариант — предлагать исправления в инструменты, которыми ты пользуешься сам.
Найди ментора
Бывает, что самостоятельно очень сложно собраться и начать что-то делать. Все мы немного «ленивые жопы», и частенько без ментора просто не обойтись. Но это не значит, что нужно брать огромный кредит и отваливать кому-то кучу денег. Есть варианты намного доступнее. Например, на getmentor.dev можно найти людей, которые любят помогать другим, — и нередко они делают это бесплатно или берут чисто символическую плату.
И главное: программирование — это ежедневная учёба в течение всей жизни. И если тебя это не пугает — желаю удачи!
 Все
                                Все
                             Истории
                                        Истории Дизайн
                                    Дизайн Код
                                    Код Геймдев
                                    Геймдев Бизнес
                                    Бизнес Маркетинг
                                    Маркетинг Управление
                                    Управление Кино
                                    Кино Музыка
                                    Музыка Проектная фотография
                                    Проектная фотография Развитие
                                    Развитие Здоровье
                                    Здоровье Деньги
                                    Деньги Образование
                                    Образование EdTech
                                    EdTech Корп. обучение
                                    Корп. обучение Блог Skillbox
                                    Блог Skillbox Глоссарий
                                        Глоссарий Спецпроекты
                                        Спецпроекты Профориентация
                                        Профориентация 
                                     
			 
                     
     
                                     
                                     
                                     
                                    