TECH · 21 марта 2017, 11:34 · Отдел информации dev.by
Как стать разработчиком? Пошаговый план изучения веб-технологий

Разработчик Камран Ахмед визуализировал путь «становления» веб-разработчика, раскрыв все важные этапы получения знаний для будущих фронтенд-, бэкенд- или DevOps-инженеров.

Иллюстрация: Kamran Akhmed

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

Жёлтым цветом обозначены персональные рекомендации разработчика, бежевым — варианты для выбора, а серым — иные возможности, изучение которых новичок может выбрать сам.

Иллюстрация: Kamran Akhmed

Иллюстрация: Kamran Akhmed

Иллюстрация: Kamran Akhmed

В продолжение темы разработчик Брендон Морелли составил подробный перечень ресурсов для изучения веб-технологий. Его список сосредоточен в большей степени на изучении JavaScript, React и Node.js. Кроме этого, рекомендации содержат ссылки с информацией о подготовке к интервью и успешном трудоустройстве.

Источник: dev.by
Новые комментарии

Обсуждение

Picture_54?1356409795
faketail
– программист в BELHARD

-1

Всё так, но в чем собственно смысл схем для тех, кто реально стремится в разработчики не очень понятно, несколько кэповство.

Missing
+1

> Как стать разработчиком?

поправьте заголовок. не разработчиком, а веб-разработчиком

Missing
+2

Полная бредятина.

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

И ёщё - не упомянуть Java и .NET для фронт/бекенда это заболевание.

6178553c3088be31671f8146ba91fd4b?1401052672

> Девопс это не роль, это культура в компании.

Что нисколько не мешает существованию спецов по этому направлению. Уж не знаю, кто там где что перемалывал.

> И ёщё - не упомянуть Java и .NET для фронт/бекенда это заболевание.

А какое отношение имеет Java и .NET к фронтенду? А в бэке, если вы не заметили, они есть.

Missing

"Специалисты по этому направлению" конечно есть, только они совсем не те, о ком вы думаете. Это менеджерская работа по изменению культуры компании и постановки правильных процессов, поэтому нет, это не инженерская специальность. Для того, чтобы работать в компании с devops культурой, вам (нам) как специалистам не надо иметь каких-то специальных навыков, поэтому нет, диаграма сверху она не правильная, поскольку авторы не понимают что такое devops. А не понимают потому, что термиин devops выбран ошибочно, так как даёт интиутивно неправильное определение данному термину. Это не только для не-англо говорящих, а для всех.

Предлагаю прогуглить термины "what is devops" и "what is front end in software architecture" и возможно на многие вопросы найдутся ответы.

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

6178553c3088be31671f8146ba91fd4b?1401052672

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

> Front-end concern не обязательно начинается/заканчивается с браузера даже в web.

Чем же еще может быть фронт в вебе с Java и .NET? Я не то, чтобы сильно новичек, но, кажется, не в курсе "реального состояния дел".

Missing

ну видно, что не в курсе. Какое администрирование и разработка одновременно, я писал сверху это вообще малое отношение к девопсу.

Это изменения процессов внутри компании, это вовлечения бизнеса в процесс, это интеграция команд путём стирания границ между ними, автоматизация процессов, распределение ответственности и т.п. Это чисто менеджерские обязанности.

Если кто-то думает по-прежнему что devops = development + operations админ и программер в одном флаконе, то флаг в руки, как бы, какая разница, просто это совсем не так или маленькая и необязательная часть того что есть devops.

Ну а про фронт-енд java, front-end это concern в архитектуре, это не джаваскрипт per se, лениво писать, прогуглите Java EE 7: Front-end Web Application Development хотя бы для начала.

6178553c3088be31671f8146ba91fd4b?1401052672

> Это изменения процессов внутри компании, это вовлечения бизнеса в процесс, это интеграция команд путём стирания границ между ними, автоматизация процессов, распределение ответственности и т.п. Это чисто менеджерские обязанности.

> просто это совсем не так или маленькая и необязательная часть того что есть devops

В корне не согласен. Причем тут "вовлечение бизнеса в процесс" и "распределение ответственности"? Какие-то общие слова. Можете конкретные примеры? Я вот могу. Настроить CI - это DevOps. Чисто инженерная задача. Win-win для разработчиков (меньше рутины) и для product owner'а (более стабильные релизы).

> прогуглите Java EE 7: Front-end Web Application Development

Погуглил - курс от Oracle. "Students will create web-based user interfaces, using HTML5 and JavaScript along with JSPs and servlets." HTML и JavaScript, Карл!

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

7df30b74d305843fa914ee4b84813649?1502194679
+1

Касательно понятий front-end и back-end. Если повспоминать, то я встречал разные интерпретации:

- клиентская часть и серверная часть;

- пользовательский интерфейс и админка;

- быстрая сервачина, решающая что делать с поступающими запросами: то ли считать, то ли в кеш идти. И в противовес: банда серьезных серверов-считателей (back-end).

Много разных историй бывает. Я не понимаю только зачем люди пафосно щёки надувают, вместо того чтобы сразу мысль объяснить :)

Missing

Я был бы рад, если бы мне сказали ты не прав и ознакомься с предметом детальнее, какой тут пафос? Эти вещии имеют устоявщиеся определения и понятия, при чём тут личные мемуары? Если человек упорно считает что "front-end в вебе это браузер", а девопс это программист устанавливающий дженкинс, то это его личное, но надеюсь, что кто-то засомневается и получше разберётся в предмете.

6178553c3088be31671f8146ba91fd4b?1401052672

То есть никакого примера front end в вебе, кроме браузера вы привести не можете?

> Эти вещии имеют устоявщиеся определения и понятия

Ну хорошо, давайте откроем википедию (не то, чтобы сильно авторитетный источник, но все же).

https://en.wikipedia.org/wiki/Front-end_web_development

"Front-end web development, also known as client-side development is the practice of producing HTML, CSS and JavaScript for a website or Web Application"

Дальше определение Web Application (https://en.wikipedia.org/wiki/Web_application)

"In computing, a web application or web app is a client–server software application in which the client (or user interface) runs in a web browser."

Да, html, js и css можно заменить чем-то другим, но в браузере оно все равно будет представлено этими 3-мя составляющими (на данный момент).

> Если человек упорно считает что

> девопс это программист устанавливающий дженкинс

То есть вы мои сообщения не читаете? Я повторю.

"Я ни разу не спорю, что DevOps - это культура и процессы в первую очередь. Но я прекрасно могу представить себе такого специалиста с опытом в администрировании и разработке одновременно, который помогает разработчикам ставить эти самые процессы."

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

Missing

Ну вот навскидку джава фронт енд спеки/фреймворки jsp, jax-rs, милион всяких struts/spring mvc/sitemesh лейатув енджинов, xslt, gwt, всякие pdf-renderers, grails, applets, swing (web deployed) можно быть 20 лет front-end джава спецом и вообще не трограть джаваскрипт. Поэтому если мы говорим "java" и добавляем "front end" мы подразумеваем весь спектр технологий. Я не спорю, для js специалиста это всё темный лес (как для меня к примеру какие нибудь embedded системы или mainframes но я туда и не лезу).

>> который помогает разработчикам ставить эти самые процессы."

Отнюдь. Что такое программирование? Это тарабанщина по клаве и смотрение в монитор - не поспоришь, неотъемлемая часть. Покрывает это ответ? Нет. Devops это прежде всего процессы компании, на них админ и программер не имеет никакого влияния. Хоть 10 пядей во лбу и знания всех систем. Вы не заставите бизнес принять и использовать CD, ваши все CI процессы хороши для вас прежде всего, но это не делает вас DEVOPS компанией без всех процессов. Продукт оунер наплевать на ваши внутренние процессы в данном случае если только оно не делает чтото дешевле, а оно не делает, как правило. Автоматизация билдов, деплойменты, CI and automation tests это часть, но важная часть. Можно быть DEVOPS команией без CI. Поэтому в DEVOPS компании все члены команды девопс-специалисты. Также как если невозможно быть девопс специалистом в компании где девопс это только.CI & automation tests. Это всего лишь специалист по CI и спец по тестам. Так что без CD (которое бизнес, в первую очередь) и уменьшения длины дев цикла ( которое обычно не происходит по массе причин) это все не девопс.

Поэтому диаграмма сверху с 3 ролями и одна из них DEVOPS (еще и ответвление от бэк-енд роли) это полная бредятина - но не по злому умыслу, ессно, а по незнанию,

6178553c3088be31671f8146ba91fd4b?1401052672

Спасибо, теперь я хотя бы понял, о чем вы. Такая точка зрения возможна. Правда с таким же успехом в front end можно записать 100500 фреймворков и шаблонизаторов из других языков. Но ок, принимается.

> Devops это прежде всего процессы компании, на них админ и программер не имеет никакого влияния.

"Не имеет смысла нанимать толковых людей, а затем указывать, что им делать. Мы нанимаем толковых людей, чтобы они говорили, что делать нам." © Стив Джобс. Надеюсь цитата поможет понять мое отношение к компаниям, которые следуют вашему утверждению.

> Продукт оунер наплевать на ваши внутренние процессы

Тогда это плохой product owner.

> если только оно не делает чтото дешевле, а оно не делает, как правило

У меня абсолютно противоположное мнение на этот счет.

6178553c3088be31671f8146ba91fd4b?1401052672

Владимир, спасибо! Действительно хороший пример другого front end в вебе - "быстрая сервачина, решающая что делать с поступающими запросами". Только тут это очень широкое понятие, и обычно используют более конкретные термины, чтобы не было путаницы: балансировщик, кеш-сервер и whatever что может стоять перед серваками. Ну и статья про другое.

Picture?type=square
Vitaly Borisok
– Java Developer в ISsoft

Как тут в комментариях и было сказано: понимание где находится граница между бекендом и фронтендом - слегка размыта. :)

Например, JavaServer Pages - это back-end или front-end? :)

А GWT - это что? :)

Missing-male
+3

Ветку по яве вообще обделили, никакого стека технологий не описали

6178553c3088be31671f8146ba91fd4b?1401052672
+2

По рекомендациям могу предположить, что автор просто не сталкивался с Java и .NET, но не упомянуть их не мог.

В любом случае проект на github, и вы можете помочь автору. Roadmap уже успел поменяться с момента публикации на dev.by

6178553c3088be31671f8146ba91fd4b?1401052672

Вполне годно. Только в 2017 для фронтэнда я бы рекомендовал PostCSS, а не SASS и убрал бы из рекомендаций jQuery. Redux - это одна из реализаций flux, так что странно их видеть как альтернативы друг другу, а вот про MobX забыли. И CSS3 обязательно в рекомендации.

Для python включил бы еще Flask в рекомендации. Для nodejs - Koa.

Для DevOps обязательно включить безопасность.

И вебсокеты во все три roadmap'а.

Missing

Сорри, конечно, но где тут пошаговый план???


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси