ACHTUNG: много букв и графомании, любителям лаконичных вопросов срочно аннигилировать вкладку!
Добрый день, ребяты! Сразу уточню - никого не принуждаю за меня принимать важное решение и не пытаюсь как-то наивно переносить с себя ответственность в таком вопросе на случайных людей в интернетах. Просто любопытно почитать мнение бывалых, т.к. практически не имею знакомых, с которыми можно было бы обжевать эту ситуацию.
В общем, фронтенд, ищу первую работу, сегодня был на очередном собеседовании. По интервью и тестовому в целом всё тип-топ, поэтому существует вероятность, что пригласят. По большому счету всё понравилось (рабочее пространство, люди, условия), но есть один гнетущий нюанс - в силу различных причин внутренний инструмент компании, который придется активно использовать в работе, был давным давно написан на ES5, что исключает возможность использовать ES6+ вообще. И длиться такая вынужденная работа с ES5 может неопределенно долго.
Казалось бы, невелика потеря, поскольку от синтаксического волшебства, удобных методов (и прочих приятностей) джаваскрипт не превратился в другой язык, но, как мне видится, регулярная практика на новых стандартах закрепляет в подкорке все современные приёмы и подходы к написанию кода, что безумно важно для начинающего разработчика на первых порах. Особенно, если брать в расчет, насколько стремительно сейчас развивается JS.
Отсюда вопрос - что скажете? Прав ли я в том, что эта проблема может стать серьёзным тупиком в развитии? Имел ли кто нибудь такой опыт продолжительного использования старья на работе? Стоит ли того такой старт?
Если умудрились дочитать до конца - дарю вам свою любовь и буду рассказывать о вас своим детям.
Да вообще наплевать на чем там программируешь на первом месте работы. Главное - учишься процессу промышленного программирования, поиска информации, взаимодействию с коллективом и решению задач. У меня вон знакомый веб версию какой-то тендерной площадки на ES3 пилил и ничего.
Я ожидал такой ответ, но решил не уточнять в вопросе, что по определенным причинам использование транспайлера в данном случае невозможно. Просто примите это как факт, представленный работодателем.
На самом деле es5 не так плох для старта. Я в своё время тоже на нем начинал. Тогда только es6 вышел и еще небыло поддержки браузерами. Es6 добавил синтакс. сахар, helper методы которые и самому можно написать. Есть конечно же Promise, но это те же колбеки, можно даже самому реализовать но и есть полифилы. Когда пишешь на более низкой версии, то с переходом на новую понимаешь проблемы старой версии, понимаешь как скорей всего это реализовано под капотом и понимаешь как сделать это самому. Если это первая работа и больше никуда не берут и тебя все устраивает кроме этого, то советую попровать. Сейчас, например, есть молодые колеги которые Object.entries сполифилить не могут или банальный xmlhttprequest без stackoverflow написать. На реальной работе на еденицу времени научишся чего-то быстрей чем дома смотря ютуб г-курсы.
Ihor Bratukh, спасибо за ответ! Я ценность старого стандарта не принижаю, т.к. сам, как и многие, учился на ES5 и понимаю, почему это знание полезно при работе с ES6+. Насчет не берут - в том то и дело, что существует возможность поискать еще места. Просто эта вакансия пока что выделилась для меня на фоне остальных, поэтому и ломаюсь как ребенок.)
Я бы вообще приготовился к тому, что на новом месте работы (любом) не придется заниматься тем, что нравится, а придется заниматься тем, что скучно, неинтересно, и возможно совсем не по стэку. Примерно, как то так:
В первой работе есть много нюансов - это умение коммуницировать с другими спецами (бекендерами, дизайнерами, другими фронтами), уметь укладываться в дедлайны, уметь отстаивать свою точку зрения перед менеджером, умение понять тот же легаси (что вероятно и будет присутствовать в работе). Это нормальная возможность влиться в процесс и Вы сможете на другой работе не тратить на это силы, а сосредоточиться в прокачивании хард скиллов
Во первых не понимаю что значит "исключает возможность использовать ES6+ вообще", никто не отменял babel и полифилы, независимо от того на чем был написан проект, другой вопрос что это тоже придется настроить в проекте самостоятельно.
Во вторых любая первая работа даёт много опыта, НО отсутствие опыта с ES6+ сильно ограничивает возможности получить нормальную работу в будущем, например в нашей компании мы уделяем большое значение опыту работы с ES6 при собеседовании.
Ну и в третьих опыт работы только с ES5 в 2019 году может дать тебе скорее "анти" опыт и кучу примеров как в 2019 писать код не надо, так что польза от такого опыта сомнительна впринципе.
Однозначно стоит. На подкорке отложиться, как джаваскрипт на самом деле работает. Прототипы, работа с данными и все в этом духе. Это будет актуально всегда.
А новые фичи разучиваются быстро, от одного вечера до пары недель.
Вы придаете слишком большое значение языку программирования.
Вам еще предстоит как следует разобраться с совсем иными вещами: паттерны, концепции, алгоритмы, парадигмы, принципы, алгоритмы - и как это все применять.
Язык - вторичен. Он учится просто.
Сложно учатся - алгоритмы, парадигмы, принципы, концепции, паттерны.
Но! Эти вещи из языка в язык - переходящие.
P.S.:
Как пример - вы даже еще не понимаете, что ES6 в чистом виде мало где применим.
Что до сих пор еще нужны транспиляции:
Когда вы пишете на ES6, прогоняете через транспилятор - и получаете ES5, который и выкладывается в проект.
Думаю для карьеры чем раньше вы получите опыт в хайповых React, Angular, Vue фреймворках, тем проще вам будет подать себя на следующем собеседовании, идти в компанию поддерживать внутренний легаси инструмент стоит если компания или продукт достаточно известны.
Думаю для карьеры чем раньше вы получите опыт в хайповых React, Angular, Vue фреймворках, тем проще вам будет подать себя на следующем собеседовании
Да, но тем хуже вы будете понимать суть тех вещей, с которыми работаете.
Первый год-два - вполне разумно безо всякий хайповых фреймворков внимать.
А вот уже потом....