Pull to refresh

Comments 67

Недавно (полгода назад) про аналогичное писал: А далее наша планета попробует в IT без генералистов. И меня эта ситуация пугает... Сфера выросла от перфокарт до "этого вашего интернета" за одно поколение и продолжает расти-расширяться. В медицине та же проблема, что один врач не может хорошо знать все темы, но там за сотни лет как-то устоялось разделение ролей, наладилось их взаимодействие. И человек за эти сотни лет не усложнился.

Вот из недавнего вижу проблему, которую на меня скинули (как на главного по любой непонятной фигне и по безопасности) - Content Security Policy. Нужно было натянуть ее на готовое приложение. В целом CSP - подход замечательный, мне нравится, как раз страхует от некомпетентности исполнителя. Однако, хорошо ее натянуть "снаружи" (просто расставив правильные HTTP хидеры и чтобы сразу было все безопасно) - не получится. Значит, именно фронт-енд программист должен исходно писать CSP-friendly приложение. А все древние гайды для чайников учат использовать onlick="...". Конечно, можно просто бить фронтендеров по рукам, чтобы они его не использовали. Будут запуганные. Но по-хорошему - даже фронтендер должен знать про XSS атаки, хотя бы на уровне нескольких простых самодельных эксплойтов - тогда сможет понимать, почему эта сатанинская CSP - это радость и счастье. Мы не можем сделать веб-разработчиков тут, а безопасников там, разделить их, как ЛОРа и кардиолога в разных кабинетах.

Даже если вы наймете 15 генералистов в штат - код будут писать фронтендеры, которые про XSS и SQL Injection в лучшем случае что-то краем уха слышали...

А провести обучение по безопасному коду этих фронтендеров - не судьба? В смысле, жалко бабок?

Эх, если б я был такой же умный, как моя жена потом!

Да можно даже не на курсы какие-то, а самому объяснить, там не слишком-то и сложная тема. Но о том и речь, и даже вы (если другими словами) то о том же и говорите - нужно из фронтендеров делать немного генералистов. Просто разделить обязанности "ты пишешь фронт, а ты занимаешься безопасностью" - невозможно.

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

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

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

чья роль в разных компаниях слишком размыта

Ох, в самое сердце. Одни хотят, чтобы я 40 часов в неделю сидел на созвонах с бизнесом и интеграционными партнёрами. Другие хотят, чтобы я прорабатывал технические аспекты реализации продуктов. Третьи хотят, чтобы я учил и направлял команду. Четвёртые хотят R&D. Ни у кого из них моего ресурса не хватит даже на реализацию всех их идей, не говоря уж о совмещении различных интересов.

А зама взять на помощь? Вот хоть меня.

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

Хозяин барин. Только не опоздайте, мне на днях офер делают.

А как вы с этим боретесь? Как выбираете чем заниматься и что говорите тем, чьи задачи делать не будете?

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

Хотела поставить плюсик вашему комментарию, но карма на сегодня исчерпалась) Так что ставлю его в виде комментария

Значит, эникейщиков не хватает... Шучу, шучу про эникейщиков, не бейте палкой! Но это неизбежно, как и написано в тексте - программирование как индустрия разлослось в десятки раз за последние 30 лет. Если я знал почти наизусть весь Win API для Windows 3.1, то сейчас это десятки тысяч функций - и это только самый нижний, базовый уровень, а сколько над этим надстроено фреймворков, продуктов и прочего? Нельзя объять необъятное - кто сказал? (Прутков?)

Палкой не бьем! У нас тут приличное и цивилизованное сообщество)

Ага, они смекнули что за более простую работу платят больше и не жужжат.

Дженералисты, эх... вот как это называется.

Я вот такой женераль. Начинал на МК61 сейчас ковыряюсь в HPC. Могу вчера код на фортране ковырять, сегодня чета в хугинфейс сабмиттить на питоне. И что вы думаете? Мой карьерный рост прекратился лет 10 назад, когда в конторе мне сказали, что я классный пожарник, что лучше всех умею детектить и фиксить баги и все такое. Но у меня видите ли, нет специализации. Мне нужен огородик, в котором я буду растить свои экспертизы. А за сэкономленное время других людей - грейд не дают, как и прибавку к зп.

Так что не надо вам в эти женерали. :)

Пожарный в таком случае, пожарник это жертва пожара.

Жертва пожара - погорелец. Пожарник - не жертва пожара ни в одном словаре.

Мне попадалось, что пожарник - это как дружинник, только пожарный, но это неточно. Скорее всего, просто неправильное слово.

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

Это из какого словаря? Дайте ссылку.

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

Первая страница из поиска в гугле. 

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

"разговорное: работник пожарной команды"

"Пожарник – прежде пожарный-любитель, член добровольной пожарной комады"

"В словаре Даля пожарник – устраивающий пожарные команды и заправляющий ими"

 он не пожарник, а пожарный

То что пожарник - это не пожарный, это не ответ на вопрос, кто такой пожарник.

Послушайте, всё что я знал, я Вам выдал. Если Вам надо, разбирайтесь и ищите.

Извините. Я ошибочно подумал, что Вы настроены на дискуссию.

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

Доказывать. Зачем?

С целью распространения достоверной информации и замедления распространения неверной.

Я не возражал Вам, что пожарник - это не пожарный. Моё возражение относилось к тому, кто такой пожарник.

Но если Вам лень продолжать дискуссию - я Вас полностью понимаю, и не настаиваю. Мне, честно говоря, тоже лень.

С целью распространения достоверной информации и замедления распространения неверной.

Вы наивны с своих заблуждениях. Хотите пример? Не вопрос. Достоверная ли информация из любой религиозной книги? И любой (подчеркиваю ЛЮБОЙ) Ваш ответ будет неверным :)

А может Вы просто ИИ-чатбот с ограниченным доступом в интернет?

Аналогичная ситуация

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

Это смотря где. Хотя вы правы - понимание того, сколько стоит такая активность есть далеко не всегда. И не у всех. Но встречается.

Может оно и надо, но на нашем рынке таких мест ничтожно мало

Сегодняшние дженералисты — это люди, которые получили базовое IT-образование,

Ага, а между занятиями по профильному IT-образованию приходилось охотится на динозавров, чтобы выполнить норму сдачи мяса в колхоз. Тех кто не выполнял норму, Сталин отправлял в тюрьму где людей лично пытал Иван Грозный.

Нет, дело не в том, что дженералисты знают "всё ит". Эта эпоха кончилась, наверное, в 70-х. Дело в том, что они знают, как оно там работает под слоями абстракций и геологическими формациями библиотек. Потому что еще успели поработать на относительно медленных и проще устроенных системах ближе к железу. А разговаривая с относительно недавними разработчиками - я иногда не понимаю, как они вообще ухитряются выдавать годное. Ибо их базовые знания - либо чистая мифология и зельеварение (известно, что если хочешь полететь на метле - надо взять сушеную жабу, слизь саламандры, глаза жужелицы и варить на медленном огне 6 часов), либо сознательная слепота ("там тьма, ужас и монстры - я об этом даже не буду думать"). Мне это дико (благо я начинал с восьмибитных КР580ВМ80А, цельнотянутых i8080, и далее через все поколения персоналок и кусок промышленных контроллеров) - я бы повесился работать с системой, которая с определенного уровня становится магией, и с которой ты при всем желании ничего не можешь сделать. А молодым ничего, норм...

Впрочем, я сейчас еще одну интересную вещь скажу. Наблюдая за своими детьми, я обнаружил что они вообще к компьютеру относятся совершенно не так как я. Для них ПК - это бытовой прибор наравне с микроволновкой или чайником. Хотим разогреть пиццу - идем к микроволновке. Хотим в интернет или поиграть - включаем компьютер. А для меня, компьютер всегда был потрясающим приключением, которое хочется программировать. Впрочем, когда я поделился этим со своими родителями - они сказали, что история повторяется. Для них в институте - один калькулятор (Б3-18) в группе был подарком судьбы: вместо расчетов столбиком, логарифмической линейки и таблиц Брадиса - просто жмешь кнопки, и получаешь сразу ответ (втч логарифмичекие функции, экспонента, тригонометрические и обратные!). И они (если он попадал в руки) на нем считали, даже если не было особо и нужно! :-) А мы (их дети) уже относились к калькуляторам безо всякого пиетета, и без понимания что оно там внутри делает.

Очень интересный пример про детей) И со смартфонами у них наверняка так же. Разве что какой-нибудь Vision Pro может на них произвести похожее впечатление, как компьютер на детей поколения 90-х. И то не факт)

А вот нынешним разработчикам наверняка диким кажется ваш опыт. Они наверно, слушая рассказы про все это, думают про себя: "Ну, не повезло работать с таким старьем и продираться через дебри. Слава богу, сейчас этим уже не надо заниматься)))"

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

Когда Вы не задумываетесь как у Вас работает микроволновка - Вы иногда остаётесь без ужина.

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

диджитал-продакшена

А можно для седых дженералистов пояснить, что значит этот новояз? Чем занимается компания в сфере "диджитал-продакшен"?

Диджитал: услуги в области веб-разработки, дизайна и интеграций. Продакш - ресурсы (исполнители: разработчики, дизайнеры, QA и др) в штате, свои.

Заказная разработка?

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

Ну да, 45-летнего так не схантишь, если он не совсем на головку хром.

Интересный термин, раньше не встречал как то.

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

Вспоминаю, как просил отдел разработки, специализирующийся на Java, написать простой парсер excel файлов с конвертацией и загрузкой в бд.

Мне выкатили оценку трудоемкости в неделю на Java.

Плюнул, написал парсер на powershell за день, примитивно, но все что надо сделал.

Простите, позанудствую :) мне тут видится ложное противопоставление: наверняка ведь совсем не из-за выбора Java vs Powershell назвали неделю вместо одного дня. Не знаю ваших подробностей, но оценка обычно включает обработку редких и пограничных случаев, тщательное тестирование, правки багов, доставку в среду исполнения, демонстрацию с обработкой обратной связи, "причесывание" кода, документирование, разнообразные риски и т.д. и т.п., поэтому оценка в неделю означает не то, что балбесу-разработчику действительно нужна целая неделя на написание какого-то примитивного скриптика, да еще и на неподходящей технологии, а то, что он уверен, что через неделю решение будет полностью готово - на мой взгляд, это как раз характеризует ответственный инженерный подход в противопоставление "тяп-ляп и в продакшн". Примитивное решение на коленке при этом может получиться всего за несколько часов - правило 80/20, которое, кажется, вполне ложится на ваш пример.

Да, термин не очень известный) И не строгий. Может, есть другое обозначение, мне не встречалось.

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

Простой парсер excel на java - это где-то 10 строк. Три вложенных цикла - по страницам .xls файла, строкам, колонкам. Плюс еще 10 строк - преобразование типов данных, кои бывают разные, в разные же типы базы. Плюс еще строк 10 - само сохранение.

Даже если я ошибаюсь в два раза - это не существенно, я такое реально делал раз десять за свою практику. Реально можно написать за час, не сильно напрягаясь. За день - если вы никогда этого не делали, тоже норм. И если вы на windows, и у вас есть доступ к COM объекту Excel, то на любом из языков с поддержкой COM, то еще чуть проще.

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

Я не заставлял их писать на Java - это был их выбор

На мое предложение написать с помощью скриптового языка мне ответили - мы знаем Java, будем делать на Java ;)

Ну, есть такая штука, как Apache POI, это один из самых старых, и самых продвинутых пакетов поддержки форматов Офиса, помимо собственно COM. Так что выбор (одного из) языков для JVM - он в принципе-то вполне логичный.

А так да, я бы тоже начал писать на груви, а не на Java :) Ну или на скале. Не то чтобы на скриптовом языке в полном смысле этого слова, но на чуть более гибком, чем Java.

Ответ на данный вопрос уже давно есть - высшее образование, а точнее университет.

Проблема в том что современные ИТ компании только-только начали осознавать необходимость профессионально-технического образования. Отсюда различные курсы и школы программирования.

Но похоже назрела проблема высшего образования. 🤣

Ну слушайте, я не хочу обобщать, но учась в ИТМО (как мне известно один из лучших в стране по ИТ), я получил несколько "отлично" по профильным предметам буквально от того, что преподаватели на занятия не ходили. А в магистратуре из-за разброса багажа знаний у студентов, профессоры читали лекции только по самому базовому материалу, и в результате в магистратуре я получил исключительно повторение бакалавриата

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

Второй вариант — смириться и растить современных дженералистов — Т-шейперов.

За T-шейпинг не платят. Можешь сколько угодно развиваться в стороны, но сейчас все ищут специалистов, проверяют глубину специализации, и платят только за это.

Так что T-шейпинг - это неоплачиваемое хобби.

Но в вакансиях через одну желание видеть full stack, т.е. того же самого t shape

В вакансиях, что мне попадались, ищут не full stack сеньора, а того, кто согласится делать работу троих за зарплату одного миддла. Это другое)

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

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

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

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

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

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

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

Если только его знания еще не безнадежно устарели.

Современные дженералисты — Т-шейперы.

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

"Т-шейпер". Горизонтальная черта - признак ограниченности, вертикальная подпорка - неустойчивый костыль. "Шейпер" - ассоциируется с "ограничение", "сужение", "подчеркивание границ".
Т - терминология. Зачем вводить сомнительные термины?

"Дженералист". Созвучно с "карьерист", "авантюрист", "аферист".

А ещё "специалист", "двигателист", "авангардист". На такие названия обижаются только те, у кого не в порядке с головой.

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

генералист, а не дженералист. Вполне общепринятый термин среди генералистов.

Этот "термин" принят разве что среди хайеристов (то есть HR-менеджеров склонных к инфоциганству. Термин я сам придумал. А что, нельзя?)

Генералист - это что-то связанное с интересом к генералам. Например коллекционирование генералов. Или верховая езда на генералах.
А может это медицинский диагноз. Человек страдающий генерализмом. Генерализм - навязчивое желание быть во всем похожим на генерала.

И да, в самом термине ответ - это человек с огромным спектром образования

Даже близко нет в этом термине такого смысла. Значения слова general включают - "обычный", "неточный", "расплывчатый".

Генералист - это что-то связанное с интересом к генералам. 

А также к генерализации и всему генеральному.

и всему генеральному

К "генеральному" чему? К генеральному секретарю или к генеральной уборке?

А также к генерализации

Тогда это "генерализатор". Такое слово тоже начинает встречаться. С разным смыслом.

Засоряют русский язык инфоцыгане.

Что значит "начинает"? И генералисту и генерализатору в русском языке - не меньше полувека. Просто Вы русский язык не знаете.

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

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

Укажите источник информации.

Какая-то немного странная статья из разряда "раньше было лучше", которая смешивает всё подряд в одну кучу - разработчиков широкого профиля и опытных разработчиков.

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

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

Хвалить себя статьёй на Хабре конечно приятно, но нужно замечать свои же рационализации.

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

Вы не поняли идею. 20 лет назад объем профессиональной информации был намного меньше. Этот объем вполне мог быть усвоен за короткое время. По этой причине было много людей которые имели знания о всех аспектах разработки.
Сегодня очень сложно стать обладателем полноценных знаний во всех областях информатики. Объем существующей информации огромен, скорость появления новой информации высока. Люди вынуждены ограничиваться профессиональным ростом лишь в пределах своей специализации. У них снижена мотивация выходить за рамки специализации, потому что груз знаний велик, а выгода неочевидна.

У работника с обширными знаниями есть два преимущества.
1. Он видит работу на своем участке как часть целого проекта, и выполняет ее с учетом требований других участков проекта. Он более ответственный. Руководителю проекта не требуется в мелочах разъяснять такому сотруднику что и как нужно делать, чтобы результатами были довольны на других участках.
2. Он способен быстро дополнять базовые знания в смежных специализациях до профессионального уровня.

Нанять такого работника сложно. Соответственно единственный вариант сделать его из имеющихся узких специалистов. "Таких специалистов сложно схантить. Но их можно вырастить внутри" - так это сформулировано в статье.
Некорректная подача + нелепая терминология = непонимание идеи читателем. Потому что "хантит" хаер-менеджер (обидный вариант "HR-manager"-а.), а "выращивает" руководство компании. То есть кадровик говорит руководству - "Я не могу найти сотрудника с нужными вам качествами, поэтому выкручивайтесь сами. Я найду вам узкого специалиста, а вы мотивируете его к расширению знаний."

Он более ответственный

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

Люди вынуждены ограничиваться профессиональным ростом лишь в пределах своей специализации

Нанять такого работника сложно.

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

Sign up to leave a comment.

Articles