Открыть список
Как стать автором
Обновить

Комментарии 893

Фил, АСТАНАВИСЬ.

А что сразу АСТА?


Зы. Вообще не понял о чем статья. Формально — о том, как люди обманывают работодателя, делая себе фальшивый опыт. Хотя, по существу — человек либо умеет работать — либо не умеет.


Если человек не умеет работать — то это видно сразу. Буквально за несколько минут общения — смотришь, как он считает, что он говорит, как отвечает на вопросы — и вуаля. И совершенно не важно — придумал он себе опыт или нет.

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

Если бы это так работало — отрасль была бы в шоколаде, регулярно покатываясь под столом от попыток очередных Остапов Бендеров, ну, или просто наивных ниасиляторов («я-не-трачу-время-на-муть-типа-Кнута-я-просмотрел-стопицот-видеоуроков») зайти в. Но это не так — я лично неоднократно наблюдал, как в компании на работу принимают по признаку «знает модные термины и определения наизусть» и «готов работать в команде и разделяет ценности компании». Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали. В результате реальную работу делают одни, а остальные нужны для того, чтобы у менеджеров и тимлидов, имитирующих бурный скрам было количество юнитов, потребное для имитации этого самого скрама.
Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали.

Да, в компании действительно нужны РАЗНЫЕ работники. Умные и не очень — для разных целей.


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


Так что не надо кивать на энчаров — современный бизнес имеет много гитик.

+100500
Главное это грамотно поставленная цель и ее решение
и за пару дней объект готов.

Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.

И именно часть от этих 20% машина и может сэкономить (если не будет отключений света :), когда в машине и шланге пропадёт несколько мешков смеси )

Если результат с машиной получается кратно быстрее, то скорее всего халтура проявляется в других местах (точность маяков, прямота углов, незатёртая поверхность, неровные откосы, неизвлечение маяков, отсутсвие предварительных работ (грунтование, сетки, бетонконтакт, покраска металлических частей выступающая арматура или хвостики от вязальной проволоки ) или неочищенный объект после).
Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.

Очень ошибочное представление. Я бы оценил разницу в скорости примерно в четыре раза* (Между специализирующейся на штукатурке командой и обычными строительными рабочими) Скорость достигается из-за снижения количества маяков — опытный специалист может работать без них. Попутно это ведет к уменьшению намета.

(Между специализирующейся на штукатурке командой и обычными строительными рабочими)

Я сравниваю профессионалов которые 10 лет в штукатурке.
Идентичные команды: одна с машиной, а вторая с ручным миксером с бадьёй. И с идентичным по качеству результатом.
Нельзя сравнивать штукатурщика с машиной и эникейщика с правилом (что является подменой понятий ибо «обычные строительные рабочие» (и что это значит? таких техникумы не выпускают ) сделают халтуру что с машиной, что без неё, что с маяками, что без них).

Второй момент, я сильно сомневаюсь в качестве работ без маяков. Банально даже, что бы сохранить угол в 90 градусов (что бы кафель положить), когда по стене идёт перепад 1-4 см слое например. Я бы с удовольствием посмотрел как происходит штукатурка без маяков, а потом как на эти же самые углы укладывается кафель. Сужу не как профессионал, а как наблюдатель множества строек и как заказчик. Работа очень специфическая, со множеством неочевидных особенностей и требований.
и что это значит? таких техникумы не выпускают...

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

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

В этом и проблема, хожу по соседям, кому ветробарьер с паробарьером перепутают. Комуто вместо СДМ, плёнку крепят. Комуто вместо геотекстиля агроволокном щебень армируют. А вместо агроволокна, брезент стелят. На каждой второй стройке арматуру варят. И спорят что снипы — фигня, ещё деды так делали. А делать работу по госту (как и включать гост в договор работ) — равод для лохов, будет дороже. Геологические изыскания — пустая трата денег. И теодолит — пустая трата денег «глаз вода покажет» :) Обрабатывать древесину антисептиками — слишком долго, да и деды не обрабатывали и дома сто лет стояли (правда купались на речке и воды в доме никогда не было). Когда говоришь «профессионалу» делаем работу согласно «техкарте производителя», узнают для себя много нового. Бетон никто не вибрирует. Часто водой разбавляют. Плиты перекрытия все защемляют, а часто ещё и выпускают консольно итд. Всего не упомнишь.

У меня вся улица строится. Соседи постоянно жалуются на самозванцев, которые ничего не умеют и только материалы портят.
Угу, и получаем «Алые паруса» за конские деньги (халупа бызныс-класса, не хрен собачий), уплывающие в реку и роняющая лифты.
По поводу антисептика для древесины добавлю свое имхо:
если древесина была в камерной сушке (т.е. вы весь процесс проконтролировали: заготовка, распиловка, сушка, строжка), тогда антисептировать ее не требуется (скорее это уже «перебздеть»). Ну и работать согласно кодам мало кто может (единицы). Даже я сам себе строя косячу подзабивая(подзабивая) на некоторые моменты кодов (например, если ставишь укосину, то она не упираться должна в нижнюю обвязку, а врезаться в нее).
К чему я тут свой коммент вставил? Друзья, на самом деле нам нужно во всех сферах пересмотреть:
1. Подготовку специалистов
2. Обеспечивать практику во время учебы
3. Пересмотреть стандарты работ (не важно, строитель ты или программист)
4. Без единой электронной корочки не допускать к работам
5. Без инспекторов по труду никак (по крайней мере в оффлайновых темах типа стройки)
6. Почасовая оплата во всех отраслях, а не зарплата окладная и премиальная

Курсы по %предметная область% кругом. Да в той же Финляндии за год-полтара любой профессии обучают вполне сносно, выдают корочку и только тогда ты можешь менять лампочки или красить стены. Или допускаешься к огневым работам Tulityökurssi (болгаркой пилить, горелкой плавить рубероид), с карточкой Työturvallisuuskurssi после курсов. И там не отволынишь. Обязан выучить, попрактиковаться, сдать экзамен.

К примеру ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики. Год обучения — уже есть категория, можешь себе купить автобус и себя лично возить на нем, но пассажиров не имеешь права. Пассажиров сможешь возить только после сдачи итогового экзамена (!) очень сложного. Конкурс на место водителя автобуса до 30 человек (!). Набирают группу, из которой больше половины в процессе отсеиваются. Тебе за обучение платит государство, чтобы ты хорошо учился.
Выучился, сдал все экзамены (техника безопасности, первая помощь и экстренные ситуации, ПДД, практика вождения, общение с пассажирами, психология, работа с деньгами и кассой, билатами, иностранные языки (несколько — основные фразы и т.д.и т.п.)). Сравните, как у нас легко получить категорию и сесть за руль любому дурачку ;)
ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики

Конкурс на место водителя автобуса до 30 человек (!).

Что такого хорошего есть в вождении автобуса в Финляндии, что при таких сложностях такой конкурс?

Отсутствие формальных критериев типа высшего и/или среднего специального образования. Как следствие — низкий материальный ценз.
Идея ОЧЕНЬ правильная, но в реалиях нашей Родины превратится в невероятнейшую коррупционную машину! Уже сейчас во многих отраслях работать тупо некогда: комиссии, проверки, лицензии. разрешения, надо штат в 10 человек держать только на обслуживание бумаг! При этом можно тупо отвалить денег (много) и к тебе никто не приходит, твори любую х****ю! (с)

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

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

Так я об этом и говорю! Чтобы это работало, нужно не "создать комиссию", а чтобы "общество дозрело". Там, где оно дозрело — и в ЖКХ не воруют, и подъезд не обоссан, и комиссия проверяет реально ли что-то делается, а не взятки собирает.

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

Платят сильно по-разному. В некоторых работах(плитка/электрика), разница в цене отличается на порядок. Но в целом (со слов рабочих) они в Украине сейчас зарабатывают больше чем Польше/Чехии.

И часто квалификация исполнителей очень нелинейно зависит от оплаты. Например, бывает что узкоспециализированные оценивают свою работу недорого (за объем), но квалификация позволяет выполнять работу быстро и зарабатывать больше за месяц.
Сильный сезонный фактор. Иногда бывает (ноябрь-декабрь) что кровельщиков не найдешь ни за какие деньги. Ранней весной никому не нужны штукатуры. Зимой не пользуется спросом монолитные работы. А например рынок вентиляции у нас «премиальный», и тонкий, потому и цена работ — стабильно высокая, а подрядчиков — мало.
А в целом, больше х*2 получают люди с доказанным и большим портфолио. Обычно, перед знакомством, высылают пак селфи на фоне фото выполненных работ на вайбер.
Бывает такое, что если без проекта то цена монолитных работ например 800грн за куб бетона. А если по проекту, то те же самые исполнители перемножат опалубку/арматуру/приём (потому что в проекте всё это сведено в таблицу) етц в итоге бюджет вырастает втроё. Всегда больше попросят «по знакомству», «соседи», «Друзья друзей» и подобные шаблоны, почему так — не понятно, да и качество исполнения хуже чем попросить рекомендацию спеца у дистрибьютора.
«Всегда больше попросят «по знакомству», «соседи», «Друзья друзей» и подобные шаблоны, почему так — не понятно»
Когда просят по компам, я часто так делаю — чтобы отвязались, а если согласятся — так хоть денег подниму.
О! Спасибо! Узнал для себя пару моментов о технологии нанесения штукатурки :)
Дайте мне бригаду из 2-3 человек, которые вручную поставят маяки и сделают штукатурку на 150+ квадратов в день, и я переверну этот мир!

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

А с другой, прием на работу по принципу «знает умные слова» тоже имеет место. Но не обязательно это совмещается в одном и том же месте.
Если ЭТО прокатывает в области, то это говорит лишь об опыте и умении (скорее НЕумении) набора кадров. Видимо, не умеют от слова «совсем». Ну и финансы компании позволяют держать тех, против кого выступает автор статьи.

Личный опыт
Исходя из своего личного опыта, приём на работу в крупные конторы проходит в несколько этапов. Сначала HR-ы, которые задают стандартные вопросы и бездумно записывают результаты. Потом, после HR-а, идёт техническое собеседование. А там уже могут погонять по терминологии, по основным контейнерам C++ (в Java SE — по коллекциям, когда пытался из Java дёрнуться в C# — требовали Рихтера). Но самое главное — никогда не давали пройти в контору без проверки умения решать задания. Как логические, так и конкретные. Можно выучить все логические задачи и их решения, можно выучить терминологию, но решению задач не научишь «мгновенно» (за пару месяцев некоего абстрактного тракториста с образованием 8 классов из 9 средней школы). Пример: берём логическую задачу (те же 8 шаров, из которых один иного веса и 2 взвешивания) и меняем её параметры. Смотрим — есть ли понимание в голове или тупо, как стихи, заучена. Если заучена — это станет понятно. Если есть понимание — тоже станет ясно. Решение, без наличия интеллекта, на изменённые (лучше несколько раз изменённые) задачи вы не получите.

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

А вот почему «прокатывает» найм человека по вызубренной терминологии без умения работать головой — так это обратная сторона другого массового безумия: когда опытного, хорошо и грамотно пишущего код программиста «закапывает» некий недоучка-интервьюер тем, что кандидат не может, с академической точностью, ответить на какой-то вопрос из разряда «вопрос двухсекундного гугления», который только что прочитан интервьюером и после неправильного ответа на который интервьюер закатывает глаза (потом объявляя коллегам о кандидате: «омагад, он два плюс два сложить не может!») и прямо перед кандидатом или после ухода кандидата ставит «минус» на резюме.

Проблема \"критических вопросов \" двухсекундного гугления
И ладно бы вопросы были часто из разряда: «в каком методе и какого класса фреймворка ZZZ делает <очень_редко_используемая_в_реальной_работе_функциональность>?». Это можно нагуглить за 2 секунды и работать дальше без этого, но кандидат поймёт, что в такой конторе работать не надо, в которой наизусть надо помнить все методы всех 2699 классов уже устаревшего фреймворка. Так ведь нет! Иногда, зачем-то, начинают спрашивать примитивщину, от которой (скорее, от внутреннего сопротивления и вопроса «Зачем у меня спрашивают ерунду? Почему не задают серьёзных и требующих размышлений вопросов?!») бывает, что даже простая вещь, за ненадобностью, вылетает из головы, но кандидата могут не взять из-за терминологии при наличии реального опыта, но возьмут вызубрившего азы «тракториста».

Про pet-проекты
Про pet-проекты. Лично я работаю за деньги. Само по себе написание кода у меня не вызывает ни восторга, ни ненависти. Да и вообще я не слишком эмоциональный. Писать просто так я не вижу необходимости, мне хватает кода на работе и переработках. Потому — у меня не будет «pet-проектов», пока я сам не захочу. Да, у меня есть домашние проекты, которые я писал (в прошлом) лично для реализации своих хотелок, но я не хочу и не буду их выкладывать в общий доступ. Раньше выкладывал в «гуглокод», но вовремя перестал. Почему это является показателем «успешности и опыта» — непонятно. У «вайтишников», как раз, будет много проектов на гитхабе и прочих хранилищах. Даже качественно переделанных, с переставленными последовательностями методов, переименованными методами и классами, которые он не сможет объяснить при достаточно объёмных проектах, но наличие этих проектов автор зачёл бы как плюс. Почему? Вопрос…
кандидата могут не взять из-за терминологии при наличии реального опыта, но возьмут вызубрившего азы «тракториста»

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

Вот над задачей о шарах я что-то залип. Бинарным поиском только три взвешивания прокатывают (4-4, 2-2, 1-1)

если заранее известно, в какую сторону отклоняется вес неправильного шара — то можно за два

Вот и завалили вы собеседование у этого собеседователя :)

Вот и помер дед Максим, да и хрен бы с ним Ⓒ


Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся. Если они не равны, то взвесить два из более тяжёлой тройки. Либо более тяжелый среди взвешенных, либо тот, что остался на столе.


Беда в том, что во-первых нужно постулировать, в какую сторону отличается шар, как сказал Static_electro, во-вторых, если я код с такой логикой на куче условий залеплю в прод вместо вызова бинарного или другого поиска, и мы при этом не пишем какую-то сверхпроизводительную штуку на ассемблере с требованием выполнения за ≤0.01с — меня коллеги будут пинать ногами за такие приколы :-)

Ну блин и зачем) мне интереснее было бы на собесе помучаться

Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся.

Так уже три взвешивания, а потом ещё взвешивание…

Почему три взвешивания?
Первое — три шара и три шара.
Если вышел ноль, делаем второе — один шар и один шар, из оставшейся двойки.
Иначе берём более тяжёлую тройку и делаем второе, вариант Б — один шар и один шар, третий остался на столе. Если опять вышел ноль, то более тяжёлый на столе, в противном случае — увидим, который более тяжёлый.

А почему вы предлагаете брать именно более тяжёлую тройку? Это срабатывает только если вы знаете в какую сторону отклонение.

Это же крайне плохое решение. Ну потому что вы всегда будете мерить 3 и 3 шара. А это всегда обращение к 6 «объектам» из 8. Это же ужасно… Зачем это?
потому что лично у меня 1 взвешивание — это на кухонные электронные или электронные с крючком весы — кладёшь\цепляешь продукт и смотришь вес, а тут старая древняя задачка где весы аля противовес и которые я последний раз держал лет 15 назад в школе на уроке химии или физики, как на таких весах взвесить 6 шаров за 1 раз?)
Тоже о таких весах начал думать сразу, а тут оказывается вон оно как
А в жизни это будет
var heavyBall = allBalls.Max(b => b.Weight);

И знать ЭТО зачастую важнее.
2-2(2,1), второе взвешивание — по результату.

Лови вайтишника! :D

Без знания о том легче неправильный шар или тяжелее — за 2 взвешивания не решить.
Если это известно, то — можно.
Без знания о том легче неправильный шар или тяжелее нужно 3 взвешивания — всего на 1 больше.
А там не бинарный поиск. Там троичный поиск.
У вас не «равно», «не равно», а «больше», «меньше», «равно».
Деленное пополам(две чаши).
Соответственно, за два взвешивания можно определенить ,3*3/2 = 4.5 шара.
4 — если нет эталонов веса, 5 — если есть.
За три взевешивания — 3^3/2 = 13.5
13 — без эталонов веса, 14 — с эталоном. Т.е. 14 неизвестных + 1 эталон.
Тернарный поиск там…
Окей, проблема понятна. А есть решения или хотя бы предположения как решать? Что делать аутистам вроде меня без софт скиллов? Я не супер скиллованный ботан, но в ВУЗе я уже на втором курсе делал лабы магистрам и сдавал матлогику и алгоритмы на отлично, появившись на парах за сем три раза. Просто потому, что активно применял это на практике. А сейчас я разослал пол сотни откликов и ни одного приглашения на собеседование. А я не тракторист и не хочу даже получать 80к, я даже на 30к согласен, просто потому что ЛЮБЛЮ кодить. Но не умею себя продавать. И, да, это не регионы, это Питер.
А на чем пишете и под какие платформы? :)
C++, Python с недавних пор, под десктоп. Игрового бота вот недавно на пайтоне написал, рогалик свой попиливаю. С numpy и pandas разобрался, ковыряю OpenCV, чтобы бот умнее был.
А опыта работы в компании нет, ибо «для первой работы нужен опыт, для опыта нужна первая работа»
Мало просишь)
Да и резюме по красочнее надо расписать.
Прям в «обо мне» прямо и пиши, мол делаю такие то крутые вещи, на том то и том то.

Главное не пиши всякую лабуду в духе «Трудолюбив, активен и вообще звезда».

С++ — хорошо, питон — еще лучше. Советую обратить внимание на LinkedIn. Там в начале надобавлять людей неделю надо. Чем больше — тем лучше. Добавляй всех кого можешь. Видешь слово Dev или Prog — добавляй. А через них, уже добавляй их HRов, что у них в друзьях.

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

Был в подобной ситуации. Прекратилась, когда стал просить не 30, а 80 или даже 120 (на 2012-13). Потом сказали, что если бы в моём резюме было 30 указано — выкинули бы его.

Интересно, какая логика за этим стоит? То жалуются, что джуны без опыта запрашивают 100, то резюме кандидатов за 30 выкидывают.

Знакомый бывший техдир местной компании недавно устроился сеньором на удаленку в Московский филиал международной компании за 4000$. Такие зарплаты в комментах к статье называют, что мне кажется, что 4000$ — это зарплата миддла, а не сеньора.

Конкретная сумма — это слишком абстрактный показатель, чтобы ответить на вопрос однозначно. Всё зависит от сферы, навыков, компании, рынка, умения себя продать. У меня был прецедент (о котором я всё не решусь написать статью, но оно того стоит), где я получал процентов на 30 больше, чем директор филиала, которому я формально подчинялся.


P.S. Я оттуда, правда, ушел, потому что вместо создания команды разработчиков на месте меня направили на управление командой индусов (и сейчас у меня нет ни ЗП, ни должности того уровня, но я не жалею)...

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

Интересно, какая логика за этим стоит? То жалуются, что джуны без опыта запрашивают 100, то резюме кандидатов за 30 выкидывают.


Логика тут элементарна:

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

Если он это делает, то никакой он не специалист.

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

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

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

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

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

Исключения бывают.
Но проверять всех подряд, чтобы найти эту золотую крупицу… с учетом того, что и так приходится по 50 человек перебирать, чтобы найти кандидата — не рационально.

Спасибо, что поделились своим мнением!

Конечно, желать 30 не может. Но могут вынуждать обстоятельства. Еще раз, если пропустили — я МЕНЯЛ СТЕК. Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату? Уверен, что нет.
Т.к. за нормальную ставку не получалось найти работу в стеке, в котором я уже 3 года не работал, мне показалось нормальным на первое время запросить ставку джуна, но с повышением до миддла не через 1,5-2 года, а максимум через полгода. Да и посоветовался со знакомыми программистами. Сказали, что норм на первое время в другом стеке за небольшую ставку пробовать устроиться.

В общем, возвращаюсь к теме дефицита, зачастую это не дефицит, а отсев всех подряд по разным причинам, в том числе рациональным.
с учетом того, что и так приходится по 50 человек перебирать
Я не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей. Нужно исследовать и пробовать разные способы, чтобы научиться более эффективно ее выполнять. Конечно, если приходится постоянно собеседовать и не хочется тратить кучу рабочего времени на собеседование 50 человек ради найма одного.
А если сходить во всякие Яндексы?
Там можно писать на любом языке во время собеседования.
Не знаю, как во всяких яндексах. В Омске их нет.
Ну и мне бы все равно понадобилось готовиться месяц-другой к таким собесам. Теории там бы все равно спрашивали, хотя бы общую. Алгоритм на листочке я не напишу во время собеса без тренировки, т.к. непривычная ситуация, мозг сосредоточен на разговоре, а не решении задач. Классе в 10-ом — 11-ом и на первых курсах вуза написал бы, наверное. А на работе мне практически не приходится сталкиваться со сложным кодом в плане алгоритмов. Задачи по реализации/разбору алгоритма за первые 5 лет работы мне встречались раза 3 (одна — оптимизировать какой-то небольшой алгоритм, вторая — сделать генерацию уровней в небольшой игре, третья — выполнить за игрока поиск решения головоломки в той же игре). Я в пет-проектах чаще алгоритмы средней сложности писал, чем на работе.
Я не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей.

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

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

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

Ну, тогда да, пи… ц. Тогда интервьюеру придется по 50 собесов проводить, а опытным кандидатам готовиться к вопросам на джуна, чтобы его не отсеяли вместе с новичками из-за вещей, которые он забыл.
Указывайте среднюю, на собеседовании говорите, что готовы ниже — вас возьмут.
Ну поймите, если у вас 10 кандидатов и один из них указывает зарплату в 4 раза меньше — правильное решение — откинуть это резюме как нереальное.
В резюме я не указывал. Это на собесах обсуждали. Ну ладно, это уже в далеком прошлом.
В будущем попробую вообще не говорить ставку. Скажу: «прохожу в несколько компаний собесы, какая лучше условия предложит, туда и пойду».
Говорите «хочу ХХХ, но на испытательный срок согласен и на меньшую цифру», где ХХХ — средняя по рынку(посмотреть на специализированных ресурсах).
Просто когда стоит задача отсеять кандидатов(а она почти всегда стоит, если не стоит то приходит тимлид и рассказывает «нафига ты мне этих идиотов на собеседовние посылаешь»), то проще же по явным признакам типа странные хотелки чем анализировать уровень кандидата.
Меня тимлиды и отсеивали после собеса. Может они по странным хотелкам дальше уже не анализировали мой уровень. Хотя, сейчас припоминаю, что я до 30 не сразу снизил, а постепенно снижал, после неудачных собесов.
Уверен, что нет.
готовы
например в языках Go и Kotlin дикий дефицит, берут с опытом на др язках

Но с понижением.

Ок, бывают исключения.
Kotlin относительно новый язык, c ним все понятно. Насчет Go — не знаю, может не популярный. Ну и сомневаюсь, что, например, senior Python разработчика берут на должность senior Go. На мидла еще поверю. Те, кто понимают, что дать максимум полгода на переобучение и будет этому уровню соответствовать в новом стеке, те возьмут.

У меня было пару случаев, когда говорили про дефицит C# разработчиков и что готовы брать даже разрабов на других языках. Один рассказал, что в их компании дикие переработки и он считает это нормальным. Второй задал пару вопросов по каким-то внутренним механизмам языка, о которых я никогда и не задумывался, на этом собес и закончился.
Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату?
У меня было 3 рабочих места и 3 разных стека на них, по сути. Работу я каждый раз менял с повышением зарплаты. Иными словами — да, можно найти работу, где вы устроитесь без знания стека на адекватные условия.

Должность у меня последний раз «упала» при переходе, но то потому, что я был галерным «сеньором» с 2.5 годами стажа, и я искал место, где я буду миддлом.
А почему вас взяли знаете/помните?
Обычно на собесах по языку гоняют и немного по стеку. Как такой собес прошли без знания стека?
Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату

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

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

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

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

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

И ты называешь это фундаментальным вопросом?
Я как то забыл, как правильно пишется malloc и realloc

Такие вещи, как pure компоненты — скорее не фундаментальная вещь, а опциональная. Кто-то использует, а кому-то ни разу не пригодилось.
А вот без понимания некоторых принципов солид и еще YAGNI, я бы не доверял человеку вести проект. Уже дожились до того, что такая жесть, как redux, считается нормальной архитектурой.

Так redux как раз по SOLID ))

Я так не считаю) Мне кажется Абрамов и его коллега не вспомнили о нем при создании redux. Да и ребята из фейсбука тоже видимо о SOLID не вспомнили, если им это решение показалось хорошим. Хотя, судя по хуку useReducer, они до сих пор периодически про него забывают.
Насчет нарушение первого принципа (SRP) еще можно поспорить — по разному можно понимать ответственность. Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов. То есть количество причин для изменения редьюсера равно количеству экшенов.
Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.
LSP принцип — вроде бы тоже нарушает. У редьюсера в сигнатуре есть базовый абстрактный action. Когда используем конкретный экшен, вместе с ним передается тип события (action.type). Смотрим определение принципа: «Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом». Разве редьюсер может обрабатывать конкретный экшен, пока мы не обновим редьюсер, чтобы он мог работать с конкрентным экшеном? Нет.

YAGNI, о котором я упомянул — он о том, что если скорее всего не понабится, то и делать не нужно. Это не про SOLID, но redux тоже нарушает этот принцип. Зачем для вызова middleware из компонента использовать pub-sub (publisher-subscriber) с помощью dispatch + action, когда можно было бы вызвать middleware из компонента напрямую, как обычную функцию? Аналогично с ситуацией, когда middleware обновляет стор. Может быть в 1-ом из 100 проектов в этом есть необходимость, но в остальных 99 — нет.
аминь!
Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов.

То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.


Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену


Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.

Не придётся, если активно использовать композицию, а не простыни switch/case


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

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

Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену

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


Не придётся, если активно использовать композицию, а не простыни switch/case

А как рекомендуется в офф. документации?

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

Не вычислить, а мутировать стейт на вычисленный тут же :) Тут вопрос, а что конкретно хранится в стейте.


А как рекомендуется в офф. документации?

https://redux-toolkit.js.org/api/createReducer

Судя по примеру в конце документации, они после 2,5 — 3-х лет использования switch, сделали обертку, которая позволяет использовать функции для мутаций хранилища. То есть одну огромную функцию разбили на несколько, про что я и говорил.

Последний пример:
const slice = createSlice({
  name: 'todos',
  initialState: [{ id: 1, title: 'Example todo' }],
  reducers: {
    addTodo: (state, action) => {
      console.log('before', current(state))
      state.push(action.payload)
      console.log('after', current(state))
    },
  },
})


В других менеджерах состояний выглядит как-то так:
class TodosStore {
  initialState = [{ id: 1, title: 'Example todo' }];
  addTodo = (todoData) => {
      console.log('before', this.state)
      state.push(todoData)
      console.log('after', this.state)
  };
};

// и пример сохранения в стор из middleware:
const addTodoMiddleWare = () => {
   //...
   todosStore.addTodo(todoData);
}

Редьюсеры стали похоже на то, что было года за 2-3 до redux-toolkit в других менеджерах состояний. Т.е. Redux изначально развивался неправильным путем.
То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.
Нет. Смотря, что подразумевать под ответственностью. Слишком мелкие детали называть ответственностью не стоит, как и сильно общие — вычислить состояния по одному из N входных экшенов.
И даже если функция нарушает SRP, это еще на значит, что это плохо. В первую очередь надо следовать здравому смыслу, а потом уже SOLID, иначе система может получиться слишком раздробленной и сложной.

Может вполне. Нормальный редьюсер не должен падать, если ему передан неизвестный ему экшен — обычно просто возвращает текущий стейт.
Суть принципа не в том, будет ошибка или нет, если редьюсер получит неизвестный ему экшен. Нарушение принципа LCP — когда код должен знать о типах всех обрабатываемых им объектов. На примере редьюсера — когда он должен знать о всех типах action, которые он обрабатывает. Т.е. состояние хранилища не будет обновляться для конкретного экшена, пока не напишешь код в редьюсере под этот экшен. Если добавить новый экшен в систему, то придется менять и редьюсер, чтобы система работала с этим экшеном. Это похоже на второй принцип, только относится к наследованию. Как мне кажется, LCP — это частный случай принципа OCP.
Недавно проводил собеседования и хочу пояснить по поводу pet-проектов.
Pet-проект это не абстрактный очередной калькулятор в вакууме.
Pet-проект это проект, который человек писал для себя. Для удовольствия / была личная необходимость / для эксперимента. По проекту как правило видно, для чего он писался. Да они и не скрывают — спрашиваешь, для чего писался проект — отвечают, мол для курсов/задачка из учебника/etc.
Лично я отбирал людей, которые писали что-то лично для себя. Потому что это показатель того, насколько человеку интересно программирование само по себе. Я сам гик и в команду мне нужны такие же гики. Если человеку программирование нафиг не упало, то и интересоваться, изучать что-то самостоятельно, творчески подходить к задачам он не будет.
Ну к 30 годам кодить за идею становится как-то некамильфо. Есть силы и желание работать свыше 40 часов в неделю — делаешь это за двойную.

У каждого своё комильфо.

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

Прямая причинно-следственная связь, конечно, ошибочна, но есть корреляция.


Неужели неинтересно поковырять что-то в личное время?


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

Было бы лучше, если бы он вместо этого… делал что?


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

Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает, например, или какую то тривиальную прикладную задачу решил. Слайдер например, реализовал. Под "лучше" я подразумеваю эффективное преобразование времени в профессиональные навыки.

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


При этом все эти задачи будут в контексте, а не сферически в вакууме, что, ИМХО, таки более эффективно с точки зрения преобразования времени в навыки.

Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает

Это глупость какая-то. Почитать и запомнить теорию — это слишком малая часть. Применение теории на практике — значительно важнее.

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

мне очередной джун <...> хвастатся тем, что он игру пишет

хм, сравниваете СЕБЯ с джуном :)
а ведь явление по оценке проекта про то, что условно ваш джун с пет-проектом вкуснее этого же джуна, что без пет-проекта…

вы с пет-проектами и OS проектами вкуснее себя же без таковых…

себя с джуном сравнить и на этом строить аргумент — ну вы чего?

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

А можете объяснить, что именно в этом некомильфо? А то мне 30 через несколько месяцев, а я тут за идею.

Семья, ипотека, откладывание на «свою» пенсию вместо государственной. Хочется использовать свое время эффективно.

То есть, вы предлагаете в свободное время фрилансить или овертаймить, чтобы заработать ещё больше денег?

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

Ну это уже вопрос личных пристрастий. Мне вот в качестве отдыха вполне норм код писать.

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

А в чём там именно проблема-то?

Пример: берём логическую задачу (те же 8 шаров, из которых один иного веса и 2 взвешивания) и меняем её параметры. Смотрим — есть ли понимание в голове или тупо, как стихи, заучена. Если заучена — это станет понятно.

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

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

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

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

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

Неадекватов отлично вычисляют "поговорить по душам", в особо запущенных случаях — физзбазз. Задачки имхо не показывают ровно ничего. Вот не смог человек придумать как в 2 взвешивания решать, он знает дихотомию: 8, 4, 2, 1. Значит ли это, что он "недаекват"? Расскажите, как вы в повседневной работе подобный навык применяете. Надеюсь, вы не будете говорить про "общую эрудицию" и "навык находить неожиданные решения" — по моему опыту с навыком решить задачку про горящие верёвки оно имеет мало.

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

Как-как… если решил — гнать в шею. Ибо при подобных условиях задача не имеет решения. Если не решил, но думал, то попросить рассказать ход мыслей.

А кто сказал что среднему разработчику есть польза от Кнута?

А кто сказал, что нет?

Ну это просто: бремя доказательства лежит на постулирующем существование. Так как несуществование доказать невозможно.

У нас научный диспут? )


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

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


Я Кнута не читал и вообще не особо умён, но про поиск и сортировку знаю и без Кнута.

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

С этим утверждением я полностью согласен, конечно. Но, получается, оценивать надо не то, читал ли человек какие-то книги, а есть ли у него какие-то знания/навыки, которые мы считаем нужными, да? И если так — то видеоуроки ничем не хуже, кажется…

Если человек не умеет работать — то это видно сразу. Буквально за несколько минут общения — смотришь, как он считает, что он говорит, как отвечает на вопросы — и вуаля. И совершенно не важно — придумал он себе опыт или нет.

Если у человека имеются столь любимые хрюшами волшебные soft skills, то при упомянутом в статье подходе "Team Lead по их мнению, это этакий менеджер, который тупо получает деньги и что-то там рассказывает команде", он легко разведёт лохов.
image
Вот так и живем, хрюши отсеивают тех, кто годами кодил и не имел возможности развивать SoftSkills, и соответственно набирают тех, кто потратил годы на развитие SoftSkills, а не компетенции, ну а на техническом собеседовании инженеры удивляются низкому уровню кандидатов, но что поделать, брать кого то нужно, вот и берут.
Вот так и живем, хрюши отсеивают тех, кто годами кодил и не имел возможности развивать SoftSkills, и соответственно набирают тех, кто потратил годы на развитие SoftSkills, а не компетенции, ну а на техническом собеседовании инженеры удивляются низкому уровню кандидатов, но что поделать, брать кого то нужно, вот и берут.


Вы прямо так пишете:
1) будто бы нельзя оба навыка развивать одновременно.
2) будто бы сия должность должна быть автоматически положена любому желающему кодеру.

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

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


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

Только и всего.

Но есть куча людей, у которых эти навыки вполне себе параллельно развивались. Скажем Павел Дуров (ВКонтакте). Ларри Эллисон (Oracle). Или Билл Гейтс (Microsoft).

Перед отправкой Аллен вспомнил, что забыл написать загрузчик, для чтения перфоленты в память. Но, на машинном коде Intel 8080, Аллен смог закончить загрузчик еще до приземления самолета. Позже, они поспорили с Гейтсом, кто мог бы написать более краткий загрузчик. Гейтс выиграл.

ru.wikipedia.org/wiki/Altair_BASIC

Разумеется, спустя годы, мы видим, что эти люди занялись оттачиванием Soft Skill (ибо иначе мы бы о них ничего и не услышали), а не навыка кодирования. Тем не менее, это не мешало им заниматься и разработкой. Скажем, Билл Гейтс программировал понемногу вплоть до 1990-х, когда его фирма была уже довольно большой.

Ну а что уж говорить о программистах, которые удачно продали монетизировали? О программистах-основателях компаний. Тот же Джон Кармак. Причем в отличие от вышеупомянутых Павла Дурова, Ларри Эллисона и Билла Гейтса — Джон Кармак продолжал программировать довольно долго и код его опубликован, можно видеть насколько он хорош. При том Джон Кармак довольно долго лично рулил своей фирмой.

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


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

Но сами навыки ничуть не противоположены.

Вы привели в пример прекрасно показательных людей. Я одного такого тоже знаю — он сейчас СЕО. И это единственный знакомый мне человек с одинаково подвешенным языком и скиллами в разработке ПО, за мои 14 лет карьеры в ИТ-компаниях.
Остальным каждому в свое время пришлось сделать выбор — либо менеджмент, либо углубленная разработка/архитектура.

Вы привели в пример прекрасно показательных людей. Я одного такого тоже знаю — он сейчас СЕО. И это единственный знакомый мне человек с одинаково подвешенным языком и скиллами в разработке ПО, за мои 14 лет карьеры в ИТ-компаниях.

Ничего удивительного.
Все не могут быть CEO. Столько рабочих мест просто нет.

Вот если бы спустя 14 лет большинство бы людей умирало — тут было бы разумным ожидать что выжившие становятся руководителями.

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


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

К сожалению ваши примеры тянут на "Ошибку Выжившего".
Но вернёмся к нашей проблеме, собеседования мидлов:


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

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

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


К сожалению ваш пример тянет на «Ошибку Выжившего».

Разумеется быть хорошим специалистом в разных сферах — удел немногих.

Люди в массе своей — вовсе не стремятся стать универсалами. Узкая специализация — выгоднее в наше время.

Время не резиновое.

Увы! Чтобы прокачивать soft skills, в рабочее время нужно заниматься разнообразной болтовнёй, что обычно плохо совмещается с типичными служебными обязанностями IT-шника.
image
Увы! Чтобы прокачивать soft skills, в рабочее время нужно заниматься разнообразной болтовнёй, что обычно плохо совмещается с типичными служебными обязанностями IT-шника.


Soft Skill прекрасно прокачивается не только на работе, но и в быту.

верно. добавлю, что у некоторых есть хобби — после работы идут не кодить, а, например, в театральный кружок :)

Soft Skill прекрасно прокачивается не только на работе, но и в быту.

Увы! В IT популярны переработки, когда приходишь с работы и спать! Но, все равно за будние дни — не высыпаешься, и потому в выходные — опять спать!

Как?

Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв.

Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв


Ну уж в ИТ-то перерабатывать не является жизненно необходимым.

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

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


Это ваш собственный осознанный и свободный выбор.

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

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

Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.


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

Для того, чтобы качать хард-скиллы, мне понятно, что делать: я просто сажусь и пишу код (например). Когда у меня не получается, я захожу на stackoverflow, на иркоканалы, куда-то ещё, и спрашиваю совета по конкретным задачам. Кроме этого, я читаю известные и хорошо зарекомендовавшие себя книжки и учебники (от условного Саттера по плюсам до какого-нибудь Пирса по типам).


Этот подход вообще не переносится на прокачку софт-скиллов.

Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.


Пет-проджекты пет-проджектам рознь.
Если ваш проджект пилится командой, где у каждого второго как правило своё мнение о будущем проекта;
если вы вошли в состав руководства его (ну или он изначально ваш), если он стал популярен — там есть где и софт-скиллы качать, разруливая мелкие обидки «а почему мой пулл реквест не приняли» или в бурных обсуждения об «issue»

Софт-скиллы окружают нас.

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

Это наш выбор — избегать прокачки. Но не нужно говорить, что в жизни негде их прокачавать.

Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в "обезьяннике". Ну или, не столь экстремально — на грани развода.


Ну или у нас какие-то очень разные понимания слов "(сознательная?) прокачка софт-скиллов"

Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в «обезьяннике». Ну или, не столь экстремально — на грани развода.


Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.

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

А вот с женой — как раз прекрасно прокачивается всю жизнь качаться. Есть даже выражение: «над браком работают всю жизнь».
Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.

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

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

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


Это смотря каких конфликтов.
Если вы умеете решать вообще любые конфликты, то вам впору лекции читать психологам.

Ох нифига это не базовый уровень… Ну то есть он должен идти в базе, когда в период познания собственных границ личности (ЕМНИП между 3 и 5 годом жизни, когда начинается обозванный в советской литературе "праздник непослушания") родители понимают происходящие в ребенке процессы и реагируют на непослушание убеждениями и объяснением, а не ремнем. На практике же в этот период ребенок знакомится с ремнем и истериками родителей вместо осознания границ собственной личности, и в итоге скилл решения конфликтов у него либо отсутствует, либо сублимирован в пассивную агрессию/психические отклонения/депрессию.

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

Кто сказал, что это осознанный? Вот ни разу не думал «чем бы сейчас заняться — код пописать для души или „Как завоевывать друзей и оказывать влияние на людей“ Карнеги перечитать для резюме.


Ну это смотря как трактовать слово „осознанный“.

Ходите куда-то вы вполне себе осознанно.

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

Впрочем, если не употреблять слово „осознанный“, то всё еще проще — прокачка тех или иных скилов осуществляется вообще автоматически. Смотря чем мы занимаемся в данный момент.

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

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


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

Ходите куда-то вы вполне себе осознанно.

Вовсе не факт. Можно идти, а потом пытаться вспомнить "что делал, что видел? Вроде из точки А в точку Б попал, но как — не помню". Находясь в ясном уме и трезвой памяти.


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

Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.

Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.


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

По итогу вы тоже не все перечислили.

В реальности там много чего:

Терпение, выдержку, настойчивость +
Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция
Специалист подобен флюсу: полнота его одностороння.
(Кэп XIX века Козьма Прутков).
Простите, хотел плюсануть, а получилось почему-то наоборот. У меня есть пример человека, который за долгие-долгие годы не развился в техническом плане ни на йоту, до сих пор остался в нулевых, но общительность прокачал настолько, что сам легко манипулирует работодателем выбивая большущую зарплату и возможность сказать: «чет я устал, недельку меня не будет». Прям без шуток, как Купер из евротура

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

"Чёт я устал, недельку меня не будет" — это плохая организация проекта/процесса и превращение проекта в "звёздный".

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

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

Ну вот запланировано у меня 28 дней отпуска в году. Кому плохо, что я могу начать их тратить завтра? Почему это плохой процесс?

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

Брат работает руководятлом среднего звена в разработке в банке в центре DefaultCity.
Из 10 приходящих на собеседования не подходит ни один — не то что не умеют производить впечатление или не справляются с решением головоломок для "олимпиадников" на листочках — все просто не в теме, вообще: 10 из 10 — это какие-то левые люди, не погромизды.


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

Вопрос видимо только в том — на какую зарплату. Если на 30-40 к — то понятно.

Нет, зарплаты там весьма достойные.

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

Это на какой оклад?

В аутсорсе можно легко зарабатывать 3-4к в месяц. При этом проекты есть на любой вкус: биоинформатика, нейроинтерфейсы, HFT, космос, секьюрити всех мастей, геймдэв и банальное формошлёпство. Просто тёплая ламповая разработка, без овертаймов.

На мой скромный взгляд интересно попробовать всё это, тем более офисы есть в радиусе 10 км. В то же время работа с банковским ПО выглядит как довольно таки скучная сфера (даже не поднимая вопрос качества этого ПО). Сфера очень консервативная, winXP — вообще самая современная ос, часто даже видел терминалы на dos + turbo vision.
Кадровая политика — ужас, перспективы сомнительные, технологический стэк — устаревший, ЗП ниже рыночных, исходный код — через расшаренную папку. А в требованиях к кандидатам есть даже полиграф и дресс код.

Что бы начать нанимать достойных кандидатов в банковский сектор, нужно предлагать значительную премию к рыночной ЗП и разрушать стереотипы о нём.
Вот насчёт «офисов в радиусе 10 км»: меня несколько удручает ситуация на рынке IT-труда СПб, где большая часть вакансий программистов находится на севере, востоке и на Ваське.
Плотность IT-контор в центре и особенно на юге города — значительно ниже.
А таскаться на другой конец города по 3-4 часа на дорогу каждый день — так себе перспектива.
Удалёнки — довольно мало, но это и не проблема была бы, если бы допускался режим «посещать офис наездами». Раз в пару недель показаться на планёрке, перетереть что-то, что хотят обсудить живьём, а остальное время — работаешь из дома.
Но таких вакансий — раз-два и обчёлся.
Филолизация? У Фила хороший посыл, но начинает подбешивать, когда другие пытаются подражать…

Надрессируйте уже GPT-3 на постах Фила.

"Я не умел генерировать желтоватый контент — но меня научили"

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

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

если считать кликбейтом введение в заблуждение

А если считать кликбейтом кликбейт — то считаются.


Ну раз не знаете, значит не знаете, но стиль узнаваем абсолютно. Возможно, поклонники?..

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


Да, наверное поклонники, автор меня даже упомянул в тексте. Хотя сам формат "Мнение о чем-то внутри индустрии" всё-таки не я изобрел

Я не спрашиваю не собеседованиях тонкости языка или фреймворка, все вопросы о том как это все работает (life cycle запросов, http, и т.п.) кандидаты только со знаниями синтаксиса не проходят.
Кандидаты со знанием синтаксиса на вопросы о тонкостях языка не ответят. Я вообще, если честно, не понимаю, о какой «системе» идёт речь. Если человек ничего толком не знает, это видно на собеседовании.

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

Система в данном случае — рынок IT, а не абстрактный «гос. аппарат». Государственные компании бывают разные, и обслуживают они различные потребности. О своём месте работы и процессах внутри я ни слова не сказал, откуда у Вас в таком случае выводы?
О своём месте работы и процессах внутри я ни слова не сказал, откуда у Вас в таком случае выводы?

Отсюда, из ваших слов о себе:


Я являюсь обычным .NET разработчиком в рядовой государственной компании, основным способом заработка которой является разработка программного обеспечения. За спиной оконченный с отличием %City%ГТУ где-то за МКАДом, служба в рядах Вооружённых Сил России

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

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

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

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

Что вы, в таком случае, подразумеваете под обучением обманывать систему?
Как разговаривать с HR, что говорить, как себя подавать. Социальная инженерия одним словом. На техническом интервью рассказать о прошлой несуществующей работе, описать всё в красках и ответить на предположительные вопросы от собеседующего. Технические моменты, понятное дело что не глубокие, их заставляют заучить на первых трёх месяцах. На каждого придумывается и прорабатывается легенда, кандидату её объясняют и гоняют по предположительным вопросам, и так остальные несколько месяцев. Примерно поняли идею такой «подготовки»?
А потом забрасывают на парашютах в стан врага?
А если раскрыли? Что делать?
Тоже что и раньше, искать место где прокатит.
Рынок сам порешает, не переживайте.

Государство тут — всего лишь частный случай. Я работал в фаангоподобной компании, которая были столь же неэффективна — потому что нет никакого бизнеса как субъекта, о котором вы пишете, а есть конкретные нанимающие люди. И в крупной компании формируется такая же номенклатура, и менеджерам начиная с некоторого уровня становится плевать на качество и результат, а важным становится лишь поголовье программиста под ними.


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

На конкурентном рынке спрос и предложение стремятся уравновесить друг-друга. «Уравновешиванние» происходит в конкуретной борьбе претендентов на должность. А в конкуренции побеждает не столько тот, кто лучше делает (больше знает, быстрее соображает,...), сколько тот, кто лучше конкурирует. Вот «подкованные» в ИТ «трактористы» и уделывают аутичных «програмистов». И длится этот процесс «уравновешивания» может десятилетиями… а мне что учить вперед: матчасть или «приемы конкуретной борьбы», может все и сразу?

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

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

а другие где-то на middleware на вопросе как получить контекст запроса.

А есть такое понятие в HTTP? Он же типа stateless by design

Это-же вопрос не о самом HTTP протоколе, а о работе с ним на уровне middleware и далее. Речь об HttpContext шла.

В нашем мире на уровне middleware с HTTP работают через HttpRequest/HttpResponse объекты/интерфейсы. И контроллеры с ними же. HttpContext — это лет 10 назад было. Я сейчас и не вспомню а зачем собственно оно нужно было.

Вы цепляетесь к словам, я и не говорил что вчера это спрашивал, а только что-бы смысл передать что соискатели не понимают как это работает. HttpRequest это и есть контекст запроса, контроллер работает в контексте запроса.

"А получает Б параметром" равносильно "А работает в контексте Б"? Для меня контекст как программная сущность — это обычно что-то долгоживущее, живущее заметно дольше одного запроса-ответа

«Люди рубят сук на котором сидят, и ещё больше раздувают этот пузырь, который рано или поздно лопнет» — о, да! :)
Было бы интересно, кстати, послушать от включённых в процесс опытных людей (автора статьи тоже касается) комментарии на тему:

  • Действительно ли этот пузырь лопнет, есть ли предпосылки «лопания»?
  • Что может послужить триггером для этого лопания?
  • Как будет выглядеть процесс «лопания пузыря»?
  • Что будет представлять из себя «лопанье» с точки зрения рынка, т.е. получателей софта?

Здравствуйте, могу рассказать как это происходило у коллеги вначале пандемии (очень крупная и вполне известная компания по разработке софта):
1) да, лопнет за неделю
2) неблагоприятная экономическая обстановка.
3) уволят всех, кроме фуллстек-дядек, которые могут собой заменить всех.
У него из 20 разрабов оставили троих и из 5 девопсов оставили 2.
4) затрудняюсь ответить, вероятно, снижение качества поддержки и удорожание софта.

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

Насчет проблемы описываемой автором из госконторы — к сожалению решение лежит не в плоскости курсов, а в плоскости «зарабатывать 100 тысяч рублей», и связано это с плохой экономической ситуацией в стране — низкие зарплаты и большие цены с инфляцией, отсутствие легальной работы или МРОТ в регионах, поэтому люди в отчаяньи бегут туда, где можно получать неплохие деньги хоть как-то выучившись, особенно с такими заманиловками вроде курсов.
Вот мне интересно, если собрать все претензии к образовательной системе (в школе половина предметов не нужны, в ВУЗе уровень подготовки низкий), то как будет выглядеть образование будущего? Физкультура 10 лет в школе, а потом сразу двухнедельные онлайн курсы по %ПОПУЛЯРНАЯ_ПРОФЕССИЯ%?
К самим курсам, кстати, те же претензии можно предъявить
Физкультура 10 лет в школе, а потом сразу двухнедельные онлайн курсы по %ПОПУЛЯРНАЯ_ПРОФЕССИЯ%?
Немного не так. 10 лет физкультуры а потом 2 года в армии — углеводороды охранять. А потом «крутись как можешь».
А если серьезно — тоже не понимаю риторики «то не нужно, это не нужно». Вспоминается известный диалог из советского сериала, где Холмс тролит Ватсона «ну допустим, Земля вертится вокруг Солнца, но мне то что с этого?»

Это не из сериала. В книге у Конан Дойла этот диалог тоже был.

Это не из сериала. В книге у Конан Дойла этот диалог тоже был.

Но что мне это даёт? ;)
Актуальное мировоззрение позволяет сэкономить кучу времени на том, что ты ПОНИМАЕШЬ, как устроен мир, и не нужно запоминать кучу частной информации (например чем отличается шрифт таймс от шрифта дейли пост). Или дает возможность быстро найти частную информацию.

Да фиг бы с ней с землей… но когда фронтэнд-разработчик байта от бита не отличает...


… да, я такое видел.

И чем это ему мешает формочки на страницу добавлять?

… и решать бизнес-задачи ;)

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

Думаю, это будет проблема бекендера.

Согласен, причем просто потому, что он сможет ее решить :-)

А потом удивляемся, почему по кончине трафика на мобиле половина приложений работать перестаёт — потому что решение требовали на беке вместо фронта, и в итоге вместо ответа 15 сервер отвечает {"response": {"bit0": true, "bit1": true, "bit2": true, "bit3": true, "bit4": false, "bit5": false, "bit6": false, "bit7": false}} :-)

но когда фронтэнд-разработчик байта от бита не отличает


Ох, удивили. Я знал синьора, тимлмда по core power management в одной огроменной американской компании- производителе мобильных процессоров. Так он вольты от ваттов не отличал.
Вот мне интересно, если собрать все претензии к образовательной системе

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

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

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

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

А вы в этом уверены? Я не нашёл гендерного состава студентов поступивших в 2019 г., но пройдитесь по гуманитарным кафедрам, 90% обучающихся девушки — хотя в армию им не идти. Мне кажется это миф, что половина или больше поступает из-за армии, ибо так и так служить.
выкинуть советские программы обучения и подтянуть их уровень хотя бы до европейского

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

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


В технических ВУЗах, где 90% гендерного состава парни- примерно половина, а иногда даже больше (зависит от «престижности» ВУЗа) в нем только из-за армии. Как минимум из-за того что многие хотят отсрочить неизбежное, кто-то хочет через военную кафедру откосить, кто-то через аспирантуру, кто-то идет работать и зарабатывает на то чтобы потом дать на лапу, я перевидал множество всех этих вариантов.

Это что имеете ввиду? Что за советские программы и что за европейские?

Имею в виду советские программы и европейские. Что еще можно сказать кроме того что написано?

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

В посте, как и в моем комментарии вроде как речь идет про разработчиков, да и свою специальность я сказал, причем тут врачи, химики и физики хз… В них никто и не вкатывается по курсам которые обещают 100к, потому что 100к почти никто из этих профессий и не получает…
А вы в этом уверены? Я не нашёл гендерного состава студентов поступивших в 2019 г., но пройдитесь по гуманитарным кафедрам, 90% обучающихся девушки — хотя в армию им не идти. Мне кажется это миф, что половина или больше поступает из-за армии, ибо так и так служить.

Это инфляция диплома.


Если упрощать, то призывная армия ⇒ парни идут в вуз, даже если это не нужно ⇒ диплом становится признаком «не пускает слюни» для парней ⇒ диплом становится таковым признаком для всех ⇒ девушки тоже идут в вуз.


Там, естественно, есть обратные связи, но их трудно рисовать в текстовой форме.

Я бы сказал, не инфляция, а девальвация. Но по сути — да.

Да, вы правы, это более подходящий термин, спасибо.

А почему тогда в США чуть ли не рекордное для т.н. "первого мира" поголовье выпускников, несмотря на то, что за обучение надо платить да и армия контрактная? Тут скорее пропаганда "тёплого офиса" и прочие социокультурные факторы играют.

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

Банкам, выдающим кредиты, поддержание такого мема на плаву, разумеется, выгодно — но это теория заговора.

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

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

Losses on student loans are extremely low, even when students default, in part because these loans cannot be discharged in bankruptcy unless repaying the loan would create an "undue hardship" for the student borrower and his or her dependents. In 2005, the bankruptcy laws were changed so that private educational loans also could not be readily discharged

Это наименее рискованные кредиты, их даже банкротство не отменяет.

О, не знал, интересно, спасибо! Тогда это многое объясняет, да.

В США, как я слыхал, на бытовом уровне есть очень сильный мем, что зарабатывают хорошо только люди с ВО
Не «бытовой мем», а официальная статистика от bureau of labor statistics. Причем, чем выше образование, тем лучше люди зарабатывают.
И пофиг, что хороший работник руками (сантехник, например) может зарабатывать не меньше.


Глядя на лоеров, докторов и дантистов — понимаешь что таки да, ВО — это первая ступенька к личным миллионам.

Конкретно в случае с докторами помогает ещё искусственное ограничение предложения на рынке труда. Ссылка — из этого следует, что не получится получить либо ВО, либо работу. Личные миллионы — они такие.


antonkrechetov А есть ещё вот такая статистика:


college graduates—defined as ages 22 to 27 years old, holding a bachelor’s degree or higher— are more likely to be unemployed and underemployed compared to overall workers.

https://www.newyorkfed.org/research/college-labor-market/index.html

www.newyorkfed.org/research/college-labor-market/index.html
Вы уверены, что правильно понимаете статистику, на которую ссылаетесь?
Во-первых, конкретно по приведенной вами ссылке такого текста нет.
Во-вторых, сравнивать нужно людей одного и того же возраста, а не молодых специалистов со средним по популяции.
В-третьих, если открыть страницу с графиками безработицы (https://www.newyorkfed.org/research/college-labor-market/college-labor-market_unemployment.html), видно, что в среднем уровень безработицы у выпускников колледжей в 1.5-2 раза ниже, чем у людей без образования. Более того, у молодых выпускников колледжей уровень безработицы примерно в 2-2.5 раза ниже, чем у людей без образования того же возраста.

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


Ну и ещё в США куча выпускников во всяких fine arts и gender studies (субъективно, пруфов не будет), на что тоже надо делать скидку.

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


вы про обучение программированию?
там львиная часть — это свежачок, сгенерированный уже спустя годы после прекращения советской власти.

имхо, нужно еще более радикальнее.

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

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

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


А потом приходится пользоваться таким тормознутым говном как фронтэнд gmail.


Дело в том, что ВУЗовские программисты или ПТУшные — это вам не дает никаких гарантий качества.

Вы можете обучаться в ВУЗе, вы можете получать дофига денег — а делать всё такое же тормозное говно.

То о чем вы говорите — это зависит не от квалификации программиста.
А от требований бизнеса к способу решения задачи.

Считает ли бизнес что нужно выделить на задачу достаточно ресурсов времени и рабочий силы высокого уровня или — нужно быстро-дешево.

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

Скажем, приведенный вами пример:
Никаких таких сверхсложных фундаментальных вещей, типа знания высшей математики, от создателя gmail не требуется. Качество gmail никак не связано с образованием разработчиков gmail. Гугль может позволить себе достаточно квалифицированных специалистов, у них у всех (или большей части, как минимум) специализированные высшее образование, а не ПТУ.

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

В Финляндии так и поступают (подозреваю, что не только в Финляндии).

Причем с точки зрения денег, это даже выгоднее.
Если сравнить два варианта:
1) Школа (9 лет) + Училище (3-4 года) = работа + получение диплома ВО без отрыва от производства
2) Школа (9 лет) + Гимназия (3-4 года) + Университет (4-5 лет) = работа

первый вариант объективно выгоднее

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


В итоге их гоняют по. Js, php, python, c, c++, c#, Perl, asm (основы).
А потом они пишут с нуля компилятор Паскаля на си, спп, шарп или питоне. (Лексер, интерпретатор, компилятор), потом пишут оптимизацию в asm и это просто курсовая, не диплом.


Сам помню, как помогал ей с курсовой. А потом помню помогал с курсовой по машинному обучению, делал ей формочки на qt. и opencv с выводом.


Так что у нас есть хорошее обучение программистов. Просто это не во всех вузах могут применить и народ только из двфу с их факультета на втором курсе, вылетает процентов 60-70 или переводятся в другой факультет на ИБ

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

И даже солнечные часы не проканают — солнце ведь будет закрыто облаками и пылью.

В общем, надо, того — тренировать школьников вести отсчёт времени без часов. Хотя бы первые пять–шесть лет обучения. А также готовить пищу на костре, поскольку газа и электричества не будет. И ещё ловить эту пищу в лесу.

Потом уже можно переходить к роскошествам цивилизации — письму ручкой по бумаге и счётам.

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

lex-kravetski.livejournal.com/679124.html
Да так то любые знания кроме фундаментальных к выпуску устареют (они устареют еще во время учебы и даже до поступления), но фундаментальным знаниям нужна практика и право слово, написание компилятора это очень не плохой вариант. Понимание как компилятор строит исполняемый файл кое что в повседневном написании да дает. Особенно когда приходится кодить на пограничных условиях, когда в распред среде сеть нестабильна, каналы узкие и т.д. Инкапсуляция процесса начинает оборачиваться своей нехорошей стороной и надо понимать, что там, «под катом».
ну фиг знает, моя устроилась C# разработчиком и ей эти знания помогают. А опыт работы со всем, помогает ей нормально взаимодействовать с другими разработчиками, которые заняты фронтом или бэком

И я уже молчу про то, что понимания контейнеров и все возможных алгоритмов защищает ее от написания говнокода.
что бы понимать, как это все работает изнутри и при виде утилиты make, ln, clang и gcc не бежать в ужасе, а спокойно собирать кросплатформенный софт на все случае жизни.

Вот возьми любого C# разработчика. Покажи ему сборщик scons, написанный на питоне, для кросплатформенной, крос-языковой сборки и дай ему собрать твой мега-проект на С++, который должен еще и модули на java для андрой, модули на Objective для ios и osx, а так же нативные либы на .net линковать и заставлять весь этот поровоз работать одним нажатием.

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

А я в gamedev почти каждый день людям разжевываю, как собрать тот или иной модуль для той или иной платформы и присабачить его к игре, прописать api и заставить работать, будучи почти не владея ни java, ни objective. Но фундаментальные знания и многолетний опыт в плюсах помогает изнутри понимать, как это все работает. Да даже при желании, можно какой то супер-тяжелую операцию на asm или векторизовать в AVX.
Вот возьми любого C# разработчика.


А если не C#?

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


У меня программирования толком не было, а вот физики и математики было порядком, и я совершенно об этом не жалею, так как поступал на прикладную математику. Смысл идти в вуз на программиста?

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

Да и не в российских та же петрушка

Сейчас учусь в университете Осло на специальности Информатика Архитектура Систем и Программирование. Работодатели на ваш CV даже не посмотрят без правильной корочки. Программированию разработке на специальности не учат от слова совсем есть 2 курса по алгоритмам, 1 курс по дискретке, пару курсов по простейшему синтаксису Java и Python все остальные курсы это либеральная лабурда типа философии, этики в IT, почему так важно соблюдать гендерный баланс в индустрии итд. Никаких курсов по математике кроме дискретной нет. Ни калькулуса, векторного калькулуса линейной алгебры, статистики, дифернциального калькулуса итд. В германских обществах даже если что то бесполезно типа получения корочки по информатике чтобы работать фронтендером, то это делать надо если так принято.
В реалиях твоего универа не было. А моего — было. Не жалею, что закончил ВМК МГУ. Отличная база.

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

В этом и есть проблема. Вы никому не нужны, и все ваши знания вполне может быть крутые — не нужны. Потому что их кроме вас — НИКТО НЕ ПОНИМАЕТ.
Вас там сколько было? 40 в группе? ну пусть 50, половина купленых, четверть случайных, на выходе 10? 15? Вот столько реальных программистов выпускает ваш вуз в год. И вы никому не нужны со своими заоблачными знаниями и не менее заоблачными технологиями, которые вы способны сообразить походя.
А вообще, складывается стойкое ощущение, что здесь вообще никто не учился в университетах. Причём поголовно, конечно же.
Впрочем, я прекрасно понимаю, что универ универу рознь, но не до такой же степени…
Объяснюсь. Все поголовно «влечивают» про какую-то теоретическую часть, но никто не говорит про практическую, а ведь это самое интересное. И похоже что практическая часть как раз таки чрезвычайно сильно отличается. И я сильно подозреваю то, что все высказавшиеся про какое-то там своё образование — вообще не имели или же имели, но очень слабую практическую часть обучения.
Теперь конкретный пример: программисты тгу на первом семестре теоретически проходят ровно то, про что пишут все, однако же практическая часть в итоге например после первого семестра (да да, первого семестра) — это написание собственной версии фара/нортона на ассемблере. Не написал — отчислен. Точка.
Для тех кто совсем в танке — вы можете изучать любую теорию, но что вы реализуете этой теорией? Вот я таки начинаю понимать, что всё это зависит от ацких пердунов, засевших на кафедрах непонять зачем. Они и подкидывают студентам тривиальные задачьки, практические. Однако же существуют места, где на кафедрах сходу подкидывают крайне сложные задачьки, и это и определяет дальнейшую судьбу студента.
Для тех кто совсем в танке с крайне толстой лобовой бронёй — ровно так же отличаются и школы. Пройти учебник алгебры за 9-ый класс сможет любой дебил. А вот решать весь спектр задач связанных с этим теоретическим знанием может далеко не каждый. Школы тем и отличаются. Теория у всех одна, а решаемые задачки подкидываемые учителем — отличаются как небо и земля.
Исходя из этого теперь про студентов на выходе. Ну приходит такой «умник» в кооператив рога-и-капыта, ему суют какой-то жаваскрипт вгавно тупой и тормозной, грят давай делай на нём всё. Умник просто в шоке. Зачем это гавно? Для каждых задач у умника куча всяких сложных задачек были, и умник прекрасно разбирается в том, что всё фигачить на скриптах — это полнейшая бредятина. Ему говорят — ставь сервак, крути скрипты. Умник в шоке… Ну потому что умник сходу оценил кол-во баз и транзакций, а на это всё хватит самописного кода на джаве в 300 строк и баз в текстовых файлах завёрнутых в рар. Ну потому что умник решал такие задачки, это не то что примитивщина — это более чем примитивщина. Но его тащщут зачем то в монструозный мскюель в 20млн. строк кода, который обрабатывает 50 запросов в день на трёх базах. Умник никогда на такое не подпишется в принципе. Это всё равно что собрать завод на потенциальный выпуск 30к деталей в день, но деталей нужно всего 30. Это же бредятина. По определению. Умник это понимает. Но проблема в том, что это понимание никому не нужно.
Посчитаем. Прогеров с ФУПМ МФТИ вышло 10-15. Реальных прогеров. Специалистов теории информации. Ну пусть в каждом пятом универе подбрасывают реально крутые задачьки студентам, на выходе с них есть толк. Сколько у нас универов с ф.инф.? Ну пусть 50. Итого прогеров выходит на всю страну где то 500-700. Слушайте, да в мире сказочных дебилов никчомных коих сотни тыщ уже — эти 500 реальных программистов просто потеряются и всё. Нынешний мир так называемых «прогеров» — это сказочное зазеркалье с грибами, норами и прочими тяжёлыми веществами. 500 реальных программистов с годных университетов в этом мире не нужны.
Вас там сколько было? 40 в группе? ну пусть 50, половина купленых, четверть случайных, на выходе 10? 15?

В группе было человек 12. На всём курсе под сотню. Купленных было ноль, случайных двое (примерно столько отсеялось к третьему курсу). Но это так, из любви к искусству.


Таких групп на факультете было восемь.


Вот столько реальных программистов выпускает ваш вуз в год.

Вуз выпускает программистов ещё меньше. Вуз таки выпускает прикладных математиков.

А кто купит работу прикладных математиков уровня МФТИ? Давайте помечтаем, мы собрали университетскую компанию, выбили гранты, выкинули компы, накупили досок с мелом, надо разработать что то фундаментальное, хотя и «прикладное», судя по вывеске.
Кто будет заказчиком и под какого масштаба проекты?
Разные физические расчёты авиация, космонавтика, металлургия, химический синтез, и так далее.
И даже автоматическая биржевая торговля habr.com/ru/company/iticapital/blog/267403
Разные физические расчёты авиация, космонавтика, металлургия, химический синтез, и так далее.


Это можно сделать и с отдельной наукой.

Ученые, занимающиеся авиацией — дают логику работы программисту из не МФТИ и он эту логику прекрасно реализует.

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

Вполне нормально разделять задачу согласно своей узкой специализации.

И даже автоматическая биржевая торговля habr.com/ru/company/iticapital/blog/267403


Там как раз меньше науки и больше техники.

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

Ученые, занимающиеся авиацией — дают логику работы программисту из не МФТИ и он эту логику прекрасно реализует.

Если всё было так легко и просто то, учёным не приходилось бы самостоятельно использовать MathLab и MathCad.
image
Если всё было так легко и просто то, учёным не приходилось бы самостоятельно использовать MathLab и MathCad.


Приведенный вами пример это вовсе не «программисты, разбирающиеся в космонавтике и сопромате», а совсем напротив «физики и химики и пр., обладающие базовыми навыками программирования»

Ученые работают со сложными расчетами еще со времен Ньютона и Галилея. А то что считают ученые последние лет 300 — так я вообще удивляюсь как они такие вещи вручную до компьютеров рассчитывали.

То, что сегодня для этого есть удобные инструменты — это только плюс.

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

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

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

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

Там из реально ценного только эта сам алгоритм вычисления, грубо говоря «формула».

Повторить это на нормальном техническом уровне для профессионального программиста совсем не сложно.

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

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

Ученый, способный в программном коде зашить «формулу» и программист, способный создать ПО, использующем эту формулу — это сильно разные квалификации.

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

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

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

Чем же, по-вашему, Фортран уступает в части организации кода, например, C и C++? Сам вижу только отсутствие шаблонов как в С++, но за то в Фортране есть модули.


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

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


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

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


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

Это все действительно так. Но идея о том, что дайте системным программистам "формулы", и они сделают научное прикладное ПО, может родиться только от неведения.

Ученые, занимающиеся авиацией — дают логику работы программисту из не МФТИ и он эту логику прекрасно реализует.

О чём и речь: МФТИ не выпускает и не должен выпускать программистов.

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

Ну, в принципе, любая ресёрч-лаба в любой компании или при любом институте. Проблема в том, что мало компаний имеют ресёрч-лабы или хотя бы нуждаются в них.


Если говорить о личном опыте и мироощущении — я бы мог продолжать заниматься, например, машинным обучением, особенно не сейчас, а лет 10-15 назад (иначе я бы зарывал в землю инжиниринговую и C++-ную часть своих навыков, да и в современном машинном обучении строгая математика нужна сильно меньше, и именно поэтому я году в 2018-м или 2019-м решил перестать этим заниматься). Можно было бы, действительно, идти заниматься физическими расчётами в каком-нибудь Сухом Boeing или Lockheed-Martin.


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

Можно было бы, действительно, идти заниматься физическими расчётами в каком-нибудь Boeing или Lockheed-Martin.

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


Другое дело — разработка того самого спец. ПО. Там начинает открываться простор для использования методов прикладной математики и программирования для HPC. Вспомнилось это.

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


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

Чем выше требования к уровню квалификации, тем меньше соответствующих рабочих мест, и это нормально. Но спрос на такие места тоже меньше, и ценность специалистов, способных занять такие места, выше.

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


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

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

1) нежелание в принципе работать "обычными"
2) нежелание временных потерь при переходе с, условно, senior Irdis на junior C++

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

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

Неправильно поняли. Просто есть технологии, стэки, с которыми не хочется работать в принципе. Вот для меня, например, такая -Windows. Когда стучатся рекрутёры, то это чуть ли не первый вопрос к ним — "я с Windows буду сталкиваться?". С процедурным программированием не хочу работать, легаси поддерживать и т. п. 40 часов в неделю получать негатив от работы за какие-нибудь 20-30% к зарплате? Спасибо, не надо.

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


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

А почему вы решили, что все? Кто-то наверняка мигрирует, причём в обе стороны: женился — пошёл, туда где больше платят, развёлся — туда, где больше нравится :)

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

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

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


Более того, работу программистом C++ найти очень легко. Поступить в аспиранутру чуть сложнее. Попасть в одну из тех 5-10 компаний ещё сложнее. И вот почему-то большинство выпускников вузов и аспирантуры, которых я знаю и которые занимались какими-то формальными вещами, идёт потом работать программистами (на C++, или питоне, или ещё чем), а не специалистами по этим формальным вещам — спроса на них столько нет.

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


Заработок в академической среде в меньшей степени определяется стипендией/зарплатой — того, что указывается в объявлениях об открытых позициях. У деятельного научного работника доход от грантов и договоров с компаниями многократно их превосходит. Но да — этот путь долгий.


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


Мне интересно для понимания: условия в этих 5-10 компаниях хуже, чем у программистов C++ широкого профиля, или же там обязательны ученая степень, бэкграунд, или еще что-то?

Но думаю, что преодоление всех этих трудностей вполне можно рассматривать как инвестицию в себя.

Конечно, с этим я не спорю. Но мой исходный тезис был немного о другом.


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

Врачи тут получают очень много просто :) А вот филологи и механики вроде тоже пытаются перетекать. В результате — очень неожиданные для меня требования «a minimum of a bachelor degree in CS or a related field» даже для какого-нибудь фронтенда.


У меня есть знакомый товарищ, который, например, аспирантом получал 24 тыщи долларов в год, а потом у него был выбор ­— либо постдоком на 40к, либо программистом писать опердни за 200-250к (точную его зарплату не знаю). Выбор, думаю, понятен.


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

Для договоров с компаниями нужно, чтобы тема была достаточно прикладной. А гранты — это сложная тема. Ориентация на гранты заставляет максимизировать число опубликованных статей и браться не за действительно новые задачи (пусть и с относительно низким шансом на успех), а за что-то, что гарантированно можно будет писнуть в отчёт. Собственно, я и сам одно время гранты РФФИ получал, и было довольно грустно придумывать заявку на основе того, что уже почти сделано, чтобы к концу отчётного периода точно были одни сплошные положительные результаты.


Мне интересно для понимания: условия в этих 5-10 компаниях хуже, чем у программистов C++ широкого профиля, или же там обязательны ученая степень, бэкграунд, или еще что-то?

Там условия хуже (по части зарплаты, по крайней мере), и обязательна учёная степень. В Microsoft Research на вас даже не посмотрят без PhD, в Galois каком-нибудь тоже.


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

Смысл есть идти на инженера-программиста.

Не слышал особо про эту специальность. Можете рассказать подробнее?

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

Как анализ бесконечно малых? Не нужен среднему программисту. Да и несреднему, тащем, тоже.


дискретка

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


мат логика

На каком уровне? Законы де Моргана и тому подобная булева алгебра изучается за день самостоятельно, очень мало кому нужные КНФ/ДНФ и тому подобные вещи — ну за неделю. Хардкорный матлог изучается годами, чистыми математиками и программистам не нужен.


алгоритмы и структуры данных

Полгода с Корменом.


реляционная алгебра

У нас на это ушло пара лекций на курсе по БД.


разные парадигмы программирования

Очень интересно, что в рамках вузовского курса можно рассказать про условное ФП.


тестирование

Можете рассказать про этот курс?


расчет надежности

Прикладной матстат.

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

Этого у нас не было, даже намёков (впрочем, мы были прикладными математиками, так что неудивительно).


Спасибо, что поделились, любопытно.

Мы, получается, были прикладными программистами. Помимо того, что я написал было еще проектирование ОС, сетевое программирование, многопоточное программирование, системное программирование, компьютерная графика и т.д.
Если вдруг интересен перечень того, что изучали то смотрите тут начиная с 13ой страници.
А как же ЧМО?

А что это такое?


Мне только «численные методы оптимизации» приходит в голову, но это вряд ли имеет отношение.

Да это именно «численные методы оптимизации». Вполне себе дисциплина для «среднего разработчика» в отличии от ТФКП например.

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

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


Конечно, это всё можно и самому учить, но полезен сам список предметов.

Не нужен среднему программисту. Да и несреднему, тащем, тоже.

А до сеньора вырасти программист никогда не должен?
Должен всю карьеру оставаться «вечным подмастерье»-формошлёпом?
image

PS а работодателю при выборе сеньора как быть?

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


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


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

Софт численного моделирования и физические движки в геймдеве.
Софт численного моделирования

Вычматы. Матана там нужно очень мало.


физические движки в геймдеве.

Матричный анализ. Даже не полноценный линал — вам не нужно знать про rank-nullity theorem, не нужно знать про доказательства свойств какого-нибудь SVD-разложения, и так далее.


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

Вычматы

Численные методы не используют матаппарат матана?
Матана там нужно очень мало.

Бесконечно мало?
И считаете вы вполне успешно без изучения аксиоматики Пеано.

Аксиоматика Пеано и 1+1 = 11 2 являются частями арифметики. Достаточно использовать что либо одно что бы утверждать что я использую арифметику.
По вашему же получается что что бы утверждать что в работе используется матанализ нужно как минимум публиковаться по теме теории струн.
Численные методы не используют матаппарат матана?

Если вкратце, то нет. Максимум — для доказательств свойств тех или иных методов, чтобы показать, например, что метод аппроксимирует «идеальный» матанный объект.


Бесконечно мало?

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


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

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


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


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

Нет, мой тезис немного отличается.

Если вкратце, то нет. Максимум — для доказательств свойств тех или иных методов, чтобы показать, например, что метод аппроксимирует «идеальный» матанный объект.

Хорошо, как мне понять когда лучше использовать метод Рунге-Куты а когда Рунге-Куты-Нюстрёма(первая попавшаяся в википедии модификация) или то почему тот или иной метод работает, если я знаю матан на школьном уровне?

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

Так никто вроде не утверждал подобное, пролистал вверх до коммента преткновения, там наоборот вами утверждалось что «матан не нужен среднему программисту/синьору» а не "${имя теоремы из матанализа} вместе с доказательствами всяких ее и