Pull to refresh

Comments 17

Я могу делать хорошо, быстро, без багов.

Хорошо - это довольно субъективный параметр.

Я понимаю о чем вы пишете. Я - fullstack и тоже не имею глубоких знаний в какой-то конкретной области. Сейчас сосредоточен на backend'e, но в целом могу работать с frontend, может быть без знания каких-то фишек последних лет, но 20-летний опыт помогает заниматься этим без особых проблем. И вот у меня есть коллега - fullstack. Делает хорошо, быстро, без багов.
А разница между нами в том, что я люблю разбираться в деталях и решать задачи с пониманием зачем мы делаем то или иное изменение. Какой процесс мы пытаемся решить или улучшить. И я часто вношу предложения как можно сделать еще лучше. А вот коллега таким не занимается. Делает хорошо, быстро, но только то, что было написано и какие-то очевидные улучшения либо не реализованы, либо потом все-таки доделываем.
Хорошо это или плохо? Для коллеги - хорошо, он не парится. Для меня - ну, я привык, и воспринимаю это как особенность, так что просто стараюсь описать задачу более подробно.

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

В итоге то свой бизнес открыли?)

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

Такое бывает что нет работы, что нет задач?

Бывает, что нет задач.

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

Дженералист вполне вписывается в понятие "T-shape", когда у тебя хорошие знания в одной области и куча средних/базовых в других. Причём нередко такое очень и очень приветствуется в компаниях, поэтому не вижу каких-то проблем и для работе в найме с таким подходом.

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

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

  3. В науке есть такое понятие, как "междисциплинарные исследования". Которые иногда выливаются в новые направления или даже новые научные дисциплины. Любители копать "вглыбь" там не годятся. Это как пример.

  4. Вы пишите " Для меня худшие моменты — когда в компании нет для меня работы и я не могу принести ценность. Это, нмв, указывает на ваши проблемы эволюции личности, неточное и неглубокое понимание себя, любимого. Если вы с высокой общей одаренностью (упор на "общей") - то почему вы не понимаете до сих пор, что вам в принципе все по плечу. Или, более грубо, "да пофиг, где копать". Результат (да, не открытия, но не хуже "4" будет всегда). Чаще, конечно, "3", для "4" нужно целенаправленно работать над собой, набирать опыт, интуицию нарабатывать, достигается такой уровень с годами. Причем развиваться надо, повторюсь, не "вглыбь"! - а именно в умении быстро строить общую картинку, выдвигать плодотворные гипотезы и т.п.

  5. С чего вы решили, что обязаны каждое мгновение приносить компании ценность? Расслабьтесь и получайте от жизни удовольствие. В ней много чего еще интересного, окромя фирмы, отношение которой (которых) к сотруднику зачастую оставляет желать много лучшего. "Делай что должно - и будь, что будет". Нужно профессионально отрабатывать свой долг по контракту - и не "париться" о том, что за этими рамками...

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

Понимаю вас, у меня не так давно была аналогичная статья про ту же проблему с другой стороны: А далее наша планета попробует в IT без генералистов.
Я бы добавил, что без генералистов (дженералистов) компании всегда идут курсом "по привычке". Не обязательно, что "лебедь, рак и щука", может быть "лебедь, лебедь и лебедь", но это еще хуже, если правильный путь - нырять глубоко в воду. Должен быть хоть один лебедеракощук, который скажет, что вот эту проблему надо решать другим путем.

Проблема "молотка/гвоздей" тут проявляется в том, что любой программист (если у него есть дела-заботы в жизни или завал с работой) хочет реализовать любой проект так же как предыдущий. Но не факт, что тот же стек, тот же подход подойдет. И проблема даже не в том, что ему лениво учиться, а в том, что он даже и не знает 1) граничных случаев используемых технологий (где вроде бы удобные технологии начинают создавать большие проблемы) и 2) какие есть альтернативы. Например, тупо клепают веб-приложения Laravel/Livewire/MariaDB.

Например, RDBMS в целом плохо пригодны для Zero Downtime приложений да и масштабируются с болью. Я вот совсем недавно только нашел пол-дня поиграться с MongoDB и вижу, насколько она во многих случаях лучше, проще, быстрее и надежнее - просто за счет того, что она документная, а не реляционная.

Представьте - каждый проект делают некомпетентные люди, один умеет гайки закручивать, другой гвозди забивать, третий привозить палеты со стройматериалами (но только на палетах, у него самогруз, а не длинномер). Если нет дженералиста, который скажет, что "ты обучайся работать с шуруповертом, а ты учись привозить брус 6м", вся команда в целом будет делать не то, что надо, а то, что умеют. И они даже что-то построят... Вот только конкурент с более широкими знаниями построит что-то гораздо более приятное потребителю.

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

Салют, коллега!

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

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

Есть другой класс компаний. Реальный сектор. Торговля, услуги, производство - все это требует участия ИТ технологий. Здесь не надо "в глубь". Здесь надо - "чтоб работало". Это, конечно, не в абсолюте: думать про технологии/архитектуру/алгоритмы нужно. С одним отличием: здесь у всего этого есть очень понятные причины.

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

К чему это абстрактное слово - "дженералист"? Все давно придумано за нас. Человек, использующий знания для создания технических устройств, систем, процессов называется Инженер.

Быть software engineer намного интересней, чем software developer. Как минимум потому, что без слова software тому кто developer больше некуда применять свои знания, а engineer... Инженер - всегда инженер.

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

Перешёл из fullstack в AI inference и теперь копаю вглубь с огромным интересом. А сколько есть research проектов интересных. IMHO не стоит ограничивать себя лёгкой скучной работой. Создание своего продукта - тоже хороший способ повысить градус интересности.

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

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

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

Не дженералист, а журналист из анекдота:

"Эксперт должен как можно глубже знать узкую область, а журналист - как можно больше областей, пусть и поверхностно.

В пределе: Эксперт знает всё ни о чём. Журналист знает ничего обо всём."

Я кстати такой же. Увлекаюсь поверхностно сотней разных дел и на всех зарабатаваю (дизайн, программирование (преподавал СИ++), создание сайтов, SEO, полиграфия, музыка (баян, гитара, ф-но - на всех концертировал ранее), отделочник (кладка плитки, штукатурка, электрик, сантехник), преподаватель СИ, радиоэлектроник по ремонту аппаратуры, репетитор по физике и математике, бухгалтер, шофер-таксист, автомеханик). Что-то наверняка еще упустил.

По моему опыту тут важна некоторая асимметрия, но она часто есть. Вот как раз журналист в самом деле "читал в газетах и про ассемблер и про С++ и про LLM и про машинное зрение и про SQL Injection". Дженералист (язык не поворачивается через Дж... произносить, получается что-то, "о, май дженераль!") - он должен иметь очень хорошие знания в каких-то глубинах из которых можно расти вширь. Как один из критериев - он способен собеседовать специалиста и (отчасти доверяясь ему) хотя бы понимать, о чем тот говорит.

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

Для иллюстрации, что всем близко: умение программировать на паре языков, поэтому, изучая следующий не надо будет тратить время на изучение основных понятий программирования. Хорошее знание, как работает сеть, TCP, UDP, поэтому при изучении, скажем, Quic, само возникнет, какой магией там создается ускорение. Базовые знания о том, что такое симметричное и асимметричное шифрование уже позволяют видеть, где неправильно применять другое. Это все - знания, которые есть у все, это для примера. Но представьте, насколько хуже будут решения если этой широты знаний нет.

Вероятно, для дженералистов лучший путь — это работа на себя или собственный бизнес

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

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

Не понял проблему. Раз нет сейчас задач - значит можно в танки играть))

Sign up to leave a comment.

Articles