С чего начать путь в веб-разработке: 6 советов, которые сэкономят время будущим программистам
Веб-разработка постоянно входит в список высокооплачиваемых и популярных профессий. Сейчас модно быть программистом, потому что они много зарабатывают и для них открыты двери крупных компаний.
В статье поговорим о том, с чего начать путь в веб-разработке. Разберёмся, какие перспективы у профессии программиста и где можно пройти обучение. Поделимся советами, которые помогут веб-разработчику начать карьеру и хорошо зарабатывать.
Ситуация на рынке
В 2019 году портал Superjob опубликовал исследование самых востребованных IT-профессий и отметил, что в 2020 году наибольшим спросом будут пользоваться разработчики мобильных приложений. В последние годы интерес к мобильной разработке сильно увеличился, многие компании инвестируют в создание продуктов для Android и iOS.
В августе 2020 года на платформе для IT-специалистов Habr появилось исследование рынка, которое в очередной раз подтвердило перспективность веб-разработки. У разработчиков мобильных приложений высокая зарплата и спрос на квалифицированные кадры растёт с каждым годом.

Мобильные и бэкенд-разработчики находятся на вершине рейтинга и немного отстают по цифрам от менеджмента. В регионах программисты получают меньше, поэтому логично, что многие стремятся наладить сотрудничество с крупными московскими и зарубежными компаниями.
В июле на Habr вышло ещё одно исследование, которое показало, что медианная зарплата IT-специалистов в России — 108 тысяч рублей. Московские специалисты зарабатывают в среднем 150 тысяч рублей.

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

Часто можно услышать, что российские компании мало платят веб-разработчикам и поэтому тем, кто хочет «пробить потолок», лучше сотрудничать с зарубежными компаниями. В этом есть доля правды, но зарплаты в крупных российских проектах тоже высокие. Например, IT-специалисты Авито получают 200 тысяч рублей, а в Озоне — 180 тысяч. По текущему курсу это в среднем 2,5 тысячи долларов в месяц.
В этой бочке мёда есть ложка дегтя. С началом пандемии и массового перехода на удалённую работу спрос на веб-разработку должен был вырасти в десятки раз. Как показывает статистика, этого не случилось. Наоборот, многие крепкие веб-студии закрывались, а предприниматели не спешили вкладывать деньги в сайты и приложения.
Локдауны по всему миру действительно дали мощный толчок удалённой работе, но ситуация в нише веб-разработки не сильно улучшилась из-за того, что многие компании начали рассматривать онлайн-бизнес и вкладывать в него деньги.
Российская тендерная площадка в ноябре 2020 года провела опрос веб-студий и выяснила, что многие из них не стали снижать стоимость услуг на фоне пандемии. Некоторые агентства потеряли клиентов, но большая часть студий смогла увеличить количество постоянных заказчиков и прибыль.

Аналитические исследования показывают, что текущая ситуация на рынке веб-разработки способствует притоку кадров. Люди даже переучиваются на IT-специальности, чтобы больше зарабатывать и освоиться в нише, которая считается одной из самых прибыльных.
Перспективность профессии веб-разработчика
Высокие зарплаты и нехватка квалифицированных кадров стимулируют новичков пройти обучение и начать карьеру. Веб-разработчики, как и десятки других специалистов, могут работать в удалённом режиме. Многие сотрудничают с зарубежными компаниями на расстоянии и не беспокоятся о переезде, бюрократических процедурах и сложностях жизни в незнакомом городе.
Даже люди, далекие от IT, прекрасно понимают, что за этой отраслью будущее. В мире постоянно появляются технологические компании, которые инвестируют в создание программного обеспечения, гаджетов и технологий.
Ниша разработки мобильных приложений сейчас на пике популярности. Продукты для Android и iOS приносят миллионы долларов, а спрос на опытных разработчиков постоянно увеличивается. Компании готовы платить им большие суммы, но в ответ ждут профессионализма и быстрого решения сложных задач.
Если вернуться к вопросу о средней зарплате в России, то хоть показатели и высокие, новичкам не стоит рассчитывать на зарплату в 150-200 тысяч рублей. Столько получают не джуниоры, а сеньоры-девелоперы, которые занимаются разработкой не первый год.

Как и в любой нише, успех приходит не сразу. На старте карьеры придётся ориентироваться не на зарплату, а прокачивать навыки и создавать профессиональную репутацию. Если успеете поработать несколько лет в Яндексе или во Вконтакте, то в будущем можете рассчитывать на хорошую зарплату и стабильный поток предложений о сотрудничестве.
Потенциальные работодатели всегда смотрят на опыт соискателя и оценивают личные качества. Если в портфолио будут проекты для крупных российских или зарубежных технологических стартапов, шансы получить выгодный контракт значительно увеличатся.
Разработчикам-новичкам, которые захотят начать карьеру с фриланса, на первых этапах будет сложно. Не все компании хотят брать к себе начинающих специалистов и растить их самостоятельно.
Чтобы оценить перспективность IT-рынка в цифрах, достаточно обратиться к результатам профильных исследований. В 2019 году международная компания IDC сообщила, что российский технологический рынок достиг отметки в 5,57 млрд долларов и вырос на 8%, по сравнению с прошлым годом.
Рост рынка IT-услуг связан с тем, что всё больше предпринимателей обращают внимание на интернет и стараются открыть онлайн-представительство своей компании. Бизнес вкладывает деньги в сайты, приложения и занимается созданием цифровой инфраструктуры.

Чтобы новички лучше понимали, что их ждет в будущем, собрали плюсы и минусы профессии веб-разработчика.
Преимущества:
- Стабильный спрос. IT — одна из самых быстрорастущих ниш, которая нуждается в квалифицированных кадрах.
- Много направлений. Можно заниматься сайтами, мобильными приложениями, системным администрированием и другими задачами.
- Высокая оплата труда. Новички могут получать 25 тысяч рублей, но средняя планка высокая, если сравнивать с другими профессиями. Талантливые разработчики получают от 100 тысяч рублей.
- Неограниченное масштабирование. Веб-программисты часто работают удалённо и самостоятельно планируют свои задачи. Можно заниматься не разработкой, а поддержкой проектов и получать стабильный доход.
- Уникальный опыт. Разработчиков редко сравнивают с художниками, но в этой профессии не обойтись без творчества. Программисты создают продукты, которыми пользуются миллионы людей по всему миру.
- Хорошие перспективы. Мировой IT-рынок — это миллиарды долларов в год. К примеру, только Amazon в 2018 году потратил на свою инфраструктуру 13,6 млрд.
- Непрерывное развитие. В IT появляются новые технологии и направления. Никто не заставляет концентрироваться на одной нише. Можно освоить более прибыльное направление и сменить специализацию.
Недостатки:
- Сидячая работа. Большую часть времени разработчики проводят за компьютером.
- Проблемы со здоровьем. Если не компенсировать 8-10 часов монотонной работы занятиями в спортзале, рано или поздно начнутся проблемы с позвоночником и шеей.
- Высокая конкуренция. Новичкам сложно выйти на хороший доход, потому что у заказчиков в приоритете опытные коллеги.
У веб-разработки, как и любой другой профессии, есть плюсы и минусы. Стереотип о том, что все программисты плохо видят и с годами набирают вес, очень легко разрушить. Лишние килограммы действительно могут появиться, но при желании с ними можно очень быстро разобраться.
Специализации веб-разработчиков
Разработчики занимаются разными задачами и, чтобы добиться успеха, надо освоить хотя бы одно направление. Сейчас идёт тренд на создание мобильных приложений, но это не значит, что только в этой нише специалисты зарабатывают деньги.
Крупные компании часто устраивают битвы за квалифицированные кадры. И речь не только о мобильной разработке. Фронтендеры, тестировщики и другие айтишники не останутся без работы, если они могут предложить работодателю высокий уровень вовлечённости, опыт и идеально прокаченные навыки.
Основные специализации веб-разработчиков:
- Frontend. Создание внешнего вида сайтов. Программисты превращают макеты в готовые страницы, с которыми можно взаимодействовать.
- Backend. Работа с «ядром» интернет-проектов. Настройка админки, организации работы с базами данных.
- Fullstack. Универсальное направление, которое предполагает одновременную работу по внешней и внутренней стороне веб-ресурсов.
- Android и iOS. Создание мобильных приложений на базе конструкторов или с нуля.
- Разработка ботов. Относительно новая специализация, которая появилась благодаря активному развитию мессенджеров.

В разработке есть и другие направления: создание игр, тестирование программного обеспечения, embedded. У каждого из них большие перспективы, потому что рынок не перестаёт развиваться, на нём появляются новые продукты и всё больше офлайн-компаний стремятся выйти в интернет.
Многие новички не могут выбрать между десктопной и веб-разработкой. Эти два направления равнозначные, поэтому надо ориентироваться на личные ощущения. Если больше нравится создавать программное обеспечение под Windows или другие операционные системы — выбирайте desktop. Тем, кто получает удовольствие от верстки сайтов — фронтенд.
По последним данным в 2020 году больше всего в России зарабатывают программисты, которые пишут на Golang и Elixir. Сразу за ними идут последователи Scala, Ruby и Objective-C.

Если на старте карьеры сделали неправильный выбор и чувствуете, что лучше проявите себя, к примеру, в мобильной разработке — осваивайте новое направление. Никогда не поздно сменить специализацию и заниматься тем, что нравится.
Что нужно знать веб-разработчику
За последние два десятилетия профессия разработчика обросла большим количеством стереотипов. Самый распространенный из них заключается в том, что добиться успеха могут только люди, которые в совершенстве знают математику, любят сложные расчёты и тратят свободное время на прикладные задачи.
Чтобы писать десктопные программы или заниматься фронтендом, диплом магистра по математике не нужен. Он будет пылиться на полке, а потраченные годы жизни можно было потратить на прокачку скиллов в программировании.
Знать английский язык в совершенстве тоже не нужно. Если боитесь, что не сможете поддерживать рабочие отношения с зарубежными работодателями, можно взять несколько уроков разговорного английского. Через полгода-год сможете отвечать на простые вопросы и формулировать предложения.
Для успешного старта карьеры веб-разработчика надо изучить:
- Основы HTML и CSS. Необязательно знать их досконально, но базовые знания пригодятся.
- Javascript и jQuery. Тем, кто собирается заниматься фронтендом, без них не обойтись.
- Редакторы кода. Чтобы выбрать одну среду и работать с ней на постоянной основе.
- Фреймворки. Готовые решения — каркас будущих проектов. Они экономят время и помогают быстрее создавать сложные продукты.
- Java и PHP. Языки активно используются для создания фронтенд и бэкенд-инструментов.
- Сетевые протоколы. Для общего развития надо понимать, как работают сайты, что такое DNS, TLS и SSL.
- Git. Разработчики часто трудятся в команде, а Git позволяет создать комфортные условия для удалённой работы.
- API. Перед программистами часто ставят задачи создать новые инструменты на базе открытого API.

Чтобы заниматься бэкендом или фронтендом, не нужно знать высшую математику в совершенстве. Хотя на собеседованиях в крупных компаниях HR-менеджеры любят давать нестандартные задачи, которые часто связаны с математикой и логикой.
Где можно научиться веб-разработке
10-15 лет назад у разработчиков почти не было выбора. Приходилось в обязательном порядке обучаться в университетах и тратить 5-7 лет на получение диплома. Сейчас в интернете много обучающих платформ, которые выпускают разработчиков по разным направлениям.
В список популярных российских проектов входят Geekbrains, Skillbox, SkillFactory, Нетология и другие компании. Продвинутые курсы длятся несколько лет. Параллельно с выполнением учебных заданий студенты могут прокачивать навыки благодаря сотрудничеству с заказчиками.
После завершения учебы студенты получают диплом и большой багаж знаний. В отличие от офлайн-университетов, онлайн-платформы делают ставку на практику. Их подопечные чуть ли не каждый день решают сложные задачи, которые могут пригодиться в будущей работе.

Главное преимущество онлайн-университетов заключается в том, что в процессе обучения они дают обучающимся реальные проекты и помогают устроиться на стажировку в крупные компании. Многие выпускники работают в Яндексе, Вконтакте, Озоне и других технологических стартапах.
Отзывы о Skillbox, Нетологии, Geekbrains и других крупных игроках ниши образования показывают, что они могут выстроить эффективное обучение даже в удалённом режиме. Студентам не надо тратить время на поездки в метро и перемещения между разными корпусами.
Ещё один важный плюс — постоянная связь с руководителем. К обучающимся прикреплены специалисты с релевантным опытом, которые могут помочь с решением задачи и с удовольствием передают ценные знания.
Стоимость обучения зависит от направления, университета и длительности курса. Например, курс по Android разработке в Нетологии стоит 118 тысяч рублей, а по временной акции его можно купить за 59 тысяч. Обучение длится 10 месяцев, можно оплачивать помесячно.

Идеальный вариант для новичков, которые хотят освоиться в веб-разработке, но не собираются тратить время на офлайн-университеты — пройти несколько курсов в онлайне и параллельно работать с клиентскими проектами. Брать простые задачи, получать новые знания, прокачивать навыки и повышать уровень сложности проектов.
Советы веб-разработчикам
Опытные коллеги часто дают новичкам разные советы, а неофиты не всегда правильно их понимают. Мы сфокусировались на пользе для начинающих разработчиков и оставили самое важное.
Убедитесь, что вам это нужно
Нельзя изучать фронтенд или бэкенд только потому, что это круто. Через полгода или год может оказаться, что совсем нет желания создавать проекты для клиентов или заниматься поддержкой сервисов.
Всегда опирайтесь на личные ощущения. Если в процессе обучения поймёте, что не готовы тратить годы жизни на изучение мобильной разработки, выберите другой путь.
Поставьте цели
Подумайте, ради чего идёте в веб-разработку и кем видите себя через 5-10 лет. Если хотите работать в крупной компании и совместно с коллегами развивать полезный проект, то начинайте как можно быстрее получать знания и накапливать опыт.
Новички задают одинаковые вопросы. Они хотят узнать, какой язык программирования лучше изучить, чтобы зарабатывать 200-300 тысяч рублей в месяц. Анализировать список популярных языков надо, но только для общего понимания. Можно изучить основы PHP, Javascript, фреймворков и выбрать приоритетное направление.
Не рассчитывайте на лёгкие деньги
Опытные разработчики часто говорят, что погружение в их мир — марафон, а не спринт. Надо показать хороший результат на длинной дистанции. За несколько месяцев не получится стать востребованным специалистом и наработать такое портфолио, чтобы крупные компании охотились за новичком.

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

Путь веб-разработчика сложный и тернистый. Если хотите стать частью уникальной ниши, которая прокладывает людям дорогу к будущему — начинайте прямо сегодня. Купите курс или начните изучать теорию по бесплатным материалам. В интернете много ресурсов с полезной информацией для программистов.
Надеемся, что наши советы помогут быстрее начать карьеру в разработке и приблизиться к своей мечте. Выберите для себя приоритетное направление и не переставайте совершенствовать знания.
Вся правда о том как стать web разработчиком после online курсов
Статья рекомендована для людей, интересующихся изучением веб разработки с 0 и об эффективности онлайн школ с заголовком «Купи курс за 150 тысяч рублей с гарантированным трудоустройством и зарплатой от 100 тысяч рублей». В статье не будет подробностей по программам и тому как идёт учеба, будут только важные тезисы, которые на мой взгляд необходимо понимать прежде чем пойти обучаться.
const person = < name: 'Evgeny', age: 33, education: 'economy', school: 'HTML academy', course: 'Frontend developer' >;
Теперь немного предыстории, я с компом на ты, но от программирования очень далёк в силу своей уже бывшей «профессии». Основные качества, которые можно сказать заставили меня продолжать обучение: интерес к чему-то новому, сложность и разнообразность решаемых задач. Если Вы мало усидчивы и бросаете дело когда что-то идет не по плану, тогда это не для Вас. Потому что совершенно точно постоянно всё будет идти не по плану. Если Вы будете беспокойно спать пока не решите до конца, то это может показаться Вам интересным вызовом. Ответ на вопрос стоит ли платить?! Если у Вас есть на это деньги которые Вам не жалко потерять, если Вы попробовали бесплатно и Вам это понравилось, если у Вас много времени и Вы умеете искать и понимать информацию, однозначно стоит заплатить. При прочих условиях, но при том же умении искать и понимать информацию можно учиться и самостоятельно. Основные плюсы платного обучения на моём примере.
- Информации будет over много. Изучая один вопрос Вы сразу будете читать непонятные слова и технологии, это просто бесконечный цикл. Вы в любом случае будете отходить от плана обучения, от всевозможных roadmap, от блогера к блогеру и так далее. Но свой минимум, а скорее даже что-то близкое к максимуму, в любом случае будет описано в программе обучения. Практически как в МФЦ правило одного окна.
- У Вас будет несколько наставников на курсе и будет возможность не только их выбирать, но и менять. Наставники одна из основных тем обсуждения студентов, Вам может повезти, а может и не повезти. У каждого свои критерии хорошего наставника. На курсах по HTML/ CSS/ JS у меня было три наставника: Михаил Савотиков @adaptedbee, Ольга Тюлихова @Avilona и Никита Канаев. Не буду переходить на личности, но я можно сказать посмотрел всех:) Прежде чем написать одному из наставников я формулировал свой вопрос по 5 раз, сначала набирал, потом стирал и так по кругу и всегда я был не там. Истина была где-то рядом, не здесь. Я не хотел менять наставника, понимая что это опыт, что на работе тоже могут быть сложности и бросать всё не хотелось, хотя можно было это решить в один ‘click’.
Из плюсов пожалуй всё. Теперь к минусам.
- На обучение по программе я тратил минимум 4 часа в день каждый день на протяжении 7 месяцев. Дополнительно я тратил часа 2-3 в день свободного времени на прочие источники. Время и человеческие ресурсы это пожалуй самое дорогое, что придётся отдать взамен новой профессии. Времени и сил будет не хватать на всём протяжении пути. Где-то раз в неделю и то пол дня я мог спокойно заниматься другими делами. Всё остальное время я читал, смотрел, слушал, кодил и так далее.
- Тех проектов, которые вы будете делать только во время учебы будет не достаточно для трудоустройства. Дополнительно к обучению я бы рекомендовал сделать минимум 3-4 коммерческих или PET проектов как для портфолио, так и для себя
- Зарплата. Доход в 100к при первом трудоустройстве мало вероятен. Тут нужно делить в среднем на 2. Либо откладывать этот момент на попозже параллельно пополняя свои знания.
- Высокая конкуренция. При чем не только по hard skills, но и по soft skills. Если Вы не готовы работать за бесплатно или за еду, чтобы получить offer вашей маленькой мечты придётся изрядно попотеть.
- Веб-разработка
- Учебный процесс в IT
Как учиться на программиста с нуля, сколько времени и стоит ли вообще
Вместе с преподавателями Skillbox отвечаем на вопросы, как долго учиться программированию и как вообще понять, что профессия вам подходит.



Наталья Березовская
Автор в сфере IT, digital, экономики и финансов. Ведёт некоммерческий проект для начинающих писателей «ЛитЦех».
Если речь про учебу, то «всю жизнь», — так лаконично отвечают разработчики. Это справедливое замечание, ведь новые технологии появляются регулярно. Но если вы выбрали путь, то начинайте как можно скорее.
Рассмотрим, сколько времени нужно, чтобы стать разработчиком при различных исходных данных.
А ты точно программист?
Сперва проанализируйте, зачем вам это нужно. Разработчиком может стать любой человек, если приложит усилия и наберётся терпения. Но абстрактные деньги — не лучший мотиватор в этом деле. Поставьте конкретную цель, для достижения которой понадобятся средства и инструменты, — именно она будет двигать вперёд. А затем спросите себя: «Действительно ли программирование меня так увлекает, действительно ли оно поможет мне в моих мечтах?»
Вы хотите реализовать полезный для людей проект? Открыть собственную компанию по разработке сайтов? Эмигрировать? Это примеры мотивации, которая заставляет преодолевать ступени профессионального развития.
Программирование — это сфера, где изменения происходят очень быстро. При этом динамичность сильно зависит от языка и того, где работает программист. Например, JavaScript меняется каждый день — настолько велико его сообщество и популярность.
Чтобы стать хорошим программистом, нужно действительно учиться всю жизнь. Выучить один-два языка в совершенстве можно, лишь постоянно практикуясь.
Преподаватель Skillbox Вадим Шандринов так ответил на вопрос, сколько потребуется времени для становления IT-специалиста:
Понятие «профессионал» достаточно растяжимое. Если мы говорим о человеке, который зарабатывает на жизнь своей профессией, — то, чтобы выучить язык и основные методы его применения, нужно от трёх до шести месяцев.
Чтобы изучить библиотеки, которые используются в определенной области, — от полугода до года. Это и знание документации, и способность сделать продукт на этих библиотеках. И только после — размещайте свое резюме на позицию Junior, чтобы работать под руководством более опытных товарищей.
Дальше — постоянно учитесь, ходите на семинары и митапы, изучайте новые библиотеки и технологии. Это от трёх до пяти лет, чтобы стать самостоятельным разработчиком уровня Middle. А для Senior или архитектора потребуется посвятить 10 000 часов своей профессии.
Читайте также:
- Высшее образование в IT: почему не стоит уходить из вуза
- Ещё один гадкий я: 10 страшных грехов Microsoft
- Как работает .NET и зачем он нужен
Как стать web-разработчиком на Python за полгода: конкретный план действий
Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Веб для тех, кто постоянно развивается
В IT необходимо постоянное развитие. Без него вас просто могут «съесть» более любопытные и совершенствующиеся программисты. Веб не исключение. Пожалуй, это одна из тех сфер, где больше всего технологий, и их число постоянно растёт. Поэтому для backend-разработчика самосовершенствование — лучший друг. Если вы к нему не готовы — чтение данной статьи будет бесполезным (почти).
Насколько глубоки ваши знания в Python?
Надеюсь, вы понимаете, что без хорошего знания Python реализация этого плана невозможна. Циклы, условия, функции, классы, миксины — во всём этом вам нужно так же легко разбираться, как в чистке зубов. Если вы уже знаете этот язык программирования — отлично, можно приступать к выполнению плана. Если нет — вот 2 хорошие книги, которые помогут его изучить:
A byte of Python
Число страниц: 158
Коротко о книге: Данная книга, на мой взгляд, является лучшей для изучения Python с нуля. В 158 страницах автор лаконично и понятно объясняет все основы этого чудесного языка.

Сам себе программист
Автор: Кори Альтхофф
Число страниц: 209
Коротко о книге: В книге объясняются основы Python и немного затрагиваются Git, bash, алгоритмы, регулярные выражения и pip (пакетный менеджер для Python). А задачи для практики помогут лучше понять теоретический материал.

После прочтения любой из этих книг вы получите ликбез по Python (а также по программированию в целом) и сможете приступить к выполнению плана.
При чтении книг по программированию важно понимать, что это не художественная литература. Чтобы получить максимум пользы от этих руководств, необходимо практиковаться параллельно с их изучением. Например, после прочтения каждой главы можно придумывать задачи (или находить в Интернете) и использовать полученные знания для их решения. Это не только поможет вам закрепить пройденный материал, но и сделает более интересным дальнейшее чтение книги.
Стратегия для составления и реализации плана
«Если бы у меня было восемь часов на то, чтобы срубить дерево, я потратил бы шесть часов на то, чтобы наточить топор».
Авраам Линкольн
План – важнейшая составляющая достижения любой цели. Поэтому его необходимо уметь грамотно составлять. Это сэкономит ваше драгоценное время и сократит ненужную работу.
Каждый год люди составляют кучу планов и ставят множество задач. Вначале всё у них идёт хорошо, но уже через пару месяцев начинается откладывание дел на потом – ведь времени ещё полно, почти целый год (да и вообще, устал я, дам себе немного отдохнуть). Так длится вплоть до осени, когда сроки начинают поджимать. И вот в последние 2,3 месяца уходящего года люди увеличивают нагрузку, пытаясь наверстать упущенное. Но, конечно же, сделать это не удаётся, и достижение целей переносится на следующий год.
Такой подход, как можно заметить, не очень эффективен, тем более для веб-разработчика. Поэтому необходимо выбрать другой. Есть много разных стратегий для составления и реализации плана. Лично я пользуюсь способом из книги «12 недель в году» (авторы Брайан Моран и Майкл Леннингтон) и рекомендую его вам (как и саму книгу). Суть стратегии заключается в том, чтобы представлять год как 12 недель, а не как 12 месяцев. Отсюда и название. При таком мышлении, у целей на год будет дедлайн – 12 недель. Данный способ помогает сильно повысить производительность и начать по-настоящему ценить каждую неделю (ведь теперь 1 неделя — это 1 месяц).
При составлении плана я использовал данную стратегию. Полгода — это 6 месяцев. 6 месяцев — это примерно 24 недели. А 24 недели — это 2 года по 12 недель. Таким образом, можно сказать, что время реализации плана — два 12-недельных года.

Как правильно ставить цель
При составлении качественного плана у каждой цели должны быть:
- Дедлайн — крайний срок, когда нужно закрыть цель. Будет поджимать вас при каждом взгляде на него;
- Время, за которое нужно её выполнить. Поможет вам рассчитать дедлайн и понять, укладываетесь вы в него или нет;
- Детальное описание. Чем детальнее расписана задача, тем быстрее вы её сделаете и тем меньше времени потратите на лишнюю работу;
- Наличие инфинитива в формулировке цели. Заставит вас больше думать о том, чтобы выполнить (сделать) эту задачу. (Например: разобрать команду commit).
Составляем план
Внимание! Установка дедлайнов не дорого идёт с расчётом на то, что вы можете уделять реализации плана 6-8 часов в день.
1. Изучить книгу «ProGit» до 171 страницы
Дедлайн — конец 2-й недели 1-го 12-недельного года
Время на выполнение — 2 недели
VCS (Version Control System) – инструмент, без которого не обойтись ни одному уважающему себя программисту. Он поможет откатить программу на рабочую версию, если вдруг в текущей вы слегка накосячили.
Самая популярная VCS и, пожалуй, самая лучшая — Git. Он прост в понимании, изучении и очень быстр – что ещё надо? (Кстати, создан он разработчиками ядра Linux). Самый лучший вариант разобраться в нём — изучить книгу «ProGit» от Скотта Шакона. На старте всю читать нет смысла. Достаточно дойти до главы «GitHub» (не включительно). Таким образом, изучив всего 171 страницу, вы сможете понять смысл VCS и то, как работает Git вместе с его основными командами: commit, add, push, pull, clone, remote. Именно эти команды вы будете использовать в 80% случаев.
Конечно, не все компании используют Git. Но даже если ваша будущая организация применяет другую VCS, вам не составит особого труда изучить её (все, кто использует SVN, нервно закурили в сторонке), поскольку команды систем контроля версий очень похожи.

2. Изучить книгу «PostgreSQL для начинающих»
Дедлайн — конец 4-й недели 1-го 12-недельного года
Время на выполнение — 2 недели
Backend-разработчику необходимо знать базы данных. Это даже не обсуждается. На первых порах у вас может отсутствовать необходимость с ними работать, но однажды этот день обязательно наступит. Помимо понимания баз данных, необходимо уметь работать с СУБД (Система Управления Базами Данных). Чаще всего в Python-проектах используется PostgreSQL. Именно эту технологию я и рекомендую изучать. Книга «PostgreSQL для начинающих» даст вам общее представление о базах данных и обучит основным командам Postgres (синоним слова PostgreSQL). Для начала этой книги будет достаточно. В будущем можно почитать официальную документацию. Она, несомненно, улучшит ваши знания в этом инструменте.
Кстати, выучив основные команды PostgreSQL, вы сможете легко сделать то же самое и для других СУБД, например MySQL. Тут все так же, как и с системами контроля версий, т. е. команды и смысл в разных технологиях очень похожи.

3. Понять, что такое Веб и какие у него есть составляющие
Дедлайн — конец 5-й недели 1-го 12-недельного года
Время на выполнение — 1 неделя
Плавно переходим к веб-программированию. Вначале нужно понять, что вообще за фрукт такой – этот Веб. Узнать, что такое адрес, домен, хост, сервер, HTTP, HTTPS, POST и GET методы, что такое куки, как работает кеширование и т. д. В этом вам помогут лекции на YouTube. Просто введите в поисковой строке фразу «веб лекции», и у вас появится много различных вариантов для изучения данной темы. Лично я рекомендую эти 2 плейлиста: «Основы веб-разработки» и «Web-технологии».
Дедлайн — конец 6-й недели 1-го 12-недельного года
Время на выполнение — 1 неделя
HTML — технология, знание которой необходимо как backend, так и frontend-разработчику. Он несложный от слова совсем. Благодаря шикарному самоучителю, понимание HTML не станет для вас серьёзным препятствием. Дальше дело за практикой и постоянным изучением новых и повторением изученных тегов. В этом, кстати, вам поможет справочник.
5. Изучить части №1 и №2 книги «Django 3.0. Практика создания веб-сайтов на Python»
Дедлайн – конец 6-й недели 2-го 12-недельного года
Время на выполнение — 12 недель
Переходим к самому сложному и самому интересному — фреймворку для веб-программирования на Python. Django и Flask занимают тут лидирующие позиции. Именно их выбирает большинство питонистов.
У Django много встроенного функционала, и за счёт этого на нём можно быстро писать сайты. Flask же не предоставляет такой возможности и почти всё требует создавать с нуля (в этом тоже полно своих плюсов). Мы остановимся на Django. К Flask можно будет вернуться позже. Его изучение сильно улучшит ваше понимание как Django, так и в целом веб-программирования.
При изучении Django я пользовался и до сих пор пользуюсь великолепной книгой Владимира Дронова «Django 3.0. Практика создания веб-сайтов на Python». Рекомендую изучить её полностью, но на старте хватит разбора частей №1 и №2. Читая их, не забывайте о практике, без неё Django выучить невозможно. Придумайте какую-нибудь тематику и сделайте простенький сайт. Например, блог о котах. Желательно практиковаться параллельно с чтением. Также не пытайтесь выучить всё, что есть в книге. Изучите основное, а второстепенное сможете подсмотреть, когда будет необходимость. И да, не забывайте добавлять код своего сайта на GitHub.
Кстати, у Django есть отличная документация, с которой точно стоит ознакомиться в дальнейшем.

6. Пройти первые 4 главы части №1 учебника по JavaScript
Дедлайн – конец 9-й недели 2-го 12-недельного года
Время на выполнение — 3 недели
Да-да! Великий и могучий JavaScript. Пришло его время. Что тут можно сказать? Изучение JS – это интересно, весело и порой больно. А ещё оно необходимо для всех, кто хочет подвизаться в веб-разработке. Бэкендеру будет достаточно базового понимания языка. На момент написания этой статьи лучшим руководством по JavaScript я считаю учебник от javascript.ru. В нём есть вся необходимая информация, она хорошо структурирована и понятно излагается. Для backend-разработчика достаточно пройти первые четыре главы из части №1.
Дедлайн — конец 11-й недели 2-го 12-недельного года
Время на выполнение — 2 недели
И последний инструмент из привычного всем набора JS/HTML/CSS – это CSS. Бэкендеру знание этой технологии особо не пригодится, но базовое понимание не помешает. Помните сайт для изучения HTML? Так вот, у него ещё есть самоучитель по CSS, который и поможет вам в освоении этой непростой технологии.
8. Составить резюме и откликнуться на подходящие вакансии
Дедлайн — середина 12-й недели 2-го 12-недельного года
Время на выполнение — 2 дня
Итак, с технологиями покончено. Минимальный набор backend-разработчика у вас в кармане. Пришло время для поиска работы. Первое, с чего стоит начать – составление резюме. Да, возможно, это самый простой этап, но он очень важен. То, как вы себя преподнесёте работодателю, скажется на скорости и качестве трудоустройства. Вот список рекомендаций, как улучшить своё резюме:
1. Если можете самостоятельно составить резюме на английском — сделайте это;
2. В списке технологий не надо писать свои личные качества, например целеустремлённость, трудолюбие и т. д. Это бесполезная информация, которую может написать про себя любой кулхацкер. Указывайте только технологии, которыми владеете (Python, Django, Git, JavaScript и т. д.);
3. Хорошо, если вы можете подтвердить знание указанных технологий. Для этого будет достаточно ссылки на репозиторий с кодом нужного инструмента (у вас же есть репозиторий на GitHub?);
4. В поле с названием профессии пишите именно название профессии, а не набор ваших технологий (такое часто можно увидеть в разных резюме). Например, в вашем случае это может быть «Junior Django Developer»;
5. Если вы раньше работали в IT, помимо названия компании, укажите, чем в ней занимались. Если есть, что показать, приложите ссылки с материалами. Также добавьте список используемых в работе технологий;
6. Напишите о себе. О своих хобби, о том, как начали изучать программирование, о любимых песнях и т. д. Лучше хотя бы что-то, чем ничего. Подойдёт даже имя кота;
7. Обязательно приложите свою фотографию. Она не только подчеркнёт вашу индивидуальность, но и покажет, что вы серьёзно подошли к составлению резюме.
Вот пример хорошего резюме (фото и данные кота конечно же надо заменить на свои):

Резюме готово? Отлично! Смело выкладывайте его на HeadHunter, даже если не считаете, что оно безупречно. Не забудьте открыть для него полную видимость.
Теперь остаётся только откликнуться на подходящие вакансии. Вводим в поисковой строке всё того же HeadHunter фразу «Python Django», ставим соответствующие фильтры и откликаемся на выпавшие варианты. Важно понимать, что даже если у вас нет всего стека технологий, указанного в вакансии, вы тем не менее можете заинтересовать работодателя, и он пригласит вас на собеседование.
9. Подготовиться к собеседованию
Дедлайн — конец 12-й недели 2-го 12-недельного года
Время на выполнение — 5 дней
Резюме — это хорошо, но без собеседования (а может, даже и тестового задания) вас никто на работу не возьмёт. Что может быть на «собесе»? Обычно вопросы бывают 2 типов: hard и soft skills. Soft skills – это ваши навыки работы в команде, ответственность, лидерские качества и т. д. Hard skills – это технические вопросы, т. е. вопросы по технологиям, указанным в вашем резюме. Оба типа вопросов важны. Подготовиться к техническим вопросам, конечно, сложнее. Вначале нужно понять, какие вопросы могут задать. В этом вам поможет умение гуглить. А если у вас его нет или вы просто не хотите тратить на это время, то вот список вопросов, который когда-то составлял я. Просматривая его и отвечая на вопросы, попробуйте представить себя на реальном собеседовании. И да, если вдруг какой-то вопрос непонятен, обязательно разберитесь в нём.
Что же, вы проделали большую работу. Теперь можно немного отдохнуть, выпить кружку ароматного чая и покурить самый дымный кальян вашего города.
Что дальше?
На изученном стеке технологий далеко не уедешь. Важно, как говорилось ранее, постоянно изучать новые инструменты. Как понять, какие из них нужны? Элементарно! Заходите на наш любимый HeadHunter, в поисковой строке вбиваете фразу «Python Django» и открываете полученные вакансии. Но теперь не откликаетесь на них, а выписываете себе указанный стек технологий. И так нужно сделать хотя бы с 15 вакансиями. После этого из всех выписанных технологий выбираете 3,5 самых часто встречающихся и начинаете их изучение в порядке важности. Данный метод поможет вам изучить самые необходимые инструменты.
Спасибо всем, причастным к написанию этой статьи и вам, дорогие читатели. Уверен, был хоть немного полезен. Удачи и до скорых встреч!
Дополнительные ссылки
И в конце несколько ссылок на публикации моих коллег, так или иначе связанные с темой работы, обучением и собеседованиями. Надеюсь, что-то из этого тоже может оказаться вам интересным.
- Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio.
- Дизайн: Фриланс vs Офис.
- Собеседование на дизайнера в IT: вопросы, тестовое, подводные камни.