Pull to refresh

Comments 109

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

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

Новые спецы гарантировано не выгорают и не убегают и не болеют, особенно те, кто обучились и поднялись в квалификации, а контора платит по старому. Я же не обобщал, а написал почему чаще всего так. Зп не фея в клювике приносит, и чем меньше контора, тем меньше желание рисковать. Если официально брать - это месяц зп + время наставников + потенциально больше ошибок (вероятность выше). А так, HH в помощь - джунов не расхватывают, а их количество, тем не менее, растет.

Кризис перепроизводства джунов. Цена на ssd джунов снижается!

Да автор сам пишет с ошибками, тоже нашелся умник- позорище только!

UFO just landed and posted this here

Ну на, пафтыкай :)

MyCode :)
Ал рих - цапурих!
Ал рих - цапурих!

UFO just landed and posted this here
  1. Это приложение - в значительной мере результат реверс-инжиниринга существующей системы. Анализ запросов в БД показал наличие этой проверки. В имеющимся у меня срезе БД такой вариант не встречается, поэтому у меня нет понятия что означает эта константа. Возможно, это наследие древнего проклятья легаси и сейчас уже неактуально. В любом случае, в TODOшку у меня записано спросить при случае опытных товарищей, возможно, этот кусок приобретёт понятный смысл.

  2. Это наше ООП рекомендует на всякий чих заводить класс, но меня ломало делать это ради трёх стрингов. Но в итоге я лишился понятных именований. Впрочем, сейчас у меня иерархия классов/интерфейсов уже стабилизировалась, так что этот кусочек уже можно отрефакторить.

  3. Она внедряется в конструкторе класса (на фото он не попал). Это переменная класса. Репозиториями у нас (в Java и Spring) принято называть классы, абстрагирующие доступ в БД. Здесь всё предельно стандартно и у тех кто будет читать код не возникнет никаких сложностей, в отл. от п 4 :)

  4. Не понял о каком именно законе речь. Здесь я разбираю сложный объект и на основании его полей формирую коллекцию других объектов, которая потом улетит на фронт для отображения. Читать это сложно, надо постоянно подглядывать в сами объекты. Но если этот алгоритм расписать в виде традиционных циклов - получится ещё хуже. Steam API в Java за счёт широкого использования лямбд позволяет сделать код более прозрачным, избавиться от визуального мусора (переменные цикла, break, continue...), а главное - легче выстраивать обработку коллекции, меняя порядок команд, внося проверки, фильтры и вот это всё.

  5. Я не целил в какую-то конкретную ЦА. Вообще, статья родилась "на потоке" и в ответ на другую статью. Так что это просто пост на Хабр, не больше и не меньше :) Что касается навыков общения, то мне по работе приходилось общаться с самыми разными людьми: от губернаторов и зам-министров до мужиков в фуфайках, которые работают работу с помощью УАЗика, лома и такой-то матери. Исходя их того что нигде не побили, я делаю вывод что с навыками всё в порядке. А так как и интернетах я относительно давно, я застал то время когда общения на форумах было достаточно простецким. И если в жизни мне приходится начинать общение с незнакомыми людьми с обращения на "Вы", то онлайн мне для этого наоборот требуется какая-то причина. Да, Хабр для меня слишком чопорный, но что поделать - другого-то нет :)

UFO just landed and posted this here

я извиняюсь - вы не тролль и этот код выложили серьёзно? а зачем все эти проверки в стримах на результаты выполнения запроса? почему нельзя все эти условия загнать в запрос и тогда они применятся на уровне базы. Зачем этот странный new ArrayList на стриме? Там же есть стандартный метод получения из него листа. Ну и вообще - очень-очень много вопросов. В общем - лично я бы такой код завернул.

а зачем все эти проверки в стримах на результаты выполнения запроса?

Это про .filter()?

почему нельзя все эти условия загнать в запрос

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

странный new ArrayList

Мдээээ... Это наверно я так коряво совместил две команды в одну :) Без него хорошо, там же в конце уже есть .toList() Надо потестировать что получилось. А ведь никто не заметил, вот что значит свежий взгляд! :)

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

Я не утверждал что код идеален. Да и где он, хороший джуновый код? Заворачивать - это хорошо, главное - с конкретными претензиями ;)

а зачем там куча переменных вообще? можно же всё это сделать в рамках одного стрима. даже сортировку

Ну, не куча, а две всего. Достоинство Stream API в том что он позволяет писать в декларативном стиле, устраняя визуальный мусор в виде кучи циклов с неизбежными break и continue. Но тут тоже надо не переборщить, иначе эта прелесть превратится в нечитаемую кашу. А здесь у меня два чётких действия:

  1. Получаем список аудитов.

  2. Обрабатываем их.

Хотя и этому коду стоит добавить комментариев чтобы через пару месяцев можно было вспомнить что я тут понаписал :)

Сортировку вынес отдельно т.к. над ней ещё предстоит поработать. Возможно, придётся сделать несколько способов сортировки. А там решу внести её в команду или оставлю отдельно.

я знаю достоинства стримов. Вопрос - сколько данных возвращает запрос в строке 32 ? сколько из них отфильтровывается в строке 34? и сколько раз происходит обращение к базе в строке 35 ?

сколько данных возвращает запрос в строке 32?

Несколько штук, скажем, в пределах 20.

сколько из них отфильтровывается в строке 34?

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

сколько раз происходит обращение к базе в строке 35 ?

Вызов на каждый audit. Да, я могу написать запрос, который будет это проверять (через цепочку join), но запрос в 32 строке я использую в разных местах с разной последующей обработкой. Был один универсальный, станет несколько, свой на каждый случай. Как лучше (скорость против размера кода) будем смотреть по мере разсития приложения.

понятно. В общем - судя по ответам можно посоветовать не париться с таким сложным запросом. а использовать везде findAll c последующей обработкой. самый универсальный запрос. раз уж над вопросами быстродействия задумываться не принято. Так то есть у меня смутное подозрение. что то, что это аудит предполагает большое количество данных на проде. А на большом количестве данных ЭТО умрёт моментально.. не, ну если их там скажем 20 штук и больше не будет, тогда конечно можно не парится

Я понимаю что в этом совете есть доля сарказма, но всё же отвечу. В моей тренировочной базе почти 300 тыс аудитов, в реальной базе их гораздо больше. Поэтому нет, findAll мне не подойдёт. Но отбор по критериям (строка 32) действительно возвращает их немного. То же самое будет и на проде, просто исходя из предметной области.

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

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

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

Просто раньше мы программировать не умели и поэтому мучались с
Экселем. Зато теперь мы худо-бедно знаем Эксель, а многие программисты -
нет.

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

"курсы плодят дебилов":

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

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

Есть разница между "доучиваться"/"повышать квалификацию" и "выучиться на программиста за 6 месяцев" тратя по 10 часов в неделю с нуля. Возможно вы лично не сталкивались с таким явлением, но в ряде сфер для получения работы просят пройти курсы переподготовки, после прохождения которых могут принять на работу, но обычно это просто формальная бумажка, которая дает тебе право на работу. Вот многие кто проходят курсы думают, что закончат их, покажут "горящие глаза" и их возьмут на работу, но реальность такова, что это не работает.

Приведу пример хорошего джуна из личного опыта. Девушка, которая пришла в data science из анализа полетной информации. Не умеет в терминал, есть много проблем со скриптингом/кодингом на python, не знает про контейнеры, в принципе слабо знакома с айтишной частью современного датасатанизма. По-настоящему блестящий математик, коммуникабельна, рационально мыслит, знает и использует ML. Ей можно дать любую расчетную задачу, а объяснить ей работу с API (и что вообще такое api, рассказать про rest, аутентификацию/авторизацию итд) меня не напрягает. Я знаю, что она поймет объяснение.
Хотел сначала привести пример «плохого джуна», но, как правило, я просто не брался учить таких. Наблюдал в соседних командах «вечных джунов», но эта грустная история скорее про хроническое отсутствие мотивации к самообучению и банальную лень. Алсо, немедленно вспоминаются низкооплачиваемые коллеги из Индии, айтишные способности которых заканчиваются на умении четко следовать написанной инструкции по пунктам. Попытки обучить их скриптингу (ну хотя бы на баше ) провалились. " — Тебе все понятно? — Да.", и потом экскременты вместо кода на ревью.

так что такое api? и зачем про него рассказывать и почему обязательно в связкн с rest?

у меня была стажер из ракетчиков (управление полетами КА)

вообще огонь девушка, пришла на 4м курсе универа на работу, освоила за 5 лет работы три языка программирования (С, Руби и Питон), потом уехала стартапить с мужем по европам-америкам.

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

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

толковые джуны встречаются нередко. Но реже чем бестолковые, это правда :)

Воображаемый диспут с каким-то мифическим айтишником из 90х. Ну с тем, который лохматый, бородатый, в прокуренном сером свитере, сидит в темной каморке, ест исключительно бич-пакеты и пишет что-то на плюсах через vim. Поздравляю, воображаемый противник повержен. Теперь самое время вернуться в реальность.

Кхе кхе кхе...

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

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

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

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

А теперь, когда всё готово, и зарплаты подросли, че бы не стать "коллегами", да? Дайте только инструкцию, желательно покороче в виде интерактивного курса! 

Как ещё должны реагировать специалисты на сложившуюся ситуацию? 

Знаете в чём ваша ошибка? Ну конечно знаете, а я всё равно скажу: пока вы прилаживались менять мир, этот самый мир изменился 

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

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

Так давайте не будем рефлексировать о прошлом, но воспользуемся всеми прелестями настоящего! Давайте сотрудничать, КОЛЛЕГИ!

Давайте. Расскажу только историю успеха сначала.

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

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

Его стремление и старания вызывает уважение, он молодец. Думаю что от таких джунов никто не откажется.

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

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

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

Но есть нюанс. Стать водителем Белаза проще, чем стать миддлом. Поэтому станет ли вкатывальщик миддлом или застрянет в недомиддлах это вопрос.

Это всегда вопрос конкретного человека - захочет он осилить или нет. Если не захотеть, можно и вождение белаза не осилить. К слову, не уверен что в той сфере все так примитивно как вам кажется

вот сейчас водителям Белаза стало обидно.

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

Мои примеры вполне реальны, а не абстракты. В родном городе лет 15 назад была примерно такая картина: 

  • 60к помощник водителя белаза на комбинате сразу после ПТУ 

  • 40к продавец бытовой техники (с учетом бонусов) 

  • 40к инженер-программист на том же комбинате 

  • 10к программист в отдел статистики больницы 

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

Даже те, кто был близок к IT (поднимал локалку по городу или играл в компьютерные игры) шли сразу в ПТУ.  Зачем учится в универе, тратить свои выходные на программирование, инвестировать в самообразование, если можно совершить очевидный выбор?

Теперь рынок другой. Водители белазов имеют 120к и профессиональные болезни, а программисты отделов статистики по 240-360к.

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

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

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

Кто, по-вашему, развивает индустрию? Буквально, кто открывает новые технические решения и приёмы? Допустим раньше да, была распространена модель поставки коробочных проприетарных решений для бизнеса. Штат разработчиков коммерческих компаний, по сути, и развивал отрасль. 

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

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

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

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

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

Ну тут все зависит от ракетного двигателя и от библиотеки навигации, я в свое время делал крамельки и они вполне работали и таскали ракеты)

А зачем вы сразу драматизируете и рисуете образ Васи у которого проблемы общения с девушками?

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

а программисты отделов статистики по 240-360к.

районной больницы?) Ага, щас, как же. Не смешите мои пайплайны!

И, если что, инженер-программист на комбинате тоже не стал получать 240-360к.

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

Брать джунов или не брать? Если их не брать, тогда зачем создавать... Джуны есть, их надо устраивать.

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

К "личным" причинам не брать джунов относится нежелание их брать. Кто к этому склонен... Айтишников описывают как гениев. Но это не так. Они делятся на категории... Гении это не самая большая их часть. Есть эрудиты, знающие очень много, да и не только по АйТи, как правило, у них большие амбиции, и они уехали в Калифорнию. Есть другие, учились плохо, математику не знают, сдают всё на три. Потом они работают в компаниях, знают довольно много в силу большого стажа. Они мыслят узко. Учатся с трудом. Это большая часть айтишников. Ленивые они. Для них АйТи это бизнес, хорошие деньги, иногда свободный график. Вот эти вторые проблемно относятся к джунам. Им они невыгодны, джуны для них конкуренты, зачем их учить? как интегрировать их в работу они вообще не понимают.

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

В России отсутствует сертификация специалистов, айтишникам она нужна. Квалификацию специалиста должна определять объективно третья сторона. Внутри компании им трудно разобраться, им надо помогать.

Брать джунов или нет это чисто экономический вопрос. Конкретно сейчас работаю на продуктовой конторе, ей джуны нафиг не сдались, ибо выхлоп с них нулевой, плюс трата времени остальных специалистов на его обучение и интеграцию, дешевле сразу миддла нанять чем заниматься этой возней. С другой стороны есть аутсорс, который с радостью возьмет более-менее шарящего джуна, пару месяцев обкатает его на проекте стажером за свой счет, а потом продаст заказчику как миддла. Исключительно бабки это все решают и ничего больше. Весь этот бомбеж на "вы нас презираете" со стороны выпускников курсов это всего лишь непонимание данной ситуации. И да, джунов много, а тех кто готов их растить больше не стало, отсюда и конкуренция и условный бухгалтер Петя, отсидевший последние 20 лет в госконторе после завершения курсов попадает на рынок и осознает что тут корочки недостаточно, а нужны реальные знания чтобы успешно конкурировать с такими же джунами за свободные позиции и это его вводит в еще больший ступор в стиле "Как так? Я потратил деньги, прошел курсы по аналогии с повышением квалификации. Вот даже диплом дали, а по факту всем на это плевать? Возмутительно!"

Продукты можно купить в супермаркете типа Перекресток, 5ка, Лента. А можно купить в ларьке. В ларьке нет охранников, они им не нужны. Компании ИТ не выросли дальше ларьков. У них такая структура. В компании должны быть служба безопасности, которая следит за сотрудниками, за каждым движением. В ИТ компаниях этого нет.

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

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

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

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

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

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

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

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

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

сеньор будет выгорать, если ему будет влетать из-за ошибок джуна, это нормально.

Это кривое построение бизнес-процесса, либо со стороны сеньора, либо коллективная кривизна сеньора и остального менеджмента. Вывод, меняем бизнес-процессы и/или персонал

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

Простите, а что это за контора такая? Сеньор это не тимлид, и не менеджер, с какого перепугу его вообще трогать то должны за косяки джунов? Может ему и кодить перестать надо, а только за джунами смотреть, что бы не влетало?

Не работайте в плохих местах, и плохо вам не будет.

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

Ну давайте я отвечу на ваши вопросы.

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

Можно ли было обмануть систему, и получить сертификат, не получив знаний? Да, можно было достать дамп ответов на курс и описание экзаменнационной лабы. Однако честное прохождение курса, или, что чаще, линейки курсов давало хороший уровень знаний и навыков.

И я проходил такие курсы от вендоров Microsoft, Oracle, Postgres Pro, RedHat, и других. Во времена работы в интеграторах - со сдачей соответствующих экзаменов, во времена работы в ынтырпрайзе - без.

Проходил ли я курсы 'нового поколения'? Тоже да. Контора закупила оптом такие курсы во времена диджитал трансформации, и я записался на пару курсов от ГикБрейнс с надеждой немного улучшить отдельные навыки по конкретным темам. Качество преподавания было плюс-минус сравнимо, но вот качество и количество материалов - нет. Поэтому 3:1 в пользу классических курсов: материалы и сертификация гораздо лучше, преподавательская работа сравнима. Более того, ряд книг по курсам становился моими настольными книгами на продолжительный период.

Разрабатывал ли я сам курсы? Честный ответ должен быть 'нет', потому что разработка курса это не только знание администрирования или программирования и рисование презентаций в Impress, но и серьёзная методическая работа и т.д., и т.п.. Поэтому нет, таких курсов я не делал. Однако, я делал несколько небольших интенсивов для внутреннего пользования, в целом сравнимых с уровнем курсов от ГБ или СкиллБокс. Что я могу сказать? Они были откровенно посредственными, и единственный их плюс заключался в том, что они были в свободном доступе для своих сотрудников, а демо проводилось на тестовых стейджах ИС компании, что давало ещё и применимые практические навыки, а я как автор был доступен для вопросов. В свою защиту хочу сказать, что если человек был заинтересован в теме, то я потом уже рекомендовал настоящие курсы от вендоров.

Предлагаю всем, и выпускникам ВУЗов, и слушателям курсов эксперимент: посмотреть на IEEE / ACM Computer Science Curriculum и поставить галочки напротив тех областей, которые они изучали.

https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf

Открываете Appendix A и идёте вниз по списку. Выпускникам ВУЗов проще, у них есть приложение к диплому и описание образовательной программы, можно там подсмотреть. Выпускникам курсов, вероятно, придётся сходить в свои учебные материалы, посмотреть что там есть, что они изучали сами или им преподавали и прикинуть часы.

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

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

UFO just landed and posted this here
Посыл статьи изначально неправильный Не джуны не нужны, не нужны вайтишники без фундаментальных знаний, которые этим еще и гордятся.
У нас плоховато с математикой? Этот ваш примат, вычмат, сопромат? Да, это так. Плохо знаем алгоритмы? Ну да. Паттерны? Ага-ага. Архитектуру информационных систем? Всё верно! Мы не настоящие программисты? Полностью согласен — не настоящие. Но ведь есть же вы, настоящие!

Вот именно, так зачем вы нужны, если вы не настоящие? Лучше взять настоящего программиста, что бы потом не переделывать за ним. Вы не знаете ни алгоритмов ни их сложностей, в итоге вместо простого алгоритма с линейной сложностью фигачите квадратичную, потому что, что такого просто лишнюю строчку же написали, так проще, только эта лишняя строчка — это вложенный цикл, но откуда вам знать, как это повлияет на производительность, ведь вы так гордитесь, что не знаете математику и алгоритмы. Математическую логику вы тоже не проходили, по этому условия пишете так, что кровь из глаз течь начинает, или вовсе не пишите, а просите помочь. потому что запутались. И так моно до бесконечности продолжать, потому что в вузах всю эту скучную математику не просто так по 5 лет преподают.
А те плюсы, которые вы перечислили ну ооочень натянутые, времена ассоциальных гиков давно прошли, у многих программистов язык подвешен похлеще вашего. Что-то там про «мы занимались проектами» вообще смешно. А программисты по вашему чем занимались? Как раз таки в сфере ИТ проектная деятельность давно главенствует, а уж если у программиста есть пет проект или стартап, то тем более.

Не знаю тогда, зачем твои родители с тобой общались и возились: языка ты не знал, ходить не умел; какой там интеграл, ты 2+2 освоить не мог. Да и не понимаю, зачем тебя, даже не победителя всероссийских олимпиад, держали в школе, ничего ведь толком не знал. А уж про первую работу и говорить нет смысла, там ты просто был обузой: какие-то вопросы задаешь да мешаешься под ногами. И вообще, где твоя 15-ая чакра и 3 глаз ?

Что за странные некорректные сравнения? У школы и вуза задача — обучить человека, у работы — задача конвертировать знания человека, полученные ранее в деньги. Если стартовые знания близки к нулю и некачественные, то и конвертировать их не получится. Устраиваясь на первую работу у меня уже был достаточный теоретически базис после универа, что бы выполнять поручения, или хотя бы воспользовавшись гуглом понять, как их выполнить. При этом моя первая работа была за 10 тысяч до налогов в месяц ради опыта еще в универе. По этому работа — это не школа. «Я работать бы пошел, пусть меня научат» это конечно круто, но никто на работе учить не будет, уж точно не с нуля и точно не за зарплату готового специалиста.

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

И мои "некорректные" сравния, конечно, ни чета вашим выдуманным из головы примерам некомпетентности и недостатка знания.

Что это за обиженный набор слов? А какая картина мира у вас? К черту все требования к вакансиям, берем любого Васю с улицы и учим его выполнять работу? Ну так ни одна фирма далеко не уедет. На работе будут обучать в двух случаях — если компания может позволить себе вкладываться в обучение сотрудников и у них острая нехватка сотрудников определенной направленности, либо если очень узкоспециализированные требования и область знаний и готовых специалистов на рынке просто нет. И вы из моего сообщения вырвали часть про «не с нуля», одно дело — это учить специфике проекта, а другое дело учить программиста основам ООП. Про гипотезу Римана посмешили изрядно, во-первых там матан не при чем, а во-вторых страно требовать решения проблемы у которой нет известного решения. Вы боретесь с соломенным чучелом, которое сами слепили, никто не требует от кандидата выдающихся результатов, если это конечно не выдающаяся должность, базовые знания теории множеств, реляционной алгебры, мат.логики, основ ООП и подобного — это не гипотеза Римана и не ядро операционной системы.
И мои примеры, к сожалению не из головы, а вполне реальные случаи из буквально недавнего опыта.

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

Хватит приписывать мне то, чего я не говорил. Ну ил покажите конкретно, где я такое говорил? Я не писал, что на работе никто не будет учить, я писал, что на работе не будут учить азам, которые надо было изучить в университете. Я не писал, что нужны выдающиеся знания по ООп и мат. ану, я писал, что нужны хотя бы базовые знания университетской программы, а не «я ничего не знаю, вот я такой красавец, учите меня, а я буду гордиться, что даже базовой теории по алгоритмам не знаю». И почему вы вбили себе в голову, что это чей-то опыт? Я не студент давно и не вайтишник. Я работаю уже 11 лет в этой сфере, и это все примеры того, что я вижу вокруг в своей работе, а не чужой опыт.

>кандидаты без "выдающихся знаний" ООП и мат анализа тоже достойный места под солнцем
Да достойны, конечно же, достойны. Просто у мелких компаний на недоучек нет ресурсов, а в условную Яшку очереди из Вышки, Бауманки и МГУ. Вот и вопрос - где эти "кандидаты" будут "достойны".

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

А ещё знаете что? Мы умеем разговаривать с людьми! Мы же делали проекты, помните? Вооот, и по ходу дела постоянно общались. С заказчиками, с поставщиками, с начальством, с коллегами наконец. Кто-то больше общался в профессиональной среде где собеседники говорят плюс-минус на одном языке, а кому досталось "бытовое" общение, когда в какое-нибудь ЖКХ звонит человек, который толком не может описать что у него стряслось, но чью проблему необходимо решить. Для нас вообще не проблема сгонять к заказчику, поговорить с ним на его языке и уточнить требования. А для вас?

Это как раз какое-то странное видение IT. Те мы сидим за своим компом и вообще ни с кем не общаемся?

Дело в том, что чем выше уровень разработчика - тем больше он вынужден общаться. Нужно проговаривать задачи, взаимодействовать с QA/дизайнерами/продуктами. Добиваться хорошего API от backend и тп Это все постоянное общение. Да сейчас оно свелось к online из за удаленки, но буквально еще 4 года было offline.

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

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

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

>значит у вас что-то с процессами внутри не так
Неправда. У нас вполне может быть все так — мы просто хорошо зарабатываем, чтобы набирать нормальных. Хотя ваш вариант тоже имеет место быть.

 И я знаю что есть какое-то количество случайных людей на входе. Но большинство из них бросает на задачах типа "проитерируйтесь по массиву".

Не уверен с чего сделаны такие выводы. Задачи подобного рода ни то что не отражают действительность программирования, так они еще и никого в жизни не отпугнут.
Если человек вдолбил в себе в голову, что сам факт прохождения курса гарантирует долгую и счастливую жизнь в IT (а именно это ему обещают в рекламе), то задания по алгоритму "погуглить ответ и забить в компилятор", он осилит без труда.
Почему он именно найдет решение, а не дойдет до него самого? А потому что для самостоятельного достижения результата нужна подготовленная база, которой в курсах нет. Та самая математика, алгоритмы и паттерны, которые вы пытаетесь делегировать кому-то еще. (Я конечно утрирую, что все это нужно, чтобы пройтись по массиву, скорее даю характеристику для общего класса подобных задач)
Можно пойти в обратную сторону, и сначала изучать "прикладные" навыки на уровне обезьянки а потом, когда без этого будет уже нельзя, зубрить теорию, для осознания полной картины, и дальнейшего продвижения. Собственно так и делают в высших учебных заведениях: на первом курсе - основы языка, а дальше парадигмы, паттерны, проектная деятельность и тд. И проблема большей части этих курсов по вкатыванию в том, что это самое "дальше" может никогда не наступить. А прошедшим курс, вместо того, чтобы говорить куда дальше идти (как это собственно делают в нормальных курсах), объявляют прошедшего полноценным джуном и отправляют искать работу на HH, где он никому не нужен.

Как толсто... да ещё и как истерично - так и не получилось осилить

Для альта Вы слишком дерзский :)

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

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

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

но при этом осознают что это, черт возьми, оказывается весьма интересно и захватывающе, и за черным экраном с буковками скрывается СТОЛЬКО всего!

Вот такие нам нужны

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

но при этом изо всех сил терпят и повторяют самому себе: "терпи, блин, это говно унылое, зато бабок буду зашибать потом, после курсов!"

Вот такие нам НЕ нужны

---------------------------

Это моё скромное и простое мнение ))

Тоже хочу высказаться.

Организовал стажировки в компании для студентов. Занимался менторством и преподаванием.

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

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

p. s. Алгоритмы и структуры данных нужны тем кому нужны.

p. p. s. Весь лай, против курсов, в основном направлен на то, что бы остановить эти безумные траты денег на то что никому не нужно. Реклама курсов на уровне рекламы рейд шадоу ледженс и букмекеров. Подумайте об этом

>Мое мнение о курсах крайне низко.
Согласен. Причем даже о курсах достаточно высокого уровня. Скажем, несколько раз наблюдал, как коллеги проходят входное тестирование на курс «Спарк для инженеров данных». Приведу примеры:
* что означает параметр -L у ssh (четыре варианта ответа)
* что означает команда chmod u-x… (четыре варианта ответа)
* какой метод в классе Pipeline Spark ML делает то-то и то-то (входное тестирование на курс по спарку, в котором ML вообще одна тема из 15).
* какому уровню OSI соответствует протокол ARP

ну и так далее подобные же вопросы. Вам не смешно? Мне очень. Вот я этот самый инженер, для которого якобы этот курс. Из этого входного теста мне в повседневной практике не нужно ничего. Если будет нужно — я знаю man chmod, ну вы поняли. А часть вопросов — это просто темы, которые возможно будут обсуждаться в этом самом курсе. И нафига их задавать?

P.S. И да, свой первый курс по языку PL/1 я прочитал еще в 1981 году, а всего их подготовил провел с десяток. И сейчас к обучению подхожу просто — если надо поднять уровень, проводим пару занятий по конкретной теме. Свое. Кто-то один, кто изучил, готовится и проводит.

Для нас вообще не проблема сгонять к заказчику, поговорить с ним на его языке и уточнить требования.

Тогда добро пожаловать в проджект-менеджеры. Тем более, что вы всё равно "Плохо знаем алгоритмы", "Паттерны", "Архитектуру информационных систем".

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

Да как же вы утомили. Никто не боится конкурентов, потому что ни один джун не конкурент даже мидлу, про синньора вообще молчу. Уже который год слышу, что зп будут уменьшаться а пока только растут. А все потому, что из 100 джунов вайтишников через 5 лет получится дай бог два десятка мидлов и 1 хороший синьор. Вся проблемав том, что сейчас даже вмоей сфере все завалено резюме, а по факту не получается месяцами взять ни одного специалиста, потому что среди кандидатов этих специалистов просто нет, и когда начинается техническое интервью просто хватаешься за голову и задаешься только одним вопросом, да как ты, твою мать, отработал то свои 3-5 лет с такими знаниями.

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

UFO just landed and posted this here

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

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

> то вы делали все ваши 10-15-20 лет практики? Кодили на крестах? Это прекрасно. Вы наверняка крутой специалист - по крестам. А знаете что делали мы? Мы делали проекты!


Автор, вы считаете, что опытные разрабы за 10-20 лет работы не делали проекты, и хорошо научились работать только с одним инструментом/технологией?
Это какое-то воинствующее невежество.

P.s.: а сама статья - эталонная иллюстрация демагогического приема "Соломенное чучело" https://ru.wikipedia.org/wiki/Подмена_тезиса#:~:text=Распространённое название этого приёма — «соломенное,это чучело изображает%2C остаётся нетронутым.

Да, перебор :) Поправил этот абзац :)

Отчасти поддержу автора. Я тоже не понимаю массового хейта против курсов, который сейчас стал очень модным. Расскажу свою историю про курсы.
Я сам в свое время ушел из технического ВУЗа и пошел служить в армию, потом "искал себя", получил гуманитарную специальность, потом работал в разных местах, постепенно пришел к мысли изучать программирование, сначала просто ради интереса. Потом закончил курсы веб-разработки на Гикбрейнсе, вышел на работу и вот уже 5-6 лет как работаю.
Понятно, что курсы это не замена полноценного образования. И я сам страдаю иногда, что не могу поддержать разговор об ассемблере, теории графов и т.п.

Курс был рассчитан на 8-9 месяцев, состоял из 8-9(точно не помню уже) относительно независимых модулей, (например HTMl, JS lvl1, JS lvl2, mySql, PHP lvl 1, PHP lvl2...) на которые ты можешь записаться в любой поток в любом порядке, хоть на все сразу параллельно.

я проходил его два года.

Брал перерывы между модулями, чтобы изучить подробнее, почитать, попрактиковаться. Каждый модуль рассчитан на месяц - 8 занятий. К концу модуля обычно оставалось 20-30% из тех, кто начинал. Учеба это сложно, если ты вкладываешься, а не просто высижываешь. И мне кажется, что я все таки вошел где-то в 20% тех, кто из курса выходит работоспособным джуном.

Но естественно, есть некая "воронка". То есть курсы не гарантируют, что все вошедшие выйдут работоспособными. Это нормально, в природе всё так устроено. Из 10тыс икринок 5 становятся взрослыми рыбами. То же касается любого найма, подбора, обучения, стажировок.

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

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

Вот такая воронка - один человек со всего факультета. А что поделать?)

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

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

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

Все таки автору той статьи не нравятся не Джуны вообще, а выпускники ряда курсов.

Меня например , поразили курсы, где выпускникам давали сразу C# + Java + JS + Python

При этом ООП на примере одного языка, работу с БД второго, ORM третьего....
В результате у собеседуемого дикая каша в голове. Они вроде и неглупые ребята, но такое обучение это скорее вред.

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

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

Увы, «на одной галере» нам с вами не быть, покуда я сеньор, доставляющий продукт на рынок, а вы — джун, доставляющий неудобства и раздражение. И я собеседую вас, а не вы — меня.

неспособного найти работу

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

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

Каждый день захожу в чатик одного из моих курсов: поздравить коллег, которые устроились, поотвечать на "дурацкие" вопросы мальков.

собеседую вас, а не вы — меня

Тю, а мне везде говорят (даже здесь, на Хабре) что собеседования это процесс обоюдный. И что если я не задаю дателю вопросы это скорее плохо для меня.... Что, врут опять? :)

Тут мидлов+ отказываются брать, а вы всё про джунов...

  1. С динозавром, на которого ссылаются в первом абзаце, полностью согласен.

  2. С джуном, который написал эту статью, нет.

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

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

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

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

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

UFO just landed and posted this here

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

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

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

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

Я сейчас CTO, в прошлом и в настоящем программист, 15 лет в бизнесе, 3 кризиса и 3 полного переучивания стэка с нуля. Меня уже абсолютно не пугает выгорание, потому что это всё я уже проходил.

Но посмотрите простую математику:

Чтобы руководить джуном, водить хороводы, ручки мыть после того когда покакал, и так далее - нужен профи PM или хотя бы тех лидер. Это не бесплатные процессы для бизнеса. Такой человек хочет N зп, и давайте условимся что это честная цена и некий бенчмарк. Но почему то в этой модели цены, запрашиваемые джунами это около N-20%. Хотя должно быть раз в 5 меньше. Джуны обычно с большими ожиданиями и амбициями, но по факту им цена в 4-5 раз меньше того главного PM-нянечки детского сада. Альтернативное решение - это работать с профи этого бизнеса (которые 10 лет уже в бизнесе), и о чудо: они ведут дела намного более адекватно с точки зрения человеческого фактора, рисков, поддержки, стабильности, даже когда часть стэка технологий неизвестны и требуют ресёрч. А их требования всего то лишь на 20-30% процентов больше джунов. Таким образом математика: двух решений

  1. Профи в бизнесе 10 лет = N * 1.2

  2. PM с 3-мя джунами но с адекватной оценкой этих джунов = N + (N/5)*3

  3. Давать деньги джунам именно столько сколько просят. И PM всё равно необходим иначе они разрушат проект : N + (N*0.8)*3.

  4. Итого: как видим 1 и 2 ещё целесообразным в зависимости от модели работы (long terms как инвестиции в джунов или short term как сдельная оплата), но 3 вообще ни в какие ворота не лезет. Мне уже тогда легче открыть LLC, взять себе сумму N + (N*0.8)*3 и сделать всё самому, нарисовав клиентам человекочасы .😂 Кто и почему должен платить джунам N*0.8 если они ну никак не стоят такое. Понимаете о чем я? Профи разработка под ключ стоит N, когда джуны требуют 0.8N. Это не имеет смысла для бизнеса, кроме пожалуй корпораций, у которых бесплатные и безлимитные деньги

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

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

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

сколько курсов вы сами прошли?

cколько курсов вы организовали?

Я почти уверен что в большинстве случаев счёт будет 0 - 0.

Примерно 66-2. А у вас? Одно высшее образование даёт около 40 курсов (дисциплин) именно по теме. Плюс аспирантура, плюс парочка "этих ваших" курсов, плюс всякое лет за 10 работы, что я тут не считаю. Итого кругозор по тематике ИТ где-то раз в 50 (!) больше, чем у просто выпускника одного курса.

Да, не всё из 50 дисциплин необходимо каждый день. Но если есть 2 человека, один что-то по работе знает и умеет, а другой знает и умеет только 2% от этого, то кто будет полезнее для работы? Вероятно, первый. У второго объём знаний смехотворно мал.

А вот если взять выпускника пусть 3х-4х разных курсов, да с опытом работы по специальности хотя бы в несколько лет, то разницы с обладателем диплома может и не быть.

И курсы очень полезны для обновления устаревающих знаний.

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

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

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

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

Курсы плодят дебилов. Это факт. Я прошел сколько-то курсов(повышения квалификации), когда мне это было необходимо, но у меня к тому моменту уже был опыт, база и понимание зачем я их прохожу, что я от них хочу, и, как правило, в первые час-два приходило понимание подходит ли мне курс, а так же у меня достаточно много знакомых вокруг кто повелся на войтивайти и.. не вошел. Но дело не в тех, кто проходит курсы, а в самих курсах. Они обещают войтивайти за 6 месяц на 100500 деняк в наносекунд, а по факту перенасытили рынок одинаковыми одужнами и из-за этих же курсов требования к джунам сильно выросли. Ко мне на одном из месте работ приходили люди только после курсов, там вообще мрак. Любая айти специальность сейчас, это не только набор механических навыков и знаний которые нужно в заранее продуманном алгоритме применять, но и частенько поиск ответа на вопросы "а что если?". Из примеров. На курсах вам рассказываю про if/else. Вам говорят мол так и так если 1 то 1, если 2 то 2 и т.д., а когда ничего не подходит else. При этом не объясняют что else то может быть не нужен, или последний if может быть не нужен, или еще какие нюансы, и ладно не объясняют, все рассказать не возможно, но даже не дают толчок к мысли, что может быть что-то по-другому.

Или другой пример более близкий мне=) Отличие типов методов http запросов,(самый классический пример get от post). На курсах нам говорят "Get мы используем для получения данных, а post для отправки", но никто даже не заикается о том, что вообще-то данные отправлять можно и так и так, и получать и так и так, а еще их можно удалить\украсть\что-угодно и вообще эта просто лычка к запросу, которая не определяет его поведения. Потому, что не объясняют сути, а учат по методичке.

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

Но все мы прекрасно понимаем, что все эти курсы(как и любой коммерческий проект\продукт) имеют цель заработать. Количеством ли качеством не так важно(а количеством проще), вот и появляются слоганы "стань java\python\c++\fortran\kobol\C\*any лангуаге* разработчиком за 6 месяцев и получи офер в гугл на 100500 у.е.". И появляются те самые "дебилы"(не в прямом смысле конечно, просто обманутые люди) которые и двух слов связать не могут.

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

чувствуется боль человека, послушавшего на собеседованиях не одного и не двух выпускников курсов :-)

"Статистики у меня нет, примера у меня 2-3, но я прав а все остальные дураки."

Крутая статья

Sign up to leave a comment.

Articles

Change theme settings