От «ничего не понятно» до первой работы: как становятся программистами с нуля
⏱ Время прочтения — 7 минут
Шаг 1. Знакомство с веб-разработкой
Начинаем с общего знакомства с направлениями веб-разработки. Вам предстоит определиться, насколько вам подходит программирование и какое направление ближе — фронтенд или бэкенд.
Фронтенд-разработчик отвечает за внешний вид страниц сайта. Он получает от дизайнера макет и превращает в готовую страницу — она подходит под разные экраны, все кнопки работают при нажатии, а схемы или таблицы корректно отображаются.
Бэкенд-разработчик отвечает за работу сайта. Он взаимодействует с сервером — частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, а также проводит интеграции с внешними сервисами.
На этом этапе стоит потренироваться на бесплатных тренажерах. Темы тренажеров и длительность их прохождения могут быть разными. Например, занятия на тренажере «Знакомство с веб-разработкой» займут у вас 4 часа и дадут представление о базовых технологиях веб-разработки. После можно выбрать тренажеры, раскрывающие какое-то из направлений разработки более подробно. Занятия бывают для разного уровня — от новичков до опытных пользователей.
Много информации и базовых уроков есть на «Ютубе». Можно проходить их дома самостоятельно. Еще один вариант — читать книги по разработке для новичков. В обоих случаях нужно следить за тем, чтобы информация была актуальной. ИТ стремительно развивается — и есть риск получить устаревшие знания, а потом долго переучиваться заново.
К чему готовиться: если вы вообще не сталкивались с программированием, на этом этапе вам будет ничего не понятно! Это нормально. Получив первое представление о разработке, вы сможете понять, в какую сторону вам двигаться.
По времени этап займет около месяца.
Шаг 2. Обучение
После того как определились с направлением — начинаем обучение. Можно учиться самостоятельно или записаться на курсы по верстке или программированию.
Самостоятельное обучение
Бесплатно, но сложнее, чем учиться на готовых программах. Чтобы всё удалось, составьте учебный план: распишите темы, подберите упражнения и самостоятельные проекты, которые потом украсят ваше портфолио.
Идеи проектов для тренировки
Обучение на курсах программирования
На рынке много курсов для разных бюджетов, с разной длительностью и дополнительными опциями от школ — например, в HTML Academy во время обучения есть личный наставник, а после — стажировка и помощь в трудоустройстве.
Выбирая школу, важно понять, что информация в программе актуальна и на самом деле пригодится вам при трудоустройстве на работу.
Необходимая база для любого хорошего разработчика/верстальщика
Чтобы получить ее, возможно, понадобится не один, а два или три курса — например, по обычной и адаптивной верстке, а еще по JavaScript.
На курсах должны понятно объяснять базовые вещи из программирования: типы, операторы, алгоритмы, функции, циклы, объекты и структуры данных. Их понимание пригодится, даже если вы в итоге будете учить какой-то другой язык.
Инструменты (для верстки и JavaScript):
К чему готовиться: На этом этапе вы столкнетесь с первыми трудностями и чувством усталости. Делают ошибки и ощущают себя глупыми в процессе обучения практически все. Важно не поддаваться желанию опустить руки и всё бросить. Для этого правильно распределяйте время на учебу и отдых и найдите наставника. Всего изучение основ займет у вас около полугода.
Как найти наставника и что от него ожидать
На этапе обучения наставник практически незаменим. Он может проверить код, ответить на сложный вопрос, поддержать морально с высоты своего программистского опыта.
На хороших курсах за вами закрепят хорошего наставника, которому вы сможете задавать вопросы, который будет отслеживать ваш прогресс. Если вы обучаетесь самостоятельно, не переживайте, что останетесь без поддержки: киньте клич в социальных сетях и попросите кого-то из знакомых помочь вам. Еще один вариант — поискать наставника на форумах для программистов или в сообществе разработчиков. Например, в HTML Academy есть чат сообщества в «Телеграме», где можно задать любой вопрос.
Шаг 3. Углубление навыков, чтобы зарабатывать больше
Первую работу вы можете найти уже на этом этапе. Например, после курсов по верстке можно устроиться младшим верстальщиком. Зарплата в данном случае будет в районе 25–45 тысяч. Те, кто выучил основы JavaScript, смогут зарабатывать до до 40–75 тысяч на начальном этапе.
Чтобы получать больше и не заскучать, стоит продолжать обучение. Вариант для развития — выучить фреймворки, потому что программисты обычно не пишут на чистом JavaScript.
Самые популярные и прибыльные фреймворки для фронтендеров — React, Angular, Vue.js, Ember.js и Meteor. Для бэкендеров — Yii2, Laravel, Symfony, Django и Flask. Если вы знаете JavaScript, но вам понравилось делать бэкенд, попробуйте Express.js — это фреймворк для Node.js.
Знание фреймворков повышает зарплату. Средний заработок React-разработчика — около 100 тысяч. И чем дольше и лучше вы работаете, тем больше получаете.
К чему готовиться: заложите на изучение фреймворков еще от 1 до 3 месяцев.
Шаг 4. Стажировка или первая работа
Изучив основы программирования и какой-то из фреймворков, вы готовы к стажировке или первой работе.
Стажировка. Ее проходить не обязательно, но она помогает посмотреть на все рабочие процессы изнутри, набраться уверенности и легче адаптироваться к смене профессии. Компании со своей стороны заинтересованы в выпускниках и обычно готовы трудоустраивать их на позицию младших разработчиков, если стажировка прошла успешно. Часто школы принимают своих студентов на стажировку.
Трудоустройство. К этому моменту у вас уже будет наработанное портфолио — профиль на «Гитхабе» с вашими проектами. Осталось сделать резюме, указать ваши ключевые компетенции, сослаться на профиль и опубликовать на hh.ru или других сайтах по поиску работы. Пока у вас мало опыта, стоит активно откликаться на вакансии и ходить на собеседования.
Тина Кузьменко — выпускница HTML Academy, живет в Нидерландах. По образованию она журналист, но после переезда в новую страну освоила профессию и устроилась фронтенд-разработчиком в продуктовую компанию:
Еще во время учебы тщательно прорабатывала свое резюме. Позже красиво оформила фриланс-опыт по верстке. Также у меня накопилось немало личных проектов для портфолио, которые я аккуратно оформила на GitHub. Так что меня почти сразу стали приглашать на собеседования.
По итогу собеседований я получила в один день сразу два предложения. Одно из них было на мидла в продуктовую компанию Copernica Marketing Software. Его я и выбрала.
К чему готовиться: поиск работы может занять какое-то время — всё зависит от вашей активности и навыков. Если вы понимаете, что каких-то навыков не хватает и их часто спрашивают на собеседованиях, попробуйте изучить их параллельно с поиском работы.
После трудоустройства несколько месяцев уйдет на адаптацию. Не бойтесь спрашивать совета у коллег, готовьтесь много учиться (опять) теперь уже в реальных условиях. И не забудьте гордиться собой — вы перешли в новую профессию.
Как стать начинающим программистом с нуля: 5 советов от профессиональных разработчиков, которые подойдут любому новичку
Хотите стать программистом самостоятельно? Мы собрали 5 советов от профессиональных разработчиков о том, как в домашних условиях самостоятельно стать программистом.
В этом материале вы узнаете:
Кто может стать программистом
Кто угодно. Самостоятельно стать программистом может любой желающий. Даже самостоятельно. Человеку с техническим образованием будет легче понять некоторые принципы работы и стать программистим. Остальным просто придется потратить чуть больше времени, чтобы стать программистом.
Работодателям без разницы, какой у вас диплом и есть ли он вообще. Важно только то, что вы умеете делать и какой у вас опыт.
Пробный период: программирование мое или не мое?
С чего начать? Некоторые профессии можно освоить быстро. Программирование не из их числа. Даже если вам хочется освоить это быстро, так не получится. Чтобы стать программистом, вам придется учиться как минимум несколько месяцев. В том числе, самостоятельно. С чего начать: мы советуем сначала попробовать понять, подходит вам профессия программиста или нет. Для этого можно использовать самые простые технологии из мира разработки и программирования, которые можно быстро освоить: HTML и CSS.
HTML и CSS — это еще не полноценные языки программирования. Скорее, это набор специальных команд. Они «показывают» браузеру, как должны выглядеть объекты на странице.
Вот как выглядит обычный текст, если его открыть в браузере:
Вот как выглядит тот же самый текст, если его немного причесать при помощи HTML:
В данном примере мы использовали несколько тегов:
— тег, который обозначает заголовок страницы.
— тег, который делает шрифт жирным.
Вот так выглядит эта страница, если открыть ее в блокноте, чтобы посмотреть, какие мы использовали теги:
Прежде чем стать начинающим программистом, попробуйте начать свое самостоятельное погружение в программирование с изучения HTML и CSS. По этим инструментам в интернете много бесплатных курсов. Освоить их сможет каждый. HTML и CSS можно изучить за несколько дней. Это поможет вам ответить на вопрос: «Подходит ли мне программирование?».
Как с нуля самостоятельно выучиться и стать начинающим программистом
Если вы уже уверены, что хотите стать начинающим программистом, то нужно начинать учиться. Сначала выберите язык программирования и то, каким начинающим программистом вы хотите стать. Каким разработчиком вы станете — зависит только от вас.
Есть несколько базовых правил, которых нужно придерживаться во время выбора того, каким программистом вы хотите быть:
Каким бы начинающим программистом вы ни хотели стать, нужно придерживаться основных направлений в программировании на 2020 год:
Если вы не можете выбрать, с чего начать и начинающим программистом в каком направлении стать, то выбирайте одно из тех, которые обозначены на скриншоте ниже. Это рейтинг популярности языков программирования за 2020 год из исследования JetBrains.
Хотите грамотно выбрать язык программирования и стать успешным начинающим специалистом? Вам поможет консультация специалиста!
Когда вы выбрали направление и язык программирования, можно начинать учиться. Есть 5 способов стать начинающим программистом.
Самостоятельно учиться на начинающего программиста в университете
Фундаментальное техническое образование поможет вам стать начинающим программистом. Но получать его — дорого, долго и сложно. Если у вас еще нет семьи и ипотеки, то это неплохой старт карьеры для начинающего программиста. В России технические специальности в ВУЗах сильные еще со времен СССР, поэтому стать начинающим программистом таким образом сможет каждый. Наши начинающие программисты регулярно выигрывают международные конкурсы.
Если решите получать «вышку», то нужно понимать две вещи:
Самостоятельно пройти курсы программирования
Существуют курсы на любой вкус для тех, кто хочет стать начинающим программистом: по каждому направлению программирования, платные и бесплатные, онлайн и оффлайн. Несколько важных деталей о курсах программирования для новичков:
Выучиться на начинающего программиста с ментором
Это самый легкий и быстрый способ стать начинающим программистом. Ментор — это ваш персональный репетитор по программированию. Основные плюсы — это человек «в рынке», он на практике каждый день решает те задачи, которые будет вам объяснять. Ментор понимает, какие инструменты действительно востребованы в вашем направлении программирования.
Вместе с ментором вы составите учебный план, по которому будете идти и изучать программирование. Обычно это 1-2 звонка в неделю, на которых вы задаете вопросы и обсуждаете пройденный материал. Ментор объясняет места, в которых вы не разобрались. Основной массив информации по программированию вы изучаете самостоятельно, по тем материалам, которые вам предоставил наставник. Это требует определенной дисциплины.
Наши менторы из знаменитых корпораций помогут вам освоить новую профессию и стать начинающим разработчиком. У нас есть специалисты по всем направлениям со всего мира.!
Учиться в школах программирования при корпорациях
Это не самый известный, но очень эффективный способ обучения. Качественных начинающих программистов на рынке не хватает, поэтому крупные компании организуют собственные школы, чтобы их готовить.
Вот самые известные русскоязычные примеры школ программирования при корпорациях: Школа 21 от Сбербанка, Академия Яндекса, Школа программистов от HH.
Плюсы: качественное образование от экспертов из рынка; близость к компании, а значит, легче получить работу и стать начинающим программистом; нетворкинг; бесплатное образование для будущих программистов.
Минусы: большая часть школ таких школ программирования — оффлайн, а значит, нужно физически присутствовать в нужном городе. Как правило — в Москве. А еще для попадания в школы нужно пройти сложный отбор из нескольких этапов. Почти поступление в ВУЗ.
Выучиться на начинающего программиста самостоятельно
Самостоятельное обучение — это самый дешевый способ стать начинающим программистом, который подходит всем, независимо от места жительства и финансового положения. Все базовые знания о программировании есть в интернете: видеолекции, учебники и статьи.
Минусы подхода самостоятелього обучения очевидны — это дольше, потому что информацию о программировании придется искать самостоятельно. Нужна железная дисциплина, чтобы стать начинающим программистом. Если вы что-то не поймете, будет не у кого спросить совета. Этот способ подходит единицам, которые уверены в собственной силе воли, мотивации и самостоятельности.
Что нужно знать, чтобы устроиться на работу джуниор-программистом
В каждом направлении программирования требования разные. Самый лучший способ узнать, что нужно знать, это «спросить» тех, кто нанимает джуниоров-программистов.
Откройте HeadHunter и посмотрите 7-10 junior вакансий в вашем городе по своему направлению. Выпишите требования из каждой из них, удалите повторы. Бинго, перед вами усредненный лист требований к джуниор-программисту в вашем направлении.
Мы сделали срез по самым популярным направлениям в Москве:
Как быть, если вам не хватает знаний до вакансии джуниор-программиста?
Осваивать большую часть навыков программирования нужно на практике. Во-первых, так вы поймете их быстрее и лучше. Во-вторых, работодателей интересует не то, сколько умных слов из мира программирования вы знаете наизусть, а как вы умеете свои знания применять. Значит, он спросит портфолио.
Начинать нарабатывать портфолио нужно еще во время учебы. В середине процесса или после первых двух третей начинайте искать себе стажировку. Стажировка — это почти полноценная работа начинающим программистом. Отличие в том, что стажировки обычно неоплачиваемые и занимают не полный день, а несколько часов.
Вот как устроена система стажировок в программировании: вы работаете на компанию, решаете базовые задачи в своей области без финансового вознаграждения. Взамен опытные коллеги учат вас и помогают разбираться в сложных вещах.
Такой подход ломает замкнутый круг «всем нужны работники с опытом, но где взять опыт, если никто не берет меня без опыта». Если вы хорошо покажите себя на стажировке, то есть шанс, что работодатель после окончания предложит вам остаться на полноценную работу начинающим программистом.
Если после окончания учебы и/или первой стажировки у вас все еще недостаточно навыков, чтобы получить работу джуниор-программиста, то пройдите еще одну стажировку.
Где искать стажировки: на тех же сайтах и площадках, на которых нужно искать работу.
Как я стал программистом
Я пошел работать в «Макдональдс», когда учился в университете. А потом увлекся программированием — и изучил его с нуля.
Я окончил Московский государственный лингвистический университет по специальности «лингвист-переводчик». Всегда любил иностранные языки, поэтому еще в школе думал, что всю жизнь буду работать в этой сфере. А вот с математикой и физикой у меня были проблемы, поэтому я и представить не мог, что в будущем стану программистом. Раньше мне казалось, что эта профессия доступна только тем, кто хорошо разбирается в точных науках.
На деле мой путь в программирование оказался довольно быстрым и простым — сам в шоке. Расскажу, какие этапы мне пришлось для этого пройти.
На третьем курсе университета я осознал, что не хочу работать по специальности. Уже тогда я пытался подрабатывать, используя знание языков: занимался со школьниками английским и был переводчиком на выставках.
Сначала я пошел в «Макдональдс»: хотел понять, смогу ли вообще совмещать постоянную работу и учебу. Потом немного поработал в агентстве, которое занимается продвижением в соцсетях, еще пытался попасть на стажировку в финансовые компании Ernst & Young и KMPG.
Плюс таких стажировок в том, что, если повезет, ты сможешь устроиться в один из этих гигантов даже без профильного образования и уже на месте выбрать будущую специализацию. Но мне не повезло: я не прошел первичный отбор на позицию стажера.
Я думал, чем еще можно заняться, и друг посоветовал попробовать себя в программировании. Он убедил меня, что это не так сложно, как кажется, и не требует никаких специальных знаний. Его главный аргумент: сейчас научиться азам веб-разработки можно практически бесплатно. Я подумал, что человеку с дипломом по информационной безопасности можно верить, и решил, что ничего не потеряю, если попробую.
Программирование — большая и сложная отрасль со множеством направлений, которые тесно переплетены между собой. Кто-то разрабатывает игры для компьютеров или смартфонов, кто-то учит космического робота Федора выполнять нужные действия на околоземной орбите, а кто-то пилит программы, которые в режиме реального времени позволяют получать данные с камер видеонаблюдения и распознавать лица прохожих.
Фронтендеры отвечают за внешний вид сайта или приложения и за функции, которые доступны пользователям. Если сравнить разработчиков со строителями, то фронтендеры — это ребята, которые занимаются внутренней отделкой. Это как выбирать цвет стен, форму окон и ширину дверных проемов, чтобы людям было удобно заходить в здание и вообще в нем жить.
Бэкендеры работают с начинкой сайта: базами данных, алгоритмами, функциями и сервисами, которые потом будут доступны пользователям. То есть эти ребята строят дом из плит, перекрытий и кирпичей, а потом быстро чинят там, где что-то вдруг сломалось.
Девопс-специалисты следят за серверами и инфраструктурой. Их задача — обеспечить бесперебойную работу сайта, оптимизировать нагрузку на сеть и сделать так, чтобы сайт не рухнул, если его вдруг захочет посетить половина рунета. По нашей квартирно-строительной аналогии такие ребята следят, чтобы в квартиры поступала вода, электричество и газ, а еще чтобы дом вообще не развалился из-за просадки грунта.
Я выбрал фронтенд-разработку, потому что мне было важно быстро начать работать. На фронтендера гораздо проще учиться, а результат его работы нагляднее: уже после первого онлайн-курса вы сможете за час собрать простенькую веб-страницу и хвастаться ею перед родными и друзьями. Тогда как результат целого месяца трудов в бэкенде и девопсе сможет оценить только человек, который в этом разбирается.
Обращение фронтендеров Т—Ж
На сегодняшний день фронтенд — это СОВСЕМ не легче, а иногда даже сложнее того же бэкенда. JavaScript за каких-то 20 лет из милого, невинного пупсика, написанного на коленке ради создания простейшего интерактива, превратился в МОНСТРА, с помощью которого можно реализовывать даже серверную часть сайта.
И вообще, это безумно развивающаяся сфера, в которой каждый месяц появляются новые интересные штуки. Короче, словили легкую обиду за фронтенд.
Сначала разберемся, что вообще придется изучать. Я буду сильно все упрощать.
Любой сайт работает благодаря трем элементам: HTML, CSS и JavaScript. Упрощенно их называют кодом сайта или просто кодом. Если вы разобрались в них, то уже сможете собирать и программировать полноценные веб-страницы и даже целые сайты.
HTML, или HyperText Markup Language, — в переводе с английского «язык гипертекстовой разметки». Это еще не полноценный язык программирования, а всего лишь набор команд, или тегов, которые помогают браузеру понять, как именно текст и другие элементы оформления должны располагаться на страницах сайта. Это примерно как схема, где в квартире после ремонта будет стоять диван, а где — холодильник.
CSS, или Cascading Style Sheets, — в переводе «каскадная таблица стилей». Из нее браузер узнает, как сайт должен быть оформлен: какими должны быть размер и тип шрифта, ширина полей, цвет фона и многое другое. Это все равно что выбирать цвет дивана или размер холодильника в вашу новую квартиру.
JavaScript — это уже полноценный язык программирования, с помощью которого можно оживить сайт: добавить сложную анимацию, научить кнопки нажиматься и настроить автозаполнение полей в форме подписки. Если продолжить сравнение со строительством и ремонтом, то JavaScript — это умный дом, который по нажатию одной кнопки сам наберет ванну, приглушит свет в квартире и приготовит вам кофе.
— paragraph), где заголовок (
— paragraph), где заголовок (
Строятся все курсы по единым лекалам: вводная теоретическая часть про то, как вообще работают сайты, объяснение базовых элементов, отработка новых знаний с помощью небольших практических заданий.
Например, изучили основы разметки текста — собираете блоки с текстом на простенькой страничке. Прошли, как вставлять изображения, — добавляете на страницу картинки. Познакомились с базовыми скриптами — пытаетесь поставить на вашу страницу мини-калькулятор или счетчик просмотров.
Обычно платные курсы дают какие-то дополнительные возможности. Например, более интересные практические задания или возможность спросить у наставника, какие ошибки в коде вы сделали и как избежать их в будущем. Такая обратная связь экономит много времени и сил, особенно когда вроде делаешь правильно, но все равно ничего не работает.
В итоге я начал с русскоязычного сайта HTML Academy. Выбрал его, потому что курс по основам HTML и CSS там полностью бесплатный. Еще можно пойти, например, в Codecademy или на Яндекс-практикум. Я расскажу, как все устроено в HTML Academy.
Выглядит курс так: вы смотрите лекции, выполняете задания, они проверяются автоматически, с вами на курсе учатся другие люди. Мне понравилось, что весь материал изложен в максимально простой и понятной форме.
В платной части курса я прошел только то, что показалось мне интересным, например основы адаптивной верстки. Это специальные настройки, которые нужны, чтобы сайты хорошо смотрелись и на большом мониторе компьютера, и на смартфоне. Без адаптивности сейчас никуда. Это стандартное требование ко всем современным сайтам, и каждый фронтендер должен такое уметь.
Страница этого курса — сначала он бесплатный, но, чтобы открыть все блоки с теорией и практическими заданиями, его нужно будет оплатить
В то же время я пропускал все, что казалось мне слишком сложным и на тот момент было просто не нужно. Оправдывал себя тем, что всегда смогу вернуться к пропущенному материалу и внимательно его изучить, когда эти знания мне по-настоящему понадобятся. Но, когда знания действительно понадобились, я уже мог найти все необходимое в более продвинутой технической документации, так что к этому курсу я больше не возвращался.
Если есть время, лучше не спешить
Поэтому в течение месяца я тратил все свободное время на изучение курса, при этом пропуская сложные и неинтересные места. Это очень спорный подход. Вам я так делать не рекомендую. Если есть время, не торопитесь и постарайтесь получше усвоить все основы: потом будет намного легче.
Если у вас что-то не выходит, не берите подсказки и не пропускайте задания. Лучше еще два раза подробно разберите блок с теорией и еще десять раз внимательно прочитайте свой код. Так вы быстрее освоите язык и научитесь не психовать из-за малейшей ошибки в коде.
Немного разобравшись с основными принципами веб-разработки и набив руку на практических заданиях, я продолжил обучение уже на англоязычном сайте Freecodecamp. Он тоже бесплатный.
Курс по веб-разработке там очень обширный и охватывает много тем. Чтобы изучить их все, потребуется около 1800 часов, или 75 дней. Зато, окончив этот курс, вы будете обладать всеми необходимыми знаниями для начала карьеры — от верстки простой веб-страницы до визуализации данных и способов обезопасить сайт от хакерских атак.
понадобится, чтобы пройти курс по веб-разработке на Freecodecamp
Мне понравилось учиться на этом курсе: он простой и понятный. В глубине души даже не верилось, что только на HTML и CSS можно так легко собирать очень красивые страницы. Я все ждал, что встречу какую-то непреодолимую для гуманитария преграду.
И я ее встретил, когда дошел до JavaScript.
Освоить JavaScript оказалось гораздо сложнее, чем разобраться с тегами в HTML и CSS. Это уже полноценный язык программирования, и, чтобы в него вникнуть, придется понять довольно сложные концепции. Например, хойстинг (не путать с хостингом), замыкания, каррирование, контекст вызова функции, параметры и аргументы функции, синглтон-паттерн, инстанс объекта, интерфейс объекта и т. д.
Это как раз те штуки, которые ребята-технари изучают еще в вузах. Без фундаментального образования понять такое сложно. Мне удалось более-менее разобраться в них примерно за год. Помогло постоянное общение с более опытными коллегами: они подсказывали, какие термины что значат, где и какие статьи про это лучше почитать.
Попробовать свои силы на практике мне хотелось с самого первого дня обучения. Начал я с дополнительных заданий в рамках платной подписки на HTML Academy. Потом стал просто копировать известные сайты, как бы пересобирая их заново. Для этого я сначала внимательно изучал, как они оформлены, а потом копировал их код из браузера, попутно разбираясь, как именно он написан, какие теги и зачем используются.
Страничка на сайте Codepen — там лежат мои первые проекты. Сейчас даже стыдно заглядывать в код, но когда-то я очень гордился своими первыми шагами и всегда упоминал о них в резюме
Когда я чувствовал, что для работы над проектами знаний из курса мне не хватает, то шел читать документацию по HTML и CSS в интернете.
Документация — это как инструкция к холодильнику или стиральной машинке. Там описаны все основные возможности языков программирования с подробными примерами. Например, как и когда нужно использовать конкретный тег.
MDN — сейчас это мой любимый сайт с документацией
w3schools.com больше подходит для новичков, там много интерактивных примеров и интерфейс попроще
На этапе практики самое важное — не бояться ошибок. Они неизбежны, и, на мой взгляд, это одна из самых увлекательных частей обучения программированию. Когда в сотый раз всматриваешься в код и пытаешься понять, почему он не работает, начинаешь лучше понимать структуру языка программирования. А еще учишься мыслить нелинейно, то есть не держаться за единственную гипотезу, а придумывать много разных вариантов кода и смотреть, какой из них сработает.
, — учебник покажет, зачем он вообще нужен, в каких браузерах работает и как его применять» loading=»lazy» data-bordered=»true»>
Небольшой совет: если не можете решить проблему сами, вбейте ее описание в поисковик. Скорее всего, вы не первый, кто ломает над ней голову, и опытные люди уже все придумали за вас. На мой взгляд, умение гуглить — это вообще один из важнейших навыков хорошего программиста. Оно позволяет сэкономить много времени и сил, а главное, избежать «костылей» — когда сначала городишь 100 строчек кода, а потом приходит кто-то поумнее и показывает, как то же самое делают всего три.
Даже став достаточно опытным разработчиком, я все равно продолжаю использовать Гугл так же часто, как документацию, а ответы на множество вопросов ищу на сайте Stackoverflow — там разработчики со всего мира пытаются найти варианты решения своих задач.
Большие компании часто проводят разные финтех-школы, хакатоны, кейс-чемпионаты и прочие митапы. По сути, это короткие стажировки, на которых молодые и еще недостаточно опытные ребята могут попробовать свои силы в программировании на реальных задачах.
У меня не было ни опыта, ни профильного образования, поэтому я просто откликался на все понравившиеся вакансии, игнорируя требуемый опыт и обращая внимание только на список необходимых навыков. Сначала меня не приглашали даже на профильные мероприятия. Но я упорно рассылал заявки на участие и откликался на все возможные вакансии.
Еще искал в сети резюме опытных ребят и внимательно их изучал, искал интересные оформительские решения, смотрел, какие данные считаются важными в карьере. А потом пытался подогнать под это свой скромный опыт. Это сработало — на мои письма наконец-то стали приходить ответы. Иногда я даже получал тестовые задания.
С каждым выполненным тестовым заданием я лучше понимал, каких знаний и навыков в сфере веб-разработки мне не хватает. Еще я всегда просил оставить отзыв на мое задание, но за все время поисков получил всего два нормальных отклика.
Хорошо запомнил телефонный разговор с рекрутером из Яндекса: эта девушка подробно пересказала мне комментарии их разработчиков к моему тесту, хотя могла бы этого не делать. Спасибо ей!
Спустя два месяца упорных поисков я все-таки получил первое предложение о работе. Это была позиция удаленного разработчика в компании Travelab. Сейчас компания уже не работает, но тогда она занималась продажей авиабилетов.
Сначала я был крайне воодушевлен тем, что меня наконец куда-то взяли. Но радость быстро закончилась. Оказалось, что, когда ты программист-новичок, работать удаленно очень непросто: если возникнут сложности, спросить совета не у кого.
я получил за свою первую работу программистом
После увольнения из Travelab мне на глаза попалась вакансия фронтенд-разработчика в крупном российском банке. В описании вакансии тоже значилось «Опыт работы — от 2 лет», что я благополучно проигнорировал. Мое письмо прочитали и — о чудо! — взяли меня на работу.
Постепенно я разобрался в проектной работе и из неопытного новичка, который умеет только писать тот код, который ему сказали, смог дорасти до самостоятельного разработчика, способного предлагать нестандартные технические решения и реализовывать собственные проекты. На это у меня ушел примерно год, по прошествии которого я понял, что хочу двигаться дальше, — и ушел из банка.
Я подписал договор о неразглашении информации, поэтому не могу назвать свою зарплату в банке. Скажу только, что это была отличная сумма для человека, который делал первые шаги в программировании. В Москве вилка зарплат на стартовых позициях — от 50 до 100 тысяч рублей, моя зарплата была ближе ко второй цифре. Со временем я понял, что даже в программировании твой заработок во многом зависит от умения торговаться. Поэтому начал искать позицию получше.
Пришло время поговорить про минусы. На мой взгляд, в профессии веб-разработчика их два: частые переработки и необходимость постоянно учиться.
С другой стороны, чем больше ты работаешь, тем опытнее становишься и тем более интересные проекты тебе достаются. По крайней мере, у меня еще ни разу не возникало мысли, что все тлен и я погряз в рутине.
Теперь про учебу. Приступив к своему первому курсу по HTML, вы приоткрываете дверцу, которую потом будет сложно закрыть. Чтобы быть хорошим и востребованным программистом, нужно знать все актуальные инструменты разработчика, а их примерно миллион, и каждый день появляется парочка новых. А если не будешь постоянно учиться, очень быстро отстанешь от этого поезда. И вот тогда привет, рутина и унылые задачи типа «у нас на сайте кнопка сломалась — почини».
Хеппи-энд
Словом, оглядываясь назад, я радуюсь, что вовремя решил свернуть с пути переводчика и стал программистом.
И напоследок
Несмотря на то, что почти любую профессию сейчас можно освоить с нуля в интернете, многие по-прежнему считают, что хорошим программистом можно стать только с техническим образованием за плечами. Как считаете вы?










