Написать пост

Роадмап веб-разработчика: что учить в 2024 году

Аватарка пользователя Дух айтишной эмо школы

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

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

Превью видео uWoFF9MkRbg

Вот, о чём рассказывается в видео:

  1. Многие новички становятся ‘вечными студентами’ и не переходят к реальной работе из-за перегрузки информацией.
  2. Стеф подчеркивает важность изучения основ и как можно скорее начать работать над реальными проектами.
  3. Он советует после изучения основ создавать веб-сайты для местных предприятий, чтобы практиковаться в реальной разработке.
  4. Стеф говорит, что большая часть обучения происходит в процессе работы, и что работодатели ожидают, что разработчики будут учиться на месте.
  5. Он предлагает начать с изучения HTML5, CSS3 и JavaScript, а затем ознакомиться с основами фронтенд-фреймворков.
  6. Работодатели ищут доказательства способности кандидата выполнять реальные проекты, а также его коммуникативные навыки.
  7. Стеф утверждает, что в сфере разработки программного обеспечения опыт ценится выше, чем наличие степени или сертификации.
  8. По его словам, большинство работодателей в США больше не требуют наличия степени для найма на работу.
  9. Стеф рекомендует не тратить время на получение степени для карьеры разработчика, если только образование не бесплатное или если вам не очень молоды.
  10. Он подчеркивает, что важнее всего показать реальные проекты и опыт, а не дипломы или сертификаты.

Ниже — транскрибированный перевод видео на русский язык.

В этом видео я расскажу вам о пути веб-разработчика. Их очень много, и поэтому существует множество мифов, распространяемых людьми, молодыми зубрилами. Вот хорошая новость. Вам не нужно учить столько, сколько вы думаете, прежде чем устроиться на работу. Это первое. Одна из больших проблем, которую я вижу во многих этих путеводителях, заключается в том, что перечисляются тонны и тонны технологий, и что происходит, люди становятся постоянными студентами. Они никогда фактически не начинают работать в этой области, и поэтому это очень разочаровывает их, и они сдаются, и затем они слышат от этого человека, который говорит: “О, тебе нужно изучить MIRN”, и этот человек говорит: “Нет, тебе нужно изучить Django и Python”, и этот человек говорит: “Тебе нужно изучить Git”, и этот человек говорит: “Тебе нужно изучить что-то еще”.

Вот как это на самом деле работает. Вы изучаете основы.

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

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

Я был экспертом в веб-разработке на Java, JSP, сервлетах, реализации POJO, MVC, легких фреймворках, но есть еще целая область Java, в которую я не вникал. Это Java Server Faces, EGB 1, 2, 3, и многое, многое другое. Java Swing для разработки на стороне клиента, это все вещи, в которые я просто немного погружался, но я был далеко не профессионал, но это нормально. У меня все равно было много работы, просто делая то, что я делал на Java.

Теперь, если вы выходите за пределы Java, я использую Java как пример, если вы смотрите на все различные конкурирующие языки, Java, C Sharp, PHP, Python, Ruby, JavaScript, и есть много других, TypeScript и т. д., и т. д., вы можете сойти с ума, пытаясь выучить все это. И вот где вы попадете в эту ловушку, этот ад учебников.

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

Веб-стек: HTML5, CSS3 и JavaScript

Это замечательные новости. Так вот, первое, мы поговорим о веб-стеке. Во-первых, вы изучаете HTML5, CSS3 и JavaScript. Изучите создание современных адаптивных веб-сайтов.

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

Вы можете посмотреть, может быть, немного потрогать, может быть, потратить день на Bootstrap, потратить, может быть, день на Tailwind, просто чтобы понять очень, очень основы. Так что вы сейчас находитесь на этом этапе, где вы понимаете эти вещи. Теперь пришло время фактически создавать реальные проекты. Обратите внимание, я еще не упомянул React и Git и Node и все.

Начните создавать свои проекты

Пока что нет. Начните создавать реальные проекты. Идите и найдите кофейню, которой нужно обновить свой сайт.

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

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

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

Это понятно. Это понятно для всех, кто нанимает разработчика, что когда вы их первый раз приводите, им придется много учиться. Так что одна из проблем, с которой сталкиваются новички, заключается в том, что многие компании ищут опытных разработчиков. Они хотят людей с опытом в столько-то лет. Как же получить этот важный эквивалент двух-трехлетнего опыта, чтобы получить первую работу?

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

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

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

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

Мягкие навыки: как их развивать

Очень важно, ребята, очень важно. Так как развивать эти мягкие и межличностные навыки? Какая-то конкретная тренировка может помочь и так далее, но ключевое здесь действительно заключается в том, чтобы встать на ринг, так сказать, и на самом деле что-то создать.

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

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

Какой язык программирования учить

Так вот, вы разработчик на React, и ваш начальник в один прекрасный день скажет: слушай, у нас есть куча скриптов для офиса, которые нужно обновить. Все это на Python.

И вы думаете: почему? Я никогда не работал с Python раньше. Так что я пойду выучу Python и просто сделаю работу.

Это обычное дело. Теперь некоторые из вас могут подумать: о, нет, мне придется учить еще один язык. Вы должны понять, это как учиться водить машину. Как только вы научитесь водить BMW, водить Porsche или водить Audi – это не так уж и сложно, верно? Машины – это машины. Вот такая же история со всеми этими языками программирования, будь то JavaScript, C-Sharp, Java, PHP, Python, Go, TypeScript, за некоторыми исключениями, такими как Rust и Assembler, или что-то в этом роде, за некоторыми исключениями, все эти современные языки очень похожи.

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

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

Люди из Vue, вам нужно изучить Vue и т.д. Ну, нет. Вы можете… Работать 10 лет в этой области и никогда не работать с React.

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

Что особенно? Это то, что вы хорошо знаете свои основы, и, во-вторых, вы можете показать, что вы можете реализовать эти основы, то есть вы можете создавать реальные вещи.

Нужно ли образование

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

Например, я недавно видел статистику, согласно которой более 60% работодателей в США теперь, 60%, большинство, категорически не требуют от людей иметь степень. Работодатели все больше и больше понимают, что люди с высшим образованием не обязательно приносят пользу бизнесу. Фактически, Apple, IBM и, я думаю, Google, провели исследование среди своих сотрудников и обнаружили, что не было разницы в производительности между теми, у кого была степень, и теми, у кого ее не было.

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

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

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

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

Собирайте портфолио

Если вам за 30 или 40, не тратьте свое время. Вы получите некоторую пользу от этого, но для большинства людей это не требуется. Для большинства работ, я не говорю, что для всех, в некоторых местах все еще, знаете ли, они все еще используют факсы и пишут на пишущих машинках, и, знаете ли, они все еще верят в старую школу, но там, где это потребуется, потребуется степень.

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

Из-за этого опыт в разработке ПО стоит гораздо больше, чем ученые степени, что хорошо. Это одна из немногих меритократий, оставшихся в этом мире, что фантастически, верно? Если у вас есть система правительства, экономики, общества, основанная на заслугах, меритократии, то люди, которые хороши, продвигаются, и все выигрывают в огромной степени, верно?

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий3К показов