Бывают ли в природе НОРМАЛЬНЫЕ работы, где нужны именно те программисты, которые знают ВСЕ, но по чуть-чуть?
Такой программист что-то знает плохо, а что-то получше, даже на уровне крепкого джуна. В принципе может любую задачу решить. Да и по какому-то из направлений уже работал, то есть это не человек, который вообще не в теме.
Но при этом в 70% задач на любом языке его код "пахнет" (хотя и работает нормально!), а в 5-10% задач получается нечто, что на его взгляд кажется нормальным, но вот концептуально - скажем, просто не справляется с нагрузкой. Начинается нудное допиливание, оптимизация... результат получается, но не сразу.
С одной стороны все это звучит бредово. Дилетант!
С другой стороны подобную историю мы видим в разных проектах, где наверняка работают узкие специалисты, но тем не менее тоже есть куча всяких проблем, то что-то лежит, то что-то выкатили, а потом откатили.
То есть вроде бы рынок такое качество-то хавает, хотя и ограниченно.
С третьей стороны... вряд ли от этих "лежаний" и прочего страдают только юзеры, скорее всего и самим виновникам немало достается от руководства за такое. Могут быть и финансовые издержки. Именно поэтому такую работу я не называю НОРМАЛЬНОЙ.
А вот есть ли та работа для таких программистов, где они могут реализовать свой потенциал именно во всеохватности?
И есть ли такое в РФ\СНГ или только за рубежом?
В плане развития есть три ступени:
I-shape, T-shape, M-shape
I - знает более-менее хорошо одну технологию, и почти не знает другие
T - Отличное знает основную, и на базовом уровне ряд других
M - Отличное знает несколько технологий, и на начальном-среднем ещё кучку.
А то что вы предлагаете - это какой-то _ - shape.
Такой разработчик на самом деле никакой пользы не даст, особенно в перспективе
Василий Банников, то что я предлагаю - это скорее все же нечто среднее между I и T, но при этом умноженное на кучу технологий.
Проблема озвученная - это скорее то, что он лезет в те задачи, где нужно твердое T и выше.
Например где high-load (как и озвучено в вопросе), там технологии-то те же самые, но I уже не годится, согласись.
И I это не идеальное качество кода, а не идеальное - это и есть "пахнет".
morsian1996, то, что ты предлагаешь, это программист, который хуже I в основных и второстепенных задачах, и хуже T в третьестепенных задачах. И зачем ты такой нужен?
Почему ты не подойдёшь даже для второстепенных задач? Потому что как, почему и на чём будет работать софт определяется ДО его реализации в коде, соответственно набираются специалисты по нужным направлениям и второстепенные задачи будут тесно связаны с первостепенными.
В итоге ты ожидаешь, что кто-то всерьёз будет брать человека на решение только третьестепенных задач?
В итоге ты ожидаешь, что кто-то всерьёз будет брать человека на решение только третьестепенных задач?
Вот от этого прям воняет нищетой и жадностью капиталистов. Может, ты что-то другое хотел сказать. Но именно в таком виде это нищета, жадность и экономия на всем. А в нормальных компаниях - да, берут и на третьестепенные задачи отдельного человека. И не одного. В качественной работе не бывает мелочей, а если это не мелочь, то это важно, а раз важно, то нужен и человек.
А на всем экономя, ты сам уподобляешься тому, как какой-то мудак делает сервисы, не держащие нагрузку. Твой ущербный "сервис" (точнее, команда, где людей самый минимум) тоже нагрузку когда-нибудь не выдержит.
morsian1996, эээээ... Ты точно прочёл то, что я написал? Третьестепенные задачи ─ это задачи, которые на продукт влияют максимально минимально. Так зачем на это нанимать отдельного человека, когда это сделает команда, только чуть позже. А с учётом того, что такие задачи будут зависеть от основных, то "третьестепенный" разработчик будет постоянно сидеть и в носу ковыряться, ожидая пока полноценные разработчики закончат таск.
Единственные компании, которые заинтересованы в найме профанов широкого профиля - это занюханные web-студии и дешёвые галеры с жадным и тупым начальством разлива 90-х годов. Реализоваться в таких компаниях в принципе невозможно, там будут непрерывно нарушать трудовые права сотрудников, выжимая из них все соки, требуя писать как можно быстрее как можно больше говнокода, а в случае проблем этих же сотрудников делают крайними и заменяют другими такими же дурачками.
хз на большинстве работ в небольших и средних компаниях очень много смежных вещей всегда , да и в больших часто бывает тоже.
у нас например работа основная на руби
+ все пишут фронтенд и дизайн сайта так как он функциональный
+ все пишут сложные жс скрипты так как реклама
+ все пишут на го , так как есть нода на го
Во всеохватности - сомнительно и совсем сомнительно. Это привелегия архитекторов в основном) а до туда ещё дорасти надо. Производственные же профессии требуют достаточно узкой специализации и полного набора инструментария. Что до нормальности работы то то что описано это работа организации с нормальными процессами. В IT это, строго говоря, только некоторые аутсорсеры ибо для них человек это ресурс и его надо реализовывать эффективно
В принципе может любую задачу решить. Да и по какому-то из направлений уже работал, то есть это не человек, который вообще не в теме.
Но при этом в 70% задач на любом языке его код "пахнет" (хотя и работает нормально!), а в 5-10% задач получается нечто, что на его взгляд кажется нормальным, но вот концептуально - скажем, просто не справляется с нагрузкой. Начинается нудное допиливание, оптимизация... результат получается, но не сразу.
Вы описали сейчас около 80-90% программистов, причём вне зависимости от страны. Так что да, за это платят и такие люди нужны :)
morsian1996, я не привык разделять эти группы навыков. Soft skills правильно и будет переводиться как "социальные навыки". Хотя в русской версии вики и как-то странно перевели, уже и не помню как.
Стоит вообще разделять все, что связано с увеличением дохода на текущей работе, должности, и развитие для получения лучшей должности, работы.
Вот есть навыки искать работу и подстраиваться под рынок, под каких-то воображаемых новых работодателей, а есть навыки вызывать любовь и обожание твоих текущих коллег.
Почему я так коряво выразился "любовь и обожание", нет чтобы вызвать уважение, авторитет, и соответственно получить карьерный рост?
Ну потому что это далеко не везде работает))
Кому-то просто выгодно держать джуна вечным джуном и практически не повышать, чтобы был раб, который делает всю исполнительскую работу. И такие руководители при любых его попытках расти будут выискивывать какие-то недостатки. И будут их находить: новую технологию он освоил плохо, микросервис не держит нагрузку, раз в полгода он допускает серьезный баг, а в коде не хватает архитектуры, немного нарушен DRY и вызвана deprecated функция... Хотя на самом деле сами же мешают его развитию: когда на тебя навалили кучу работы, то ты не можешь все сделать идеально...
А попробуй он появись на планерке без выполненной работы, "я немного позже закончу, потому что хочу сделать как следует" - как думаешь что ему скажут? В худшем случае ему скажут "уволен", чувак. В особо запущенных случаях могут и несколько раз за год "увольнять" - да, бывает и такое.
morsian1996, такое ещё на собеседованиях практикуют тоже. Замечал что иногда бывают случаи когда до чего-то докапываются до чего никому нет дела, а потом предлагают поработать первое время тысяч на 60 меньше, а дальше типа наверстаешь и поднимется. Но верится с трудом в такое
morsian1996, ну это уже сами решайте как вам навыки классифицировать. Я склонен придерживаться официальной классификации отсюда: https://en.wikipedia.org/wiki/Soft_skills. Там как раз и перечислены все социальные навыки, включая работу над карьерой.