LINUX.ORG.RU

Веб-разработчик, фронтендер. Что мне делать, как мне быть?

 , , ,


2

1

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

Последнее место работы - интернет-провайдер, где и для которого я с нуля писал ERP-систему. Использовал я вовсю Perl, JavaScript и остальные мелочи, типа HTML/CSS/MySQL.

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

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

Вопрос у меня как-раз про фронтенд.

Во-первых, если фрилансить, то насколько сложно найти заказы на фронтенд у нас/в Европах?

Второе - что нынче в тренде, какие технологии, что изучать?

Знания у меня «среднестатистические» - немного pure JS, jQuery, XML, более-менее нормальные знания HTML5, CSS3, LESS, Bootstrap, хотя, до гуру далеко. Разумеется, ещё Linux и Git.

Видел, в вакансиях часто требуют AngularJS или Backbone, тестирование (им я вообще не занимался на фронтенде, не знаю даже, как), Grunt/Gulp.

Перемещено Falcon-peregrinus из general

Во-первых очень просто, но если за деньги, то очень сложно.
Второе: изучай не тренды, а технологии. Научись для начала отделять хипстерскую шелуху от реальных инструментов. Протокол HTTP изучи, изучи ванильный JS, изучи стандарты HTML.

Ангуляр и бекбон требуют раки, с достаточно глубоким знанием JS это всё осваивается за несколько дней, а с сильно глубоким приходит понимание ненужности всего этого говна.

Тестирование изучить стоит, если хочешь работать в небольших конторах, у которых нет денег на отдельного тестера. Чем что тестить нагуглишь сам. А если нет — начни с курсов английского.

Goury ★★★★ ()
Ответ на: комментарий от Goury

Тестирование изучить стоит, если хочешь работать в небольших конторах, у которых нет денег на отдельного тестера.

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

Anvill ()
Ответ на: комментарий от Anvill

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

Goury ★★★★ ()
Ответ на: комментарий от Goury

Во-первых очень просто, но если за деньги, то очень сложно. Второе: изучай не тренды, а технологии. Научись для начала отделять хипстерскую шелуху от реальных инструментов. Протокол HTTP изучи, изучи ванильный JS, изучи стандарты HTML.

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

Ангуляр и бекбон требуют раки, с достаточно глубоким знанием JS это всё осваивается за несколько дней, а с сильно глубоким приходит понимание ненужности всего этого говна.

Есть идея небольшого сервиса - как вариант, написать на ванильном JS.

Тестирование изучить стоит, если хочешь работать в небольших конторах, у которых нет денег на отдельного тестера. Чем что тестить нагуглишь сам.

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

А если нет — начни с курсов английского.

Мне пока достаточно уровня «чтения технической документации». Да и в крупных компаниях особо нет желания работать.

VeroLom ★★ ()
Ответ на: комментарий от Goury

Но ты же всё равно дебажишь код? Почему бы вместо того, чтобы «написал -> запустил» сразу не писать тест? Времени не сильно больше займёт, зато профит будет примерно после второго запуска. В идеале конечно иметь написанный testspec до того, как принялся разрабатывать модуль, но это в мечтах.

Anvill ()
Ответ на: комментарий от Anvill

Почему бы вместо того, чтобы «написал -> запустил» сразу не писать тест?

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

znenyegvkby ()
Ответ на: комментарий от VeroLom

Ванильный JS знаю, но плохо

Узнавай лучше, во фронтенде пригодится.

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

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

уровня «чтения технической документации»

Лучше хотя бы до pre-intermediate дотянуть, оно того стоит.
И с этой ступени уже можно расти просто за счёт общения с носителями.

Goury ★★★★ ()
Ответ на: комментарий от Anvill

testspec до того, как принялся разрабатывать

TDD is overrated.
А ещё от него проблем бывает больше чем пользы.

Почему — фех знает. Но почему-то получается быстрее. Особая манагерская магия, вестимо.

Goury ★★★★ ()

Начнем с простого: ты пробовал жить по принципу 20% от ЗП всегда стоит отложить?

Deleted ()
Ответ на: комментарий от Goury

Ванильный JS знаю, но плохо

Узнавай лучше, во фронтенде пригодится.

Это очевидно, по-этому в процессе. Пока перечитываю Флэнагана.

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

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

Я знаю, для чего тесты нужны, но про тесты в JS ничего не знаю. Буду гуглить.

уровня «чтения технической документации»

Лучше хотя бы до pre-intermediate дотянуть, оно того стоит. И с этой ступени уже можно расти просто за счёт общения с носителями.

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

VeroLom ★★ ()
Ответ на: комментарий от Deleted

Начнем с простого: ты пробовал жить по принципу 20% от ЗП всегда стоит отложить?

Пробовал.

VeroLom ★★ ()
Ответ на: комментарий от VeroLom

относительно простые предложения

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

Goury ★★★★ ()

Во фронтенде тренды меняются каждый год. Angular, React, React+Redux, Angular2 и т.д. Куча всякий технологий для ноды, те самые grunt/gulp. Надо знать все, и обязательно быть в теме модных хипстерских новинок. Чем быстрее узнаешь о новой моде тем лучше.

Angular кстати уже не модно, это практически легаси, для скучного аутсорса. На новом проекте пацаны засмеют.

Если научишься хорошо делать фронтенд на свежих технологиях - заказы будут.

shimshimshim ()

в вакансиях часто требуют AngularJS или Backbone

Вот как бы и ответ. А так же react и т.п. Фронтенд - это настоящие и будущее.

special-k ★★★ ()

Ты не фронт, ты ничего не умеешь.[/thread]

holuiitipun ()
Ответ на: комментарий от Goury

TDD is overrated.

Лiл, сказало чмо, не умеешее в код стайл xD

Не слушайте его, он школьник =)

holuiitipun ()

Сейчас самый писк это Angular1 но уже начинают смотреть на 2.

Angular2 несколько проще и шустрее но желательно знать TypeScript.

Бонусом Ангулар является то, что все в одном флаконе. Для React нужно ещё пяток если нормално разрабтывать.

Для SPA(Single Page Application) нет смысла в шаблонах на стороне сервера. Обчно все обна HTML страница а шаблоны обрабатываются на стороне клиента.

Backed тоже модно делать на JavaScript / TypeScript.

Т.е. Full stack выглядит так:
Server:
nodejs: Express | HAPI
Client:
Angular | React + Flux + jQuery + много чего ещё

Для компиляции Gulp или Grunt. Я рекомендую Gulp, так как у него конфигурация это нормальная программа на JS которую можно в отладчике прогнать.

Test:
Karma + (Jasmine | Mocha / Chai возможно с Sinon)

Нужен нормальный редактор. Я рекомедую VSCode. Шустрее и удобнее Atom с которым у него общая кодовая база. Плпгинов не десятки тысяч как у Atom, но достаточно для работы. В VSCode есть и отладчик и форматирование и подсветка синтаксиса и интеграция с Gulp и даже видео, обучающее как им пользоваться. Visual Studio Code by John Papa Если pluralsight нет желания связываться(хотя я рекомедую, так как недорого и много информации) поищите в этих ваших инетах.

Начинать проект рекомедую с Yeoman.
Установить Yeoman

npm install -g yo

Ищете нужный генератор http://yeoman.io/generators/ . К примеру вы остановились на angular-fullstack

На сайте генератора есть подробное описание шагов по установке:
https://github.com/angular-fullstack/generator-angular-fullstack

Для нормального бэкенда все-же нужна или Java или .Net
Я рекомендую .Net Core который прекрасно работает на Linux а WebApi2 просто прекрасен как и новые проекты с JSON конфигами и интеграцией с Gulp + есть интеграция с VSCode хотя можно и VS Community Edition который на 99% это VS Pro

PS
Работы по изучению много но оно того стоит.
PPS
Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья!

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

Для компиляции Gulp или Grunt. Я рекомендую Gulp, так как у него конфигурация это нормальная программа на JS которую можно в отладчике прогнать.

Почему тогда не просто npm-скрипт?

x3al ★★★★★ ()
Ответ на: комментарий от x3al

Почему тогда не просто npm-скрипт?

В силу ограниченной функциональности и отсутствия плагинов.

Обычно `npm build` просто запускает `gulp build` или `webpack XXX`

grim ★★★★ ()
Ответ на: комментарий от Goury

И ещё нужно много читать, желательно художественную литературу. Тогда эти правила оседают в «нейронной сети».

xenohunter ()
Ответ на: комментарий от xenohunter

Мне кажется, самый писк сейчас - это React.

Ангулар это комплексный фрэймворк для всего цикла работы приложения.

Преимущество реакта по сравнению с Ангулар1 это скорость.
Но построить нормальное приложение только с помощью реата сложно. Обычно привлекают ещё пять-десять фрэймворков.

Т.е когда у вас продлемы с Ангулар - вы задаете вопрои с вам отвечают так как все стандартно.
Когда у вас проблемы с Реакт+Jquery+Mustache+Redux+something людям бывает сложно ответить что у вас не в порядке.

PS
Ангулар2 не уступает по скорости Реакту.
PPS
Как контрактор(по вашему фрилансер) могу сказать что заказы на Angular попадаются раз в 10 чащу чем на Реакт. Хотя я в другой стране, но не думаю что реалии по мире слишком отличаются от того что происходит здесь.
PPPS
Для английского рекомедую аудиокниги. Начните с того что читали на родном языке. Первые книги можно прослушивать каждую главу по 2-3 раза или прослушивать книгу пару раз подряд.

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от grim

Angular2 несколько проще и шустрее но желательно знать TypeScript.

Или Dart. Dart — няша. В своё время выбирал между Dart и TypeScript, выбрал Dart, ибо в TypeScript нету проверки на инстанс. Говорят, проверять на инстанс — плохо, но, мне кажется, в этом суть компонентно-ориентированного программирования. При этом, из Dart сложно использовать чужой JS код, но и не нужно.

com ()
Ответ на: комментарий от grim

Думаю, параллельно с глубоким изучением JavaScript начну AngularJS 2 учить. Только зачем TypeScript? Во-первых, не особо люблю такие надстройки (тем более, от мелкософт). Второе - практически не видел вакансии фронтендера с требованием/пожеланием знания ТайпСкрипта.

Т.е. Full stack выглядит так: Server: nodejs: Express | HAPI

Ноду тоже изучу, в хозяйстве пригодится. Чем Sails.JS плох?

Gulp и Karma + Jasmine тоже в список изучаемого добавлю.

Нужен нормальный редактор. Я рекомедую VSCode. Шустрее и удобнее Atom с которым у него общая кодовая база. Плпгинов не десятки тысяч как у Atom, но достаточно для работы. В VSCode есть и отладчик и форматирование и подсветка синтаксиса и интеграция с Gulp и даже видео, обучающее как им пользоваться. Visual Studio Code by John Papa Если pluralsight нет желания связываться(хотя я рекомедую, так как недорого и много информации) поищите в этих ваших инетах.

Нормальный - это какой? Я уже много лет пользуюсь Geany и желания с него слезать нет.

Начинать проект рекомедую с Yeoman.

Спасибо, почитал, попробую.

[quote[PS Работы по изучению много но оно того стоит. Не сомневаюсь. Всё-таки, я много времени потратил ни изучение того, что я знаю, и особо не жалею :)

PPS Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья!

И вам здравия!

VeroLom ★★ ()
Ответ на: комментарий от com

Или Dart.

После того как Гугл выбрал TypeScript для Angular 2 судьба Darts это кладбище забытых ЯП.

При этом, из Dart сложно использовать чужой JS код

После этого я бы даже не взглянул на этот ЯП.
Покойник однозначно.

grim ★★★★ ()
Ответ на: комментарий от VeroLom

Только зачем TypeScript?

Angular 2 написан на Typescript, как и VSCode. Соответствено при програмировании для Ангулар 2, желательно писать на TS бля получения полной отдачи от фрэймворка.

Во-первых, не особо люблю такие надстройки

И очень зря
Любая программа на JS это программа на TS.
TS позволяе intellisense в редакторе с помощью .d.ts файлов. Почитайте о definitely typed
TS это preview фич которые появляются в JS

(тем более, от мелкософт).

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

Второе - практически не видел вакансии фронтендера с требованием/пожеланием знания ТайпСкрипта.

Странно.
У нас достаточно часто спрашивают.

Чем Sails.JS плох?

Тем что менее распространен http://stackoverflow.com/questions/12616153/what-is-express-js .
Yeoman тэмплэйты обычно используют Express.
Кроме того что Express что Sails по большому счёту отжили своё.
Для современного приложения обрабатывающего тэплэйты на клиенте MVC не сервере - просто пережиток, поэтому я и советол на них забить и просто использовать JASON сериализацию что хорошо умеет HAPI

Нормальный - это какой?

Это который умеет intellisense, отладку JS локально, отладку JS в Chrome, понимает Gulp изкаробки и вообще заточен под JS настолько наскольно JS это позволяет и даже больше, так как VSCode пможет проверять типы параметров при установке соответствующих .d.ts файлов.

Westorm во многих отношениях круче но и проблем у него достаточно. Я свалил на VSCode и не жалею.

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

И вам здравия!

Спасибо ;)

PS
«Для английского рекомедую аудиокниги. Начните с того что читали на родном языке. Первые книги можно прослушивать каждую главу по 2-3 раза или прослушивать книгу пару раз подряд.»

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 5)

Выучи английский и angular или react, на апворке тонна $30+/час предложений.

holuiitipun ()
Ответ на: комментарий от Goury

Ангуляр и бекбон требуют раки, с достаточно глубоким знанием JS это всё осваивается за несколько дней, а с сильно глубоким приходит понимание ненужности всего этого говна.

Лiл, и как ты одностраничник без фреймворка будешь делать? Свой неподдерживаемый и кривой велосипед будешь пилить?)

holuiitipun ()
Ответ на: комментарий от Goury

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

QA пишет функциональные тесты, а юнит/интеграционные всегда пишет разраб. Ты хоть в большой конторе работал?)

holuiitipun ()
Ответ на: комментарий от Goury

ТС, не советую воспринимать слова этого диванного илитария всерьёз.

Anakros ★★★★★ ()
Ответ на: комментарий от grim

Только зачем TypeScript?

Angular 2 написан на Typescript, как и VSCode. Соответствено при програмировании для Ангулар 2, желательно писать на TS бля получения полной отдачи от фрэймворка.

Понятно. Буду смотреть.

Второе - практически не видел вакансии фронтендера с требованием/пожеланием знания ТайпСкрипта.

Странно. У нас достаточно часто спрашивают.

Посмотрел сейчас на ХХ вакансии по ключевому слову Angular - в среднем, в 2 из 10 вакансий TypeScript - как преимущество, а не требование. Требование - глубокое знание JS. В принципе, TS - не проблема совсем, просто факт констатирую.

Нормальный - это какой?

Это который умеет intellisense, отладку JS локально, отладку JS в Chrome, понимает Gulp изкаробки и вообще заточен под JS настолько наскольно JS это позволяет и даже больше, так как VSCode пможет проверять типы параметров при установке соответствующих .d.ts файлов.

Westorm во многих отношениях круче но и проблем у него достаточно. Я свалил на VSCode и не жалею.

Прощай, vim =(

По существу - какой из редакторов, умеющих IntelliSense и отладку, самый простой и легковесный?

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

Не осиливаю. Мне проще почитать книгу, мануал или StackOverflow.

VeroLom ★★ ()
Ответ на: комментарий от holuiitipun

QA пишет функциональные тесты, а юнит/интеграционные всегда пишет разраб. Ты хоть в большой конторе работал?)

одна история офигительнее другой просто

vostrik ★★★☆ ()
Ответ на: комментарий от vostrik

одна история офигительнее другой просто

Видел qa пишещнно юнит тесты в не говноканторе?

holuiitipun ()
Ответ на: комментарий от holuiitipun

видел QA, пишущего модульные тесты не в говноконторе.

видел QA, пишущего интеграционные тесты не в говноконторе.

видел DEV, пишущего функциональные тесты не в говноконторе.

вижу holuiitipun, который даже разницу между ними не понимает, а все туда же.

vostrik ★★★☆ ()
Ответ на: комментарий от grim

Нормальный - это какой?

Это который умеет intellisense, отладку JS локально, отладку JS в Chrome, понимает Gulp изкаробки и вообще заточен под JS настолько наскольно JS это позволяет и даже больше, так как VSCode пможет проверять типы параметров при установке соответствующих .d.ts файлов.

Посмотрел VSCode - норм. Думал сначала, что такой же монструозный, как VS, но всё оказалось совсем иначе :) Даже расцветка такая же, как у меня в Geany.

VeroLom ★★ ()
Последнее исправление: VeroLom (всего исправлений: 1)
Ответ на: комментарий от VeroLom

Понятно. Буду смотреть.

Для немедленного профита налегайте на JS.
TS и Ангулар2 пока не критичны.
Ибо

Требование - глубокое знание JS.

Для быстрого обзора все-же попробуйте видео.
А затем уже углубляйте доками.

Не осиливаю. Мне проще почитать книгу, мануал или StackOverflow.

Я бы всё же советовал посмотреть видео по VSCode.
Оно всего около получаса и профит получите немедленно.
Кроме того там объясняется как отлаживать Gulp файлы, и многое другое.

Да, чтобы подключить intelligence к приду для Ангулар или NodeJS почитайте https://github.com/typings/typings

grim ★★★★ ()
Ответ на: комментарий от grim

Понятно. Буду смотреть.

Для немедленного профита налегайте на JS. TS и Ангулар2 пока не критичны. Ибо

Требование - глубокое знание JS.

Для быстрого обзора все-же попробуйте видео. А затем уже углубляйте доками.

В любом случае, JS - первоначально. Остальное уже потом или параллельно.

Не осиливаю. Мне проще почитать книгу, мануал или StackOverflow.

Я бы всё же советовал посмотреть видео по VSCode. Оно всего около получаса и профит получите немедленно. Кроме того там объясняется как отлаживать Gulp файлы, и многое другое.

Посмотрю, раз так советуете. Хуже точно не будет :)

Да, чтобы подключить intelligence к приду для Ангулар или NodeJS почитайте https://github.com/typings/typings

Уже.

VeroLom ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.