Как стать программистом с чего начать

Как стать программистом: первые шаги

Как стать программистом с чего начать. Смотреть фото Как стать программистом с чего начать. Смотреть картинку Как стать программистом с чего начать. Картинка про Как стать программистом с чего начать. Фото Как стать программистом с чего начать

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

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

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

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

Если вы не боитесь трудностей и твердо уверены в том, что программирование – именно то, что вам необходимо, обязательно прочитайте эту статью и вы узнаете:

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

Весь путь к тому, чтобы стать программистом, можно разделить на 4 последовательных этапа:

Рассмотрим каждый из этих этапов детально.

Как найти свое направление в разработке

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

Чтобы понять, какое направление вам подходит, необходимо:

Чтобы вам было проще это сделать, рассказываем:

Итак, существует несколько основных направлений в программировании:

Как стать программистом с чего начать. Смотреть фото Как стать программистом с чего начать. Смотреть картинку Как стать программистом с чего начать. Картинка про Как стать программистом с чего начать. Фото Как стать программистом с чего начать

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

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

Frontend-разработчик работает с клиентской частью продукта, с «лицом» сайта или приложения, которое пользователи видят в браузере.

Чтобы стать Frontend-разработчиком, необходимо:

Backend-разработчик работает с серверной частью продукта (сайта или приложения), которая недоступна пользователям.

Чтобы стать Backend-разработчиком, необходимо:

Fullstack-разработчик – это и Frontend-разработчик, и Backend-разработчик в едином лице. Такой специалист работает над обеими сторонами продукта – над «лицевой», пользовательской, и над серверной.

Мобильная разработка

Mobile-разработчики делятся на два типа: iOS и Android.

iOS-разработчик занимается разработкой мобильных приложений под устройства компании Apple. Единственное, что ему необходимо знать, это два языка программирования: Objective-C и Swift.

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

Разработка игр

Это еще одно относительно новое, но очень актуальное сегодня направление в разработке.

Чтобы стать разработчиком игр, необходимо:

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

Средние зарплаты разработчиков различных направлений (по данным, представленным компанией «Нетология-групп») представлены ниже:

Как стать программистом с чего начать. Смотреть фото Как стать программистом с чего начать. Смотреть картинку Как стать программистом с чего начать. Картинка про Как стать программистом с чего начать. Фото Как стать программистом с чего начать

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

Какой формат обучения выбрать

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

Высшее образование

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

Курсы (онлайн и офлайн)

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

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

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

Наставничество

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

Это может быть в формате официального «репетиторства», либо вы всегда можете попробовать найти «идейного» программиста, который поделится с вами своим опытом абсолютно бесплатно.

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

Самостоятельное обучение

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

Ресурсов, на которых вы можете узнать практически все о программировании, бесконечное множество (например, Хабрахабр, Dr. Dobb’s CodeTalk, Medium и др.)

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

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

Но что делать дальше? Как решиться на обучение?

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

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

Чтобы начать учиться, необходимо преодолеть все свои сомнения. Многие уверены, что IT – это крайне сложная сфера, которая требует особого склада ума, знания высшей математики, а также свободного владения английским. Более того, существует мнение, что девушкам в ИТ не место, ровно так же, как и всем тем, кому больше 30 лет.

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

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

Как найти свою первую работу?

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

Начать карьеру программиста можно несколькими путями:

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

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

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

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

Источник

Программирование для начинающих: как стартовать и куда двигаться?

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

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.

Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.

Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.

Гук «Аппаратные интерфейсы ПК»

Гук «Интерфейсы устройств хранения»

Этап III. Операционные системы

Таненбаум «Архитектура компьютера»

Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.

Немет, Снайдер, Хейн «Руководство администратора Linux»

Этап IV. Собственно программирование

Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.

Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск

Бентли «Жемчужины программирования»

Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.

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

Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.

Буду крайне благодарна за ваши советы и уточнения.

Источник

От «ничего не понятно» до первой работы: как становятся программистами с нуля

⏱ Время прочтения — 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. Его я и выбрала.

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

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

Источник

Как я стал программистом

Я пошел работать в «Макдональдс», когда учился в университете. А потом увлекся программированием — и изучил его с нуля.

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

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

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

Сначала я пошел в «Макдональдс»: хотел понять, смогу ли вообще совмещать постоянную работу и учебу. Потом немного поработал в агентстве, которое занимается продвижением в соцсетях, еще пытался попасть на стажировку в финансовые компании 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, вы приоткрываете дверцу, которую потом будет сложно закрыть. Чтобы быть хорошим и востребованным программистом, нужно знать все актуальные инструменты разработчика, а их примерно миллион, и каждый день появляется парочка новых. А если не будешь постоянно учиться, очень быстро отстанешь от этого поезда. И вот тогда привет, рутина и унылые задачи типа «у нас на сайте кнопка сломалась — почини».

Хеппи-энд

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

И напоследок

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *