LINUX.ORG.RU

Про карьерный рост JS-фронта (и похожего) погромиста

 , , , ,


0

4

По мотивам поста, как subwoofer решил из джава-сеньёров стать начинающим помощником JS-джуна

Когда ты юзаешь джаву или кресты, у тебя всегда есть куда расти. Ты можешь попробовать написать более эффективный алгоритм, и на это скорей всего выделят ресурсов. Можно кусок джавы переписать на С++, а кусок C++ - на ассемблере. Или наоборот джаву переписать в скалу в функциональном виде. Можно переосмыслить работу стандартных коллекций и выжать еще 5% производительности из ArrayList. Можно попробовать распараллелить последовательное, векторизовать невекторизованное, переложить что-то на GPU, итп. В конце концов, если очень ленивый, можно экспертно выучить какой-нибудль фреймворк типа Hibernate, чтобы мочь решить сложные моменты когда он тормозит.

Last but not least - с каждым дополнительным скиллом растёт твоя зарплата (если ты вовремя меняешь место работы на такое, где твои тайные знания могут потушить пожар или починить эпический факап).

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

Что касается серверной стороны, то почти никакой пограмист например на Ruby понятия не имеет как устроены внутри стандартные коллекции, а чтобы полезть внутрь и что-то затюнить и починить - погуглил сейчас в гугле, вакансий не ищется. Многопоточности нигде нету - в JS по дизайну языка, Руби и Пайтон это либо GIL, либо убогий однопоточный шедулинг. С сетью на нижнем уровне не поработаешь - как правило ты гвоздями прибит к уже оформленному хттп риквесту. Вообще ни с каким железом не поработаешь..

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

И как повышать зарплату, если от тебя постоянно хотят решения типовых задач типовыми способами?

★★☆☆☆

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

1. хрен там

2. не находил

ps. щас я охреневаю от говна которое накоммитили в проект под видом «мне так удобнее читать», и думаю что делать дальше.

subwoofer ★★★★★ ()

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

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

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

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

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

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

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

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

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

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

Больше будут платить тому у кого больше опыт переключения между фреймворками

Хорошая годная реальность, какие таблетки надо пить для попадания в нее?

subwoofer ★★★★★ ()

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

ritsufag ★★★★★ ()

95% в ИТ — тупые обезьяны, для которых наша профессия слишком тяжела и неподходит ну вообще никак. Ниасиляторы, борщики итп, короче.

JS — технология для тупых никчемных нулей, ее писали такие люди, она сама такая и она для таких вот и есть.

Эти 2 феномена сходятся в 1. Поперчить никчемными пердолястами-менеджерами и получим готовый борщик с клецками из говна, на котором стоит наш мир. Добро пожаловать.

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

две заметки на полях:

1) мне почему-то кажется, что само понятие «фреймворк» это и есть синоним закоснелости. Фреймворком обычно называют самую сложно модифицруемую, самую малопонятную, тёмную и дремучую часть кода :)

2) если придерживаться концепции фреймворков, реально строить на них код - не приведет ли смена фреймворка к необходимости переписывания всего этого кода?

напоминает древнюю байку про алгоритм маляря Шлемиеля:

Маляр Шлемиэль подрядился красить пунктирные осевые линии на дорогах. В первый день он получил банку краски, поставил её на дорогу, и к концу дня покрасил 300 метров осевой линии. «Отлично!» сказал прораб, «быстро работаешь!» — и заплатил ему копейку.

На следующий день Шлемиэль покрасил 150 метров. «Мда, это, конечно, не так здорово, как вчера, но приемлемо.» — сказал прораб и заплатил ему копейку.

На следующий день Шлемиэль покрасил 30 метров. «Всего лишь 30!» заорал прораб. «Это никуда не годится! В первый день было в десять раз больше! В чём дело?»

«Ничего не могу поделать,» — говорит Шлемиэль. «Каждый день я ухожу всё дальше и дальше от банки!»

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

Когда ты делаешь какую-нибудь CRM или базу знаний типа jira/confluence, так что количество классов пошло на сотни тысяч, а юнит-тесты не успевают выполниться за сутки - и вся эта пирамида держится на шатком предположении, что у всех один фреймворк, и он работает идеально корректным и единственно возможным способом - менять фреймворки с переписыванием всей этой кодовой базы как-то уже поздновато, не находишь?

stevejobs ★★☆☆☆ ()
Последнее исправление: stevejobs (всего исправлений: 1)

Жабоскрипт это не программирование, это смуззи и подвёрнутые джинсы.

StReLoK ★☆ ()

О, трезвый Джобс пишет вещи, похожие на адекватные.

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

Когда ты юзаешь джаву или кресты, у тебя всегда есть куда расти.

Бред/

Ты можешь попробовать написать более эффективный алгоритм

И кому он нужен. Кто будет платить за твои упражнения.

. Можно кусок джавы переписать на С++, а кусок C++ - на ассемблере.

Можно. И кто за это заплатит.

Можно переосмыслить работу стандартных коллекций и выжать еще 5% производительности из ArrayList

И кто за это заплатит.

И как повышать зарплату, если от тебя постоянно хотят решения типовых задач типовыми способами?

Становиться тем, кто повышает зарплату.

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

Фреймворком обычно называют самую сложно модифицруемую, самую малопонятную, тёмную и дремучую часть кода

Это для пользователя фреймворка. А для писателя - всё немного иначе.

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

если придерживаться концепции фреймворков, реально строить на них код - не приведет ли смена фреймворка к необходимости переписывания всего этого кода?

Приведет. Только отсутствие фреймворка не означает что код не надо переписывать.

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

Когда ты делаешь какую-нибудь CRM или базу знаний типа jira/confluence, так что количество классов пошло на сотни тысяч, а юнит-тесты не успевают выполниться за сутки

Тут недавно слушала доклад по continuous delivery by David Farley, так вот он на все вопросы по типу «а что делать когда CI/CD схема разработки не подходит моему проекту?» отвечал в духе «а не надо такое разрабатывать».

Так и тут. Если ты создал монстра, то может быть не во фреймворках дело? :)

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

«а что делать когда CI/CD схема разработки не подходит моему проекту?» отвечал в духе «а не надо такое разрабатывать».

Напомнило маразм: надо писать все методы публичными чтобы их можно было тестировать.

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

Это не меня надо спрашивать.

Я тут четыре года ломаю голову над тем как люди архитекторами становятся. Почитала книжечек, понабралась опыта, в итоге пришла к выводу что всё равно главное - природная наглость. Тренируюсь вот.

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

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

subwoofer ★★★★★ ()

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

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

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

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

В чем тогда духовное совершенствование? Что нужно молиться, поститься и задрачивать,

Может остановиться, встать с колен, оглядеться. А то на коленях, с подбородком прижатым к полу видно только жопу, что впереди.

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

Про таких говорят «ничего святого». У Макаревича песня про таких есть. Что-то про крыс...

unt1tled ★★★★ ()

И как повышать зарплату, если от тебя постоянно хотят решения типовых задач типовыми способами?

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

И как повышать зарплату, если от тебя постоянно хотят решения типовых задач типовыми способами?

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

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

возможности для увеличения количества прогеров работающих над одним проектом с приемлемыми затратами на координацию их работы

Каким образом эту задачу решает язык программирования?

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

Объяснить на пальцах? Лень. Но достаточно посмотреть на чем написано крупное ПО, над которым работали сотни прогеров разом. Найди 5 реально крупных софтин не на яве и не плюсах.

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

Но достаточно посмотреть на чем написано крупное ПО, над которым работали сотни прогеров разом

Ядро? OpenStack? Дистрибутив Линукса?

Какое отношение язык программирования имеет к координации крупной разработки?

alpha ★★★★★ ()

И как повышать зарплату

Работать js-погрммистом, трахать дочку олигарха.

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

высшее образование для прогеров - оверхед.

Кодеров! КОДЕРОВ - когда уже путать перестанете.

ioway ()

Раз в полгода все фреймворки устаревают, и их сменяет нечто другое до неузнаваемости
В чем тогда духовное совершенствование?

ты сам ответил на свой вопрос: в написании очередного фрейморка же.

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

Найди 5 реально крупных софтин не на яве и не плюсах.

Одну могу вспомнить — это Total Commander. Правда, плагины там скорее всего на любом языке можно писать.

Или ты про работу с базами данных (Java) + числодробилки?

На Фортране куча программ написана ядерщиками.

Павел Дуров свой ВК написал на базе kPHP.

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

Всем вместе?

Не, там только два последовательных порта, без календарного планировщика никак.

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

трахать дочку олигарха.

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

lenin386 ★★ ()

Ещё одна смена пола.

решил из джава-сеньёров стать начинающим помощником JS-джуна

scala + scala.js. Учитывая знание жабы, нужно ровно пол-шага.

В чем тогда духовное совершенствование?

В бесконечном познании сути, выраженной вот этим баянистым куском js-кода:

> ["10", "10", "10", "10"].map(parseInt)
[10, NaN, 2, 3]
С каждым прочтением его, ты будешь открывать для себя что-то новое.
Разрабатывая любой код на голом js (или его недо-диалектах), ты будешь постепенно видеть перед собой именно этот кусок.
Однажды, все социальные процессы в мире, вроде бы подчиненные каким-то законам хаоса или случайности, ты сможешь познавать, просто вспоминая этот кусок кода.

shahid ★★★★★ ()

Очередной не писал но осуждаю? По поводу зарплату - она растёт, если ты растёшь в иерархии или меняешь ерархию. Чем выше в пищевой цепочке, тем выше зп. Был погромистом js в комманде, стал ведущим погромистом, стал потом либо менеджером либо архитектором в конторе и тд. Тут всё как у других погромистов или других профессий. Да, иногода бывает что ты бешено оплачиваемый спец, но ни менеджер ни главный архитектор, но как правило в таких случаях ты всё таки архитектор, пусть и по сделке работаешь.

Что других тезисов, вроде устаревания и невозможности развиваться - это неправда, точнее первое не совсем правда. Да, стеки меняются но всё таки не очень быстро, веб в целом уже не шибко быстро меняется. Смена, как и во многих других отраслях, в основном стилевая. Ну вот стали многие использовать angular с reactoм и что, вот точки зрения давнишнего погромиста что изменилось? Шаблоны перестали быть шаблонами? Модель событий стала иначе работать, яваскрипт яваскриптом перестал быть или $http чем-то отличается от xhr? Кроме стиля, где разница? Как раз здесь программист со стажем легко разберётся, особенно если не будет вникать в гениальность новых терминов и пытаться их понять, а сразу будет смотреть примеры кода и готовые приложения. Так что тут да, меняться то меняется, но не особо.

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

ixrws ★★ ()

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

ixrws ★★ ()

Ниже x86_64 кода ты всё равно не опустишься. Считай браузер этим самым фундаментом. При этом у одних людей снежинки в браузере тормозят, у других AES-шифрование летает. Во фронтэнде много аспектов. Банально — как работает GC в хроме и как писать код, который будет давать стабильные 60 FPS. Какие конструкции JS компилируются в быстрый машкод, а какие нет. Какая CSS-анимация на айфоне залезет в GPU и будет плавной, а какая нет (и когда в этом есть смысл).

Фреймворки это банальщина. Чего там их изучать-то. Какой-нибудь реакт за день легко с нуля можно изучить.

Ну и уметь писать хороший код это сложно на любом языке.

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

Нужно иметь соответствующее происхождение вообще-то, на вскидку назовёшь хотя бы одного олигарха русского или татарина, а не очередного медведева, абамовича, синицина, курицина и прочие птичьи, собачьи или семитские фамилии?

Нужно как минимум уже быть одним из их прислуги, родственников, родственников друзей и тд.

ixrws ★★ ()

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

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

Ядро?

Ага, тьма прогеров за 1 год накатали.

OpenStack

не смотрел.

Дистрибутив Линукса

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

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

крупное ПО, над которым работали сотни прогеров разом

тьма прогеров за 1 год накатали.

1 год откуда взялся?

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

Зачем?

Может по существу что скажешь? Какие именно особенности языка ты имеешь в виду?

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

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

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

Это был тест на чисто случайные ошибки в коде, которые js прекрасно пережевывает. Тут конечно сразу начинается тесты-моча-двеполоски-etc, чтобы отловить человеческую ошибку, но речь была не о том.

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

Думаешь, олигарх даст за это денег

Не но наследство то с собой не заберешь. «Да, человек смертен, но это было бы ещё полбеды. Плохо то, что он иногда внезапно смертен, вот в чём фокус!» (с) Булгаков

ЗЫ: В юмор ты не умеешь.

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

scala + scala.js

Сколько весит хеловорд на scala.js? И какие инструменты для дебага scala.js? HTML5 API из коробки или нужно на MDN бегать?

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

на вскидку назовёшь хотя бы одного олигарха русского или татарина

Нет, но знаю уже двух линуксоидов с чувством юмора как у хлебушка.

ioway ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)