Pull to refresh

Comments 412

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

Сначала ты работаешь на опыт, потом опыт работает на тебя. (Не отменяет факта постоянной учебы конечно)

UFO landed and left these words here

Галера с C++?

Там стек PHP, JS, Java, чаще всего.

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

Когда-то в качестве галер для С++ был геймдев. Но щас он практически сдулся, либо переехав на Unity, либо в Грузию/Армению/Казахстан/Кыргыстан.

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

Я на этот вопрос уже 20 лет не нахожу ответа.

Почему вдруг человек, желающий наняться C++ Juniorом должен себя об этом спрашивать?

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

Работодатель нанимает работника, а не партнёра по бизнесу. Дело работодателя - понять, что можно сделать такое, чтобы монетизировать и получить прибыль. Если под "сделать" он понимает разработку программного продукта, то в качестве работника он нанимает разработчика. Дело разработчика - разработать програмный продукт под требования работодателя. Думы о том, сможет ли работодатель монетизировать, получит ли прибыль и т. п. тут не исключены, но глубоко вторичны, тем более если ты C++ Junior - ему нужно думать, есть ли у него требуемые компетенции, чтобы справиться с конкретно ему назначенным фронтом работ.

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

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

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

Я не могу знать, разумеется, какие нюансы вкладывал в свой коммент топикстартер, но на мой взгляд оно читается скорее в смысле, что должен за бизнес шарить и за общее дело радеть. Может, оно бы и невредно, но вовсе не обязательно для наёмного C++ Junior-а. Мне приходилось писать такое ПО, что о самом существовании подобной отрасли софтописания я и не подозревал до момента постановки задачи (не потому, что там аrхисложно и мегагениально - просто не сталкивался ранее). И чо, и ничо, писал, что-то работодатель даже монетизировал.

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

Прямо все таки паразиты?

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

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

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

Есть такое дело, но важно понимать, что делаешь. Легко намерить совсем не то, что нужно. А если управлять каждым шагом, то это просто какой-то аватар, а не джун.

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

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

Это джуну давать?

Аха. Сначала работодателю без опыта не нужны, а потом с опытом не хватает

Классическая "трагедия общих ресурсов", конкретного работодателя тут не в чем обвинить.

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

А если джуниор ответит на поставленный вопрос монетизации, то он перейдет в разряд работодателя

К сожалению, портфолио в github не поможет тебе пройти этап собеседования с HR, или просто попасть на него. HR смотрят, в основном, на стаж.

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


Варианты: 1) Ищешь работу разработчиком c++ за еду, такие вакансии можно найти на trudvsem. 2) Врешь в резюме, что работал где-то ранее. 3) Учишь другой язык: JavaScript, PHP, Java, Python; а потом, если захочешь, можешь перейти обратно на плюсы.

UFO landed and left these words here

Вариант 4, искать работу на фрилансе и набирать так опыта

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

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

У фрилансера, как правило, нет опыта командной работы. Это надо прям серьезный проект затащить на фрилансе, чтоб на него кто то посмотрел.

интересно, а если вот прям заменить С++ на JavaScript, PHP, Java, Python - сильно что-то изменится?

Появится возможность пойти на галеры

3 пунк сомнительный. На других ЯП ситуация схожая. 0.1% вакансий без опыта, 90% вакансий 3-6 лет

Выбери другой язык, например, Golang. Когда я смотрю мок собесы на Голанг, то... мне бы такие проблемы и зарплату, а на с++ куча дедов, которые демпингуют рынок, не иди в с++.

Кстати, а реально почему c++? Не самый требуемый язык на текущий момент.

Инерция из 90-х, скорее всего. Тогда Ъ-программист это был обязательно С++, пишущий десктопное под Windows

ИМХО, на плюсах сейчас пишут очень специфичные вещи, там где очень важна оптимизация. Это дорого и долго, не все готовы платить.

Ну да, это как мой нежно любимый Oracle. Чисто теоретичеcки людям, которые делают, то что умею я платят 500+, потому что хрен найдешь готового специалиста. А практически, хрен найдёшь работодателя, потому что вакансий ещё меньше, чем готовых спецов.

Тогда лучше питон. Может с Go можно найти зарплаты повыше, но зато у питона применение - почти везде.
А Go потом можно выучить как ещё один язык. Там основы простые, но некоторые концепции проще усваивать, уже имея опыт программирования.

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

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

Интересно за счёт чего он быстрый? За счёт того, что некоторые функции хорошо написаны на си/с++? 😄

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

Не надо в Go. Вакансий мало, конкуренция большая. Компании ищут в основном опытных.

Рекомендую Python + ML.

А вот кстати, питон не люблю, но очень хочу в ML, и вот с чего лучше начать? В целом не тупой и питон писать/читать могу, просто не нравится)

А чем именно не нравится? Неужто отступами?

Неформальностью. Великолепный язык для удобного написания скриптов (а ML это про разработку скриптов большую часть времени), но как язык для разработки сервисов и ПО - how about no. Куча всякой магии на уровне соглашений. Динамическая типизация. Аннотации типов это какой-то анекдот - что люди только не придумают, лишь бы не писать на статически типизированных языках. Многопоточка замудрёная - threading, multiprocessing, asyncio, concurrent. Ну и скорость, да, как же не упрекнуть интерпретируемый язык в скорости, когда до этого ты обмазывался по полной C-подобными языками и иже с ними.
После прочтения книги Лусиано Рамальо "Python к вершинам мастерства" я пришёл к выводу, что язык весьма сложен, поскольку для того, что бы всё это скриптовое удобство и соглашения работали, нужно много чего соблюсти, и что писать на нём профессионально я, пожалуй, не буду.

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

А работу-то с ним как искать? Код надо не только писать, его будет ещё кто-то читать.

Я так интересовался Julia для ML. И даже делал пет проект ML на C#. Мало смысла - для себя на чём хочешь пиши, а если хочешь зарабатывать на жизнь, то только Python, потому что все используют Python и на собесах будут спрашивать Python. А если вы заходите в ML со стороны разработки, то вас неприятно удивит уровень владения Python у ваших коллег, которые вкладывали свободное время во всякий там матан, а на Python пишут код постольку-поскольку

Меня именно отступами и синтаксисом, с остальным жить можно

Просто интересно, а в других языках вы без отступов пишете?

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

Конечно с отступами, но никто не мешает и в одну строку, не будет ошибки выполнения если вдруг будет 2 4 или три табуляции.

Неужто отступами?

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

Написание больше тысячи строчек без помощи IDE - адское занятие на любом языке.

программирование на Пайтоне без помощи IDE

Простите, но зачем?

Например могут попросить во время собеседования.

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

После того как я наткнулся на проект с 7 пробелами на одиночный отступ я понял что люди бывают очень специфичными вкусами...

Я начинал в своё время вот с этой книжки: https://www.statlearning.com/. Она, кстати, бесплатно доступна к скачиванию и в ней нет питона (но в итоге вы всё равно будете писать на нём, рынок труда с R крохотный и ограничен в основном академией).

Ещё мне очень помогло знание основ эконометрики (конечно, бОльшая часть эконометрических подходов в ML никому не интересна, но понимание проблем типа мультиколлинеарности и гетероскедастичности -- это не только полезно, но и часто возникает на собесах). Мы в институте изучали её по этому учебнику: https://global.oup.com/uk/orc/busecon/economics/dougherty5e/student/studyguide/. Он достаточно поверхностный и отталкивается от довольно слабой матподготовки у студента, есть куда более солидные вещи типа Магнус-Катышев-Пересецкий, но как по мне -- в ML вполне достаточно. Наконец, иметь представление о математической статистике хотя бы на уровне понимания того, что такое статистическое распределение или условная вероятность -- это неизбежно, так что если этого нет, то выбирайте любой учебник для первокурсников и вперёд.

Если говорить о технологиях, то pandas и numpy будут вашим постоянными (буквально) спутниками, курсов по ним тоже тьмы и тьмы, открывайте любой типа Udemy. SQL нужен хотя бы базовый, тем более, что часто фигурирует на собесах.

Собеседования это в основном вопросы про базовые понятия из эконометрики, операции в Pandas, SQL, иногда pytorch + общепитонячьи истории типа алгоритмов. Прямо математику-математику (собственные значения матриц посчитать и взять тройной интеграл) видел один из где-то 30 собесов, на которых я был за свою карьеру.

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

import pandas as pd

import numpy as np

И ты овладел базой)) Шутка, конечно, но... Тут ниже уже, в принципе, написали: повторить (или выучить с нуля, по обстоятельствам) тервер и матстатистику (не загоняться, для начала базовых вещей достаточно) + минимум питона (на уровне работы с библиотеками, списками и т.п.) Конкретно могу порекомендовать поискать на разных обучающих сайтах (ссылки не даю, чтобы не посчитали за рекламу) и в ютубе Анатолия Карпова или Глеба Михайлова, очень внятно и доступно излагают. Советую глянуть курс Andrew Ng, не знаю, доступна ли сейчас курсера, он очень доступно рассказывает базу ML, все эти функции потерь, градиентный спуск и т.п. Ну и с самого начала рекомендую использовать Jupyter Notebook, стандарт де-факто для прототипирования, экспериментов и т.п.

Джентльменский набор ML-DS: pandas, numpy, sklearn + какой-нибудь фреймворк для визуализации, скорее всего mathplotlib. К тому моменту как освоишься во всем этом пузырь ML уже сдуется будешь ориентироваться достаточно, чтобы двигаться дальше самостоятельно.

В ML, кстати, C++ нужен бывает

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

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

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

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

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

Деды как раз за еду работать не будут. Конечно же в ситуации с наймом виноваты те, кто пришёл в индустрию 15-20 лет назад, а не создатели курсов и вкатуны.

Именно деды работают за еду, а джуны в Го получают по 300к. Вообще с++ загибается, раз такая большая давка на место, какой нет на Го. Еще, с каждым новым обновлением с++ скатывается, один только с++20 чего стоит, куча полезных анонсов: модули, концепты, fmt, а все используют только корутины, которые - ассинхронщина и вообще хрен отладишь в сравнению с элегантными Горутинами и Го-каналами.

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

Я смотрю выборку зп на getmatch. На с++ медиана в 100-200к, основная масса программистов на с++ - это не какие-то джуны с++ а те кто могут работать уже 10 лет, но не менять место работы и не лезть в архитектуру. А джуны на Го есть знакомые, джуны они только на деле, но я б назвал их синьерами по прохождению собесов, потому что на синьерских собесах всё слишком легко. А медиана в Го 200к-300к и где-то в неё попадают обычные джуны с опытом до 3-х лет, вошедшие на пике популярности языка, и кто-то из них берет 300к с собеса. Когда мой знакомый взял 350к, с опытом работы в ИТ меньше 1 года.

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

На Гошке вакансий для новичков нет, только с опытом. Рисовать опыт и говнопетпроекты - такое себе.

Просто сравните количество вакансий на C++ и на Golang. Все вопросы должны отпасть.

В опенсорс контрибьють. В issues проектов есть таски.

18 лет это средняя школа? Получи сначала высшее а потом уже Цельсия в коммерцию

У меня конечно есть диплом о высшем, но всегда задумывался какой в нем смысл? Диплом инженерный, но не IT-шный. Работадатели, конечно, спрашивают про его наличие (изредко HR-ы и в 100% случаев отдел кадров), но все ещё не понимаю зачем, ведь на техсобесах всем пофиг на твой диплом.

Это много где разбирали тут. Определённые обоснования есть - возьмите тот же матан.

Взял матан, потратил 1.5 года на него в универе, благо параллельно программировал. Сам матан как таковой в моей работе за 10+ лет не пригодился, думаю, шансов что пригодится далее - ещё меньше.

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

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

Банально O(N) нотацию проще понять, если до этого имел дело с пределами последовательностей.

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

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

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

что обычному программисту достаточно один посмотреть на графики всех этих n, log n, n^2 и т.д., чтобы понять всё необходимое без рядов, последовательностей и пределов.

Вы что-то не то подразумеваете под словом «понять». Может быть вы имели ввиду «зазубрить»? Типа «таблица объёмов красных мячей в зависимости от радиуса»?

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

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

UFO landed and left these words here

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

Какое экзотическое определение! Я, кстати, совершенно не уверен, что @ZirakZigilименно это имел ввиду.

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

Так что можно не учить все эти O(xx), а заниматься простыми гуи программами, обрабатывающими крайне малые объёмы данных. Или картошку копать. И в том, и в другом случае «понимание» в вашем смысле, будет более чем достаточное — вы не будете неэффективно применять эти понятия для ваших задач.

Без базы в виде нормального матана и теорвера это излагается у того же Кормена крайне сложно и путано

For all practical purposes, O((n1)^2)/O((n2)^2), где n1 = 200, а n2 = 100 скажет мне достаточно о том как увеличивается время/память с увеличением n, аналогично для остальных популярных О. quick-bench.com нарисует графики без регистрации и смс. Останется учесть погрешность, вносимую особенностями работы реального железа и ОС, и можно радоваться жизни.

Мне кажется, вы очень сильно усложняете довольно доступные вещи.

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

UFO landed and left these words here

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

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

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

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

Как можно водить машину, не зная тонкости крекинг-процесса???

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

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

Я обидел чем-то домохозяек? ))) Пропорции, сложение, вычитание это не матан? Понятно, что не высший матан, однако я просто привел банальный пример почему матан нужно знать. Кстати, не найду конечно, но возможно Вам попадались ролики как кассир, что-то из рода 1000 - 500 = 3000, или как ценный специалист на стройке 2 + 2 = 7.

То, что вы описываете это начальная школа, а не матан.

Матан -- это сокращение от "математический анализ". Он а) не бывает высшим и низшим и б) не изобретает арифметику.

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

Из того, что нужно прогерам / аналитикам / МЛ-щикам:
- Мат.статистика (и теор-вер)
- теория графов
- линейная алгебра.
4. мат.анализ

Собственно по этой причине расшифровывать разговоное "матан" как "математический анализ" категорически неправильно.

WASD1 описал мою ситуацию. У нас мат.анализ был в составе вышки. Видимо в данной ветке выше все и подразумевали именно мат.анализ. Тогда я с домохозяйкой не прав от слова совсем.

мне хотелось бы понять, как знание химии и матана помогает домохозяйке? В чём именно? Пока это не очевидно.

И да "матан" - это не простейшая арифметика, а "знание химии" - это не "налить масла в сковороду и кинуть туда котлеты".

какой в нем смысл?

Кругозор. Вы знаете куда копать и что искать.

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

Вот вообще нет. Вышка ни как в этом не помогает от слова совсем.

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

В вышке не учат искать решения, не учат даже тому, где их искать. Объективно - вышка в it это третья нога.

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

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

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

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

У вас противоречие на противоречии.

Ну, мне жаль. У Вас явный частный вырожденный случай. У меня профильная вышка IT есть, мне пригодилось едва ли не всё, что объясняли: от матана, теории массового обслуживания и ТАУ и до представлений групп и yacc+bison.

UFO landed and left these words here

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

UFO landed and left these words here

там теорию вероятностей в программировании базой считали

Вы никогда не работали в кровавом ынтерпрайзе с сервисами?

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

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

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

UFO landed and left these words here

запустить бенчмарк два-три раза и сравнить результаты

И самостоятельно понять, что такое дисперсия, нормальное распределение и т.д. ?

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

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

UFO landed and left these words here

А это школьный уровень, не вузовский.

?????

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

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

Конкретно, надо было выделить признаки запросов, которые стали обрабатываться сильно дольше. Это всё — дремучее legacy, поэтому никто никаких гистограмм не строил, и ничего кроме того, какое среднее время ответа, не знал. То есть, изначально задача стояла «почему всё стало тормозить?».

UFO landed and left these words here

глубже, чем «ну дисперсия эт насколько широко точки раскиданы, чем меньше

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

необходимо выбрать лучший алгоритм из данных

По среднему или 99ому перцентилю? Как минимум оптимизации для типичного и corner case часто нужны разные.

А вы — не гугл, и тем более не перф-команда в гугле.

Перф команды в других корпорациях не котируются ? )

UFO landed and left these words here

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

А если надо разработать инструмент, измеряющий производительность и выдающий разумные данные?

в большинстве случаев разница между средним и corner case даже не важна.

Может у меня искажённая картина мира, но оно выползает постоянно в самых разных случаях - от просадки FPS на каких то сценах в играх до задержек запросов к БД.

Дорого их содержать

Тем не менее содержат ) Причём не только IT корпорации типа гугла - скажем, общался с performance инженерами из Shell, вполне грамотные люди.

UFO landed and left these words here

Перф-команда в средней компании, нанимающей среднего программиста

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

UFO landed and left these words here

Ресерч-позиций на всех не хватит.

Сейчас скорее кандидатов не хватает.

Да и чтобы что?

Чтобы заниматься интересными задачами и двигать индустрию вперёд, а не грести на галерах. Хотя действительно у всех свои приоритеты.

UFO landed and left these words here

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

Да хотя бы в Microsoft Research

UFO landed and left these words here

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

и у них ноль вакансий по PLT.

У них в Праге, например, команда которая компилятор F# и всякое с ним связанное разрабатывает.

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

UFO landed and left these words here

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

В JS, которая улица Тёти Жени.

UFO landed and left these words here
UFO landed and left these words here

Плюс, конкретно это — очень прикладная тема, ресерча там мало.

Исследования не нужны умирающему миру. В науке денег нет.

UFO landed and left these words here

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

Аааа. Вы, типа, практику в школе не проходили в НИИ.

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

UFO landed and left these words here

Из вашего списка речь о «самостоятельно делать», конечно же.

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

Либо скука

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

UFO landed and left these words here

Просто требуют уметь писать на плюсах (и питоне).

и

Так эту задачу и зубры из clang не осилили.

Вы не видите тут некоторой связи?

UFO landed and left these words here

Проясните, пожалуйста.

Эти ваши зубры шланга и являются "суровыми С++ практиками без формального ВО в CS". Неудивительно, что они даже требования для IWYU написать не удосужились. Задачу не поставили.

UFO landed and left these words here

Смогли написать компилятор, но не смогли iwyu?

Задача написания компилятора поставлена (сделайте копию gcc), а задача построения iwyu - нет. (реальный шланговский include cleaner называется по-другому, не IWYU).

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

Это балакавриат - ремесленники. Видимо, и в Киеве уровень образования упал.

Вы уверены, что проблема именно в этом, а не в том, что задача неразрешима без тонны хардкодинга?

"Какая школа, бабушка?" Какая задача? Она же не поставлена - вы пропустили весь пафос, чуваки решают 11 лет несформулированную задачу. Вас-то, надеюсь, учили так не поступать?

UFO landed and left these words here

Исследования не нужны умирающему миру

Странно, гляжу вокруг - умирающего мира не вижу. Смотрю в циферки статистики - умирающего мира не вижу. Мы точно в одном мире находимся?

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

UFO landed and left these words here

за разработку ghc в well-typed на синиор-уровне

А что вас там такого интересует, кроме GHC? Ну при том, что эта их разработка носит отчасти деструктивный характер.

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

Вот и берём тех же Well-Typed или разработчиков Clean. Что те, что другие пацаны абсолютно кладут на вопрос удобства bootstrap. Я надеюсь, не надо объяснять, зачем это нужно для популяризации языка?

А чтобы этот bootstrap привести в состояние аля OCaml, надо заниматься совершенно унылой, беспросветной деятельностью, и быть готовым к тому, что их коллега всё поломает через год-другой. И такой работы там будет минимум 2/3 (не всем же backpack пилить).

UFO landed and left these words here

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

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

Нельзя жить в обществе, и быть свободным от общества.

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

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

UFO landed and left these words here

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

Да в любой даже средней компании полно сложных интересных задач, на моем опыте не FAANG, а например приходилось разрабатывать ядро СУБД, или задачи когда приходилось делать из стенделон базы  делать репликацию не имея доступа к исходному СУБД,   писались драйвер фильтры (Windows/Linux) перехватывались файловые операции отвозились на реплики, которые могли быть где угодно включая облака, тут просто куча задача сетевых, перфомансных, секьюрных.

UFO landed and left these words here

Что именно?

Я на четвёртом курсе по работе (не в вузе) делал что-то вроде ядра СУБД для geospatial-запросов — вузовских знаний там потребовалось около нуля, про kd-деревья я знал откуда-то извне вуза по чтению статей, и вуз снова скорее мешал, чем помогал (потому что эти статьи я читал в свободное время).

Да в целом все что нужно для СУБД сторинг, B+деревья, транзакции, ACID  и пр.

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

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

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

UFO landed and left these words here

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

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

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

Да тут все “стандартное” получение данных с АЦП, различная фильтрация, обратное преобразование через ЦАП, в общем то что тут работа с матрицами, преобразование Фурье, ДПФ, БПФ, всякие цифровые фильтры БИХ, КИХ и пр. С учетом ограниченных тогда мощностей, еще пригодилась теория чисел, для реализации алгоритмов, ну опять же не из головы выдумывали, а пользовались материалам (у меня даже до сих пор  есть бумажные книги, Блейхут Быстрые алгоритмы цифровой обработки сигналов и Применение теории чисел в цифровой обработке сигналов Макклеллана)  и вот  тут все таки вузовская математика как минимум желательна, что бы понимать материал и основные алгебраические структуры, все эти группы кольца, поля, векторные пространства и пр, то есть базовые кирпичики на основе которых реализуются быстрые алгоритмы.

UFO landed and left these words here

Точно или оценочно?

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

Зависит от алгоритма, если использовался кодер Хаффмана или арифметический (или любой другой энтропийный) то рассчитывалось точно до последнего бита, если LZ и им подобные то точный расчет сильно влиял на перфоманс и тут опять же это к  вопросу архитектуры B+ дерева выбран был другой подход, закладывали какую то степень сжатия условные 2-3 и при сохранении страницы если получилось больше, то страница просто расцеплялась, и при этом работала эвристика которая оценивала энтропию данных и меняла начальный коэффициент сжатия цель была уменьшить число промахов и оптимально сжимать данные.

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

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

В стартапе может быть и поинтереснее, чем в FAANG, тот же гугл когда то в гараже начинал - но, опять же, учёба в Стэнфорде основателям явно помогла.

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

Вам, простите qsort уже приводили?

UFO landed and left these words here

Вам надо понимать:
а) как данные в запросе влияют на производительность (*).
б) как внутренний (и ненаблюдаемый) стейт системы влияет на производительность на тех же данных.

речь очевидно, о [пункт б]

Сводить задачу исключительно к пункту "б" не только не очевидно, но и противоестественно.


*) при фиксированных каких-то количественных характеристиках - например размерах запроса

UFO landed and left these words here

я сторонник брать по-умолчанию минимум

...
Я явно написал «по умолчанию» (решать задачу а или а && b) в даже процитированном вами куске. Сколько магистрво CS нужно....

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


Так вот условные "слияния" имеет смысл тестировать на разных данных ((*) внизу коммента вы прочитали разумеется) получим скорее всего гауссиану, а условных qsort - нет.

Однако чтобы понять где можно срезать углы (уменьшив объём тестирования в sqrt раз), а где надо брать N выборок данных и каждую из них гонять M раз - надо или сразу видеть, что perf запусков "странно расползся от запуска к запуску" либо вляпываться в эту проблему прежде.
Проблема в том, что видов проблем бывает очень много и иметь опыт вляпывания в каждую из них - надо потратить очень много времени.
А институт вам даёт "общую картину" обладая которой вы гораздо лучше ориентируетесь в том, что вообще происходит out of the scope того, что вы здесь и сейчас щупаете ручками.

UFO landed and left these words here

Update:
Кажется я и сам неясно выразился (и закономерно могут возникнуть те же недопонимания) - я не предлагаю "изучить qsort vs mergesort", я пишу о том, что:
а) заранее неизвестно что у вас под капотом и что нужно изучать
б) существуют нестандартные случаи, когда вам надо посмотрев на perf понять, что здесь что-то не так.
в) нестандартных случаев много разных классов. Некоторые из них неочевидные, некоторые иногда важны иногда нет. Поэтому нужна или огромная насмотренность "что может пойти неправильно" или хорошее понимание "как in thumb-rule правильно".
г) Понять "как правильно в теории" - путь которым идёт универ, и это куда быстрее чем отстмотреть все "неправильные" варианты или хотя бы сложить картину "неправильных ваниантов".

======================================



-есть Y а также я обычно использую Х
- но Y неправлиьно
- я же написал "обычно"

Ну вообще будем считать misunderstanding.

> А теперь задайте себе вопрос: в чём смысл тестирования merge sort'а? ....
> И для каждого класса по отдельности вы берёте минимум, например.
> ... branch predictions

(во-вторых: вы же про BP не серьёзно - пальцем в небо ткнули, да?)
Так это обычно совсем не так выглядит.
Вы половину факторов-то не знаете (про ту половину факторов что вы знаете - как раз проще) поэтому заряжаете какую-то выборку на тест и смотрите статистику - нормальная она или нет.
И вот попалось вам что-то с поведением а-ля qsort (или key-collision в хэшмапе или экспонента в regexp или....) или наоборот логнормальное распределение (пальцем в небо - размеры файлов в директории). Отличия от гауссианы могут быть разными. Главное понимать где есть причина насторожиться.

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

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

UFO landed and left these words here

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

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

I. В принципе:

В универе вас 5 лет учат "вширь" или "как оно бывает в принципе".
А на работе вы хотите-не-хотитеучитесь вглубь "как оно вот здесь и сейчас у нас".

В итоге за исключением каких-то уникальных случаев "хорошее высшее образование => способность к обобщению => скорость самостоятельного обучшения" очень хорошо кореллируют.

Я бы это сформулировал так: чтобы посмотреть "out of the scope" надо быть или гением или знать, что за пределами рамки что-то есть (и желательно примерно понимать что есть).

II. В теоревре:
Из теории вероятностей - разные интуитивные оценки условных вероятностей (и ошибок 1 \ 2 рода) прям тяжело не ошибиться если не знаешь что оно так бывает и не пробовал это оценивать.

и я про это откуда-то знал сильно до вузовского курса теорвера

Смысл этого всего теорверного образования в том, что вам даётся простая и эффективная модель, пользуясь которой вы можете сделать массу выводов самостоятельно. Это как вместо заучивания «таблицы объёмов красных шаров» можно выучить одну формулу о 6 символах.

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

UFO landed and left these words here

И что мне с ними делать?

В зависимости от задачи.

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

Тут есть «ошибка неучившего» — вы часто не подозреваете о том, что не знаете того, что не знаете. Соответственно, если программист образован до «научились считать выборочное среднее и дисперсию», то он просто пропустит другие возможности, и никогда об этом не узнает. И да, прекрасно проживёт без этого.

Те же C++ники сколько десятков лет жили без малейших понятий о функциональщине (ML — 78 год) и радовались? Изобретали свои велосипеды с квадратными колёсами.

UFO landed and left these words here

Так на что влияет здесь негауссовость?

В этой задаче, вполне возможно, ни на что. Но у вас одна задача осталась в жизни?

А если я освоил теорвер сильно глубже и с высоты этого опыта говорю, что выборочного среднего и дисперсии достаточно, то это что?

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

И, что характерно, для использования std::optional::and_then до сих пор не надо уметь строить монады по сопряжениям или понимать, когда категория Клайсли изоморфна категории Эйленберга-Мура.

Это, конечно, великолепное бравирование, но речь о более простых и неприятных вещах. Например о том, что этого optional вообще не было лет 30, что ADT так и не завезли, что даже несчастный map в С++ называется нетривиальным образом.

UFO landed and left these words here

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

Тогда курс вообще вреден для жизни так-то.

Странная логика у капитана Сергачёва...

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

Ну так и программисты на C++ — не разработчики языка.

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

UFO landed and left these words here

При разнице в 100 против 500 он куда весомее, чем при разнице в 450 против 500.

Всё зависит от человека и от его конкретной ситуации. Ну вот такие сейчас времена — Первая Реставрация. Но она заканчивается, скоро много кому понадобятся технари. Скорее всего, эти самые 500 сдуются так, что проблема вашего выбора исчезнет.

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

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

UFO landed and left these words here

Они сколько я себя помню сдуваются, и всё никак не сдуются.

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

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

А-то. Но семья и дети — это некоторый предыдущий выбор.

А мы тут обычных программистов обсуждаем.

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

Cтать при этом обычным или нет - решать самому человеку.

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

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

UFO landed and left these words here

Ну вот выяснил я, что 99-перцентиль ответа — 420 мс. В требованиях написано, чтобы было 300 мс (или 500 мс). Как мне знание существования негауссовых распределений поможет? 

Если в требованиях 300 мс - то ничем. Идём оптимизировать.

А если в требованиях 500 мс - то выбрасываем оценку в 420 мс и идём искать оценки, которые работают для текущего распределения.

UFO landed and left these words here

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

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

UFO landed and left these words here

Какая оценка? Зачем? В подавляющем большинстве задач вы просто …

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

В остальной части комментария Вас куда-то понесло - проигнорирую эту часть.

UFO landed and left these words here

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

UFO landed and left these words here

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

В смысле, читерство? Я пришел из IT, мне дают задачу и моё образование помогает сэкономить время, чтобы войти в малознакомую предметную область. С этой точки зрения любое образование -- читерство))

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

Спорьте с кем хотите, кроме меня) Совершенно неинтересно соответствовать "уровню" какого-то там там вуза и какому-то там высосанному из пальца "уровню 20 века". Идти надо всегда от задач. Есть вещи, которые помогают решать эти самые задачи, и они могут быть сколь угодно сложными, и бояться их не нужно. А козырять громоздкой терминологией, из, например, теорката, не нужно -- пустое это, равно как и усложнять ради усложнения -- это что в X, что в XIX, что в XXI веке выглядит поведением уровня 3 класса средней школы (или что там было в Средние века)))
Я могу тоже сказать, что если Вы не умеете приложить диофантовы уравнения к суммированию петлевых диаграмм, то, скорее всего, получили свой диплом по ошибке ;)

UFO landed and left these words here

Хм, если вышки бесполезны, то почему вы хотя бы на второй не остановились? :)

UFO landed and left these words here

Ну тут есть еще мнение или точно вера в то что можно делать тупые вещи с точки зрения пользы для человечества но при этом наукоемкие и получать 1000+.

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

А приближать светлое будущее в виде яблонь на Марсе и так желающих хоть отбавляй, зачем им платить 500?

тупые вещи с точки зрения пользы для человечества

Разрушительные.

Так говорят все, кто не получил ВО))

Скорее наоборот, так говорят те кто получил ВО :)

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

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

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

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

Предположу, что это зависит от ВУЗа.

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

Ещё посмотрите теорию и практику измерений. Тут пробегала статья Как войти в айти, если на дворе 1991 год, в ней хорошо сформулировано, что

Если человека с высшим образованием попросить сравнить подходы в коде A и B, то он сделает графики с подписанными осями, с описанным методом тестирования и зависимостью времени работы от объема входных данных. Ремесленник скажет: «ну, я вот потестировал. В общем, A быстрее»

Это просто выполнение лаб по физике, буквально один семестр. Грубо говоря там натаскивают на

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

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

  3. Исследовательская работа должна покрывать больше, чем "затребовано". То есть, если вы докладываете результат, то ваших данных достаточно ещё на то, чтобы ответить на несколько вопросов, выходящих за рамки постановки задачи.

UFO landed and left these words here

Только это не семестр вуза. Это уровень хорошей школы.

"Митрич говорил сущую правду. В гимназиях он не обучался. Он окончил Пажеский корпус."

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

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

UFO landed and left these words here

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

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

UFO landed and left these words here

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

Мы же с вам школьное образование обсуждаем, да?

Какая-то магия случается между так 17-ью и 18-ью годами.

И мы даже знаем, что за магия, да?

UFO landed and left these words here

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

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

Впрочем, даже это не является мотиватором учиться.

Мотивация учиться — это тема, далеко выходящая за рамки дискуссии. Разумеется, что если её нет, то человек не учится, а потом рассказывает, что «ВУЗ ему ничего не дал».

UFO landed and left these words here

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

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

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

UFO landed and left these words here

Звучит как религиозная вера.

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

и что на самом деле высшее образование некоторым людям действительно ничего не даёт для программирования

Да запросто.

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

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

что не надо говорить правду, надо контролировать информацию

Намёк настолько тонок, что я его не понял.

При таком количестве прочих равных (от оконченного вуза до решаемых задач), что их равенство на практике не реализуется.

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

UFO landed and left these words here

Убедились, что они не делают этих утверждений в свободное время на хабре?

В этом я уверен на 100%.

Тогда о чём мы спорим?

Это что-то у вас внутри. Я лишь поддерживаю беседу. :-)

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

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

UFO landed and left these words here

Я вот в ВУЗ в 15 лет попал. К сожалению, учиться к тому времени я не научился и после двух восстановлений на 3м курсе ушёл в закат. И я прям чётко понимаю, что проблема в возрасте была, очень сложно перестроиться было (

UFO landed and left these words here

Да я уже работать начал) Совмещать не вышло.

и это всего лишь означает по итогу, что у вас инфляция образования.

Наверное. Только она очень давно идёт. Чуть ли не век.

есть диплом о высшем, но всегда задумывался какой в нем смысл

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

А потом я решил копнуть в сторону ML. И вот тут оказалось, что там нужна линейная алгебра, матан, статистика... И всё это учат в ВУЗе :(

(Правда, у меня есть диплом, но это не сильно помогло. Пришлось повторять математику самостоятельно) :))

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

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

Это вы какой-то очень ответственный MLщик.

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

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

Это вы какой-то очень ответственный MLщик.

Да я же не сказал, что начав с нуля я очень далеко от него ушёл :)

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

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

Абсолютно.

Спрашиваешь - вот, модель не учится, статистика не свертывается, как вы такое решаете? А никак.

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

Процентов 70 что датасаенса, что ML это про сбор и подготовку данных.

Коэффициенты в тензорфлоу/панде покрутят от фонаря, может, как-то само рассосётся? 

Может я секрет открою, но чтобы изучить линейку, анализ и статистику в ВУЗ поступать не обязательно. Притом обучаясь самостоятельно у тебя будет свобода в выборе источника. Ту же линейку в ВУЗах изучают странствуя по координатному аду, где ничего непонятно и просто нужно запомнить(например формулу определителя), когда безкоординатный подход придумали ещё в 19 веке Грассман с Клиффордом(а позже его переоткрыли в 20 веке специалисты по функциональному анализу). Спросите любого выпускника технического ВУЗа об, например, внешней степени оператора. Он ответит, что никогда этого не слышал. И так во всём, вместо векторных пространств системы уравнений и матрицы aka табличка с числами, вместо форм, многообразий и формулы Стокса некий векторный анализ с несколькими формулами Грина, конечно же в координатах.

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

Спросите любого выпускника технического ВУЗа об, например, внешней степени оператора. Он ответит, что никогда этого не слышал. И так во всём, вместо векторных пространств системы уравнений и матрицы aka табличка с числами, вместо форм, многообразий и формулы Стокса некий векторный анализ с несколькими формулами Грина, конечно же в координатах.

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

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

Интернет. Есть куча сообществ, где есть все нужные рекомандеции. Есть программы Университетов, с подсказками, какие книги нужно читать. Я в вузе не учился, после 11 класса пошёл на кассу в Макдональдс, и математикой заинтересовался лет в 27-28. И даже для меня не составило труда загуглить, что анализ нужно учить по Зоричу/Рудину/Кудрявцеву/Фихтенгольцу, а линал по Кострикин-Манину/Гельфанду(правда я учил по Глазман-Любичу, анализ по Пью, люблю экзотику). А для вас, умных, молодых и богатых, увлекающихся программирование с 8 лет, это уж точно не должно составить проблем.

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

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

Дифф. формы учатся в курсе анализа на многообразиях, например Tu "An intro to manifolds". Если нужно здесь и сейчас, без предварительной подготовки и со школьными знаниями, то можно взять, Edwards "Advanced calculus: differential form approach", нужно лишь иметь знакомство с школьным определение работы силы.

Я в вузе не учился, после 11 класса пошёл на кассу в Макдональдс, и математикой заинтересовался лет в 27-28.

А сколько ваших "коллег по опасному бизнесу" не заинтересовались?

А после ВУЗа вы бы работали с векторами уже в 22 года. Стандартным методом, который, пусть и не оптимален, но прошит везде. Дальше семья, в 27 - "зрелый промышленный практик с ипотекой и детьми".

Кроме того, если уж мы говорим про применения к програзму, то понятие вектора вообще очень широко, и, как правило, используется именно покоординатно: std::vector (и, видимо из геометрии же C++ное название map - std::transform), вектора в статистике (непонтовое название ML), SIMD инструкции, а вот вектора прерываний - это да, это обобщённое понятие вектора.

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

Есть куча сообществ, где есть все нужные рекомандеции.

Ещё раз, есть проблема бутстрапа. Чтобы что-то найти, надо понимать, что это надо искать. Так-то вся информация содержится в /dev/urandom.

Я не знаю, что такое бутстрап. Давай на примере. Я хочу начать изучать математику на "серьёзном" уровне. В школе с математикой у меня не было проблем, если только с геометрией. То есть я умею жонглировать многочленами и решать квадратные уравнения. Знаю теорему Пифагора(и примерно представляю, как её доказать), знаю определение триг. функций и могу решать ЕГЭ-шные триг. уравнения. Школьные учебники я опускаю и не ищу(хотя тут опасное место, можно застрять на каком-нибудь бесполезном Сканави надолго, пытаясь закрыть пробелы в школьном материале).

Я гуглю места, где у нас в России преподают математику. Это матфак ВШЭ, это матфак СПБГУ. Гуглим "ВШЭ матфак книги" и видим страничку "Что почитать?" первая в выдаче. Открываем и мотаем до "Учебники начальных курсов", видим классику: Зорич, Винберг, Шафаревич. Если книги чем-то не нравятся, тяжело идут, можно найти альтернативы. Я начала алгебры(группы кольца поля, галуа) учил по учебнику Пинтера, потому что другие не нравились и туго шли.

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

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

Я не знаю, что такое бутстрап. Давай на примере. Я хочу начать изучать математику на "серьёзном" уровне.

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

После того, как у вас появилось желание, надо найти направление, и тут вы, кстати, побежали в ВУЗы смотреть программу. Ну нормально, 10 лет примерно продолбано.

Я не учил что-либо потому что "надо" или чтобы "получать деньги". Поэтому, наверное, и работал в общепитах, ритейлах да автомойках до 30 лет.

Видите ли, продуктивная жизнь коротка. И серьёзные достижения в той же математике, как правило, делаются до 30 лет.

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

Я как раз именно об этом, они не должны были заинтересоваться. То есть, вы, конкретно, счастливое редкое исключение в этом. Outlier. Отсюда мораль - чтобы повысить вероятность овладения математикой, надо сразу идти на матмех СПбГУ, а не в макдональдс.

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

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

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

UFO landed and left these words here

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

Что ты понимаешь под серьезным уровнем мне непонятно. Для меня раньше серьзным уравнем были логарифмы(не комплексные). Сейчас это какой-нибудь геометрический анализ, который выглядит для меня как далекая-далекая, но яркая звезда. Уровень среднего тех. вуза не выглядит чем-то серьезным теперь.

Дальше. ВУЗы разные бывают. Я бы никогда не попал на матфак ВШЭ. ЕГЭ я сдал баллов на 160 с чем-то, олимпиадником не был(на русский медвеженок ходил в классе 8 и на british bulldog где-то там же :)). Максимум бы попал в провинциальный ВУЗ в своей провинции, где программа мягко говоря не очень. Научился бы перемножать 2х2 и 3х3 матрицы, считать определители 2х2 и 3х3 матриц, и брать табличные интеграллы. И всё это заслуженно ненавидел.

Вдобавок, я описал очевидный пример, что делать. Это не значит, что мой путь был таким же. Можно зайти в гугл и вбить "pure math self study", и увидеть ответы на ютубе, реддите и прочих форумах. Тысячи путей есть.

Мне честно наплевать, что продолбано. Так же, с чего ты взял, что выпускники ВУЗов не продолбали это время? Если учиться не в престижных местах(коих у нас два на всю страну государственных, и одно негосударственное[НМУ]), то знания именно математики почти нулевые. Плюс к этому, скорее всего, к математике привито отвращение(о чём @illinavниже написал), и шанс что человек когда-либо ещё возьмёт книгу о каком-нибудь разделе близок к нулю.

Даже среди тех, кто оказался хотя бы достаточно умён, чтобы попасть в престижное место, шанс сделать какое-то открытие минимален, ни один из выпускников ВШЭ пока Филдса не получил(хотя мерить премиями глупо). Я вообще об этом не задумывался никогда. Большинство художников никогда не превзайдёт Айвазовского, и что, им бросить то что им нравтися?

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

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

Я как раз именно об этом, они не должны были заинтересоваться. То есть, вы, конкретно, счастливое редкое исключение в этом. Outlier. Отсюда мораль - чтобы повысить вероятность овладения математикой, надо сразу идти на матмех СПбГУ, а не в макдональдс.

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

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

UFO landed and left these words here

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

Но я любитель анализа, так что это чисто субъективное мнение. Объективно LADR тоже можно поругать, но автор намеренно её сделал такой. Если исправить объективные минусы, то LADR перестанет быть LADR, а перевоплатиться в linear algebra via exterior products.

UFO landed and left these words here
UFO landed and left these words here

У меня конечно есть диплом о высшем, но всегда задумывался какой в нем смысл? Диплом инженерный, но не IT-шный.

Tulsa King - The Purpose Of College

The whole point of a college degree is to show a potential employer that you showed up someplace four years in a row, completed a series of tasks reasonably well, and on time. So if he hires you, there's a semi-decent chance that you'll show up there every day and not fuck his business up.

Есть некая ирония в последнем предложении, вытекающая из того, что почти во всех развитых и развивающихся странах у работника больше, в общем случае, прав чем у работодателя, и что, как следствие, защиту от увольнения работника в аврал и последующего "fucking business up" образование не даёт. Вдвойне иронично, что это США, где очень часто уволиться можно буквально одним днём.

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

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

UFO landed and left these words here

Будучи студентом тех вуза открывается дорога в стажировки Сбера, Яндекса, PT, Ozon, Гринатом итд (часто требования быть студентом или недавним выпускником)

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

В целом ситуация ничем не отличается от других стеков. Ни в каком направлении не нужен человек без опыта.
Однако есть довольно очевидный путь, в контексте С++ особенно - это пойти в универ, на 2-3 курсе пройти стажировку и устроится на работу. И к окончанию универа будет уже 1-2 года опыта. С++ это более сложный язык, чем большинство других. К тому же предметная область языка такова, что нужно знать достаточно хорошо классический CS, плюс частенько будут требовать матан.
В общем самый простой путь - это универ.

В целом ситуация ничем не отличается от других стеков

Я бы так не сказал. Работодателя требуют от тебя знания языки и чего-то достаточно специфичного и глубого. Плюсовик со знанием нот, с опытом работы в embedded, QNX, RTOS и т.п. Для HFT сферы нужны знания низкоуровневый вещей, которые без погружения в сферу, сложно учить и легко забыть.

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

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

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

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

Но потом этот кто-то 12 лет назад посмотрел на вакансии embedded джун, а там примерно:

  1. Пара высших профильных образований. Научная степень будет преимуществом.

  2. C/C++/ все известные ассемблеры - уровень бог (плюс обязательно пара своих ассемблеров на гите)

  3. Личные рекомендации от Ритчи и Торвальдса (и не важно, что Ритчи уже нет в живых)

  4. Навыки пайки всеми возможными невозможными способами

  5. Знание всех известных ОС на уровне создателя (плюс обязательно пара своих ОС на гите)

  6. Опыт ремонта шатлов в открытом космосе.

  7. Пэт проекты выкупленные у тебя FAANG.

  8. Английский уровень - учил английскую королеву правильному произношению.

  9. И если тебе повезет - и мы тебя возьмем ты получишь сумасшедшие деньги! (в пределах 30 000 рублей!) А если ты прорастешь в кресло и сможешь выдавать 5 вольт из любого пальца, сможешь писать/читать код сразу в бинарном виде под любые чипы и общаться звуками модема на 56к тогда ты сможешь получить около 50 000 в месяц. Но это не сразу, а лет через 20-25. Также успешный кандидат получает компенсационный пакет. Из Пятерочки. А также акции компании Ашана (в печатном виде перечень скидок на товары), и корпоративный пеший транспорт от метро.

А потом этот же человек открывает вакансии по Java и видит там требования:

  1. Добраться до офиса компании. Умение попадать ногами в штаны будет преимуществом.

  2. Написать свое имя без ошибок (ладно 3 ошибки допустимы).

  3. Хорошо кушать.

  4. Суметь отличить Java от Jawa (дается 5 попыток). Задача со звездочкой с возможностью получить сразу позицию мидла.

  5. Зарплата 40 000 рублей, а если реально что-то накодишь, пусть и не на Java - 50 000 рублей. Через три года 100 000, а дальше до бесконечности. Трансфер от дома, личный бариста и шеф повар, само собой, идут по умолчанию.

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

Спасибо, искренне посмеялся :) особенно с "3. Хорошо кушать" :-D

Да ваc и с 1/10 таких навыков с руками оторвут.
Но не в РФ, а в какую-нибудь Texas Instruments (c з/п в 60-80k$ в год и более).

Но не в РФ, а в какую-нибудь Texas Instruments (c з/п в 60-80k$ в год и более).

Не до всех дойдёт ваша чудесная шутка. Реально $60-80k - это низкая зарплата для IT.

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

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

Нужен официальный опыт, так как сейчас смотрят электронную ТК. Чтоб исключить обман с накрученным опытом.

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

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

Это кто и где смотрит электронную ТК на этапе скрининга, да и в принципе до момента подписания оффера? Это вообще законно?

Смотрят после трудоустройства. Делают выводы и более тщательней следят за испытательным сроком.

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

P.S. оффер не подписывается. Для него нет такой процедуры. Он выставляется и принимается. И юридически джоб оффер никакой силы не имеет.

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

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

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

ну т.е. опыт работы в черную, с договором гпх или самозанятым вычеркиваем?) Тогда у половины джунов опыта вообще не останется.

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

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

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

https://antilibreoffice.blogspot.com/2024/10/libreoffice.html - это мой бложик, не надо пугаться адреса =)))

Скриншот ниже.

134 вакансии (не факт, что там ОЧЕНЬ нужны люди) на 140 000 000 населения РФ. Миф о том, что нужны сотни тысяч и миллионы программистов рушится на глазах. Не нужны и каждый день становятся ещё более не нужны.

Из этого можно сделать вывод, что компаниям нужны в основном Middle/Senior/TeamLead разработчики в их проекты

Конечно. Зачем брать джуна, когда на рынке толпы голодных людей с опытом?

И ладно я, 18-ти летний парень .... и вот, остаётся 2 варианта на выбор

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

Мне, например, скоро будет нужен сантехник, который заменит в квартире старые коллекторы на новые - сам я боюсь лезть к стояку с напором кипятка. Он, наверно, за день работы возьмет столько, сколько твой условный джун на С++ с зарплатой в 100к зарабатывает за неделю. Только в IT 100к - далеко не у всех джунов, большинство, на более легких языках, работают за еду.

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

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

Интересно как в других сферах?

От 50 до 2к человек на место.

Он, наверно, за день работы возьмет столько, сколько твой условный джун на С++ с зарплатой в 100к зарабатывает за неделю.

Только делать это, наверное, будет не сантехник-джун, а сантехник с 20 годами опыта, то есть убер-синьор по айтишным меркам, да ещё и рок-звезда, потому что большинство сантехников работает в ЖЭКе за бутыль. А джуна вы на пушечный выстрел без мастера не пустите свой стояк трогать, а с мастером он про эти 100к в месяц даже мечтать не будет. И ни одного С++ джуна пока не обварило кипятком на рабочем месте, разве что если он лавандовым рафом облился.

Только делать это, наверное, будет не сантехник-джун, а сантехник с 20 годами опыта, то есть убер-синьор по айтишным меркам, да ещё и рок-звезда, потому что большинство сантехников работает в ЖЭКе за бутыль.

Дедушка, вы застряли где-то в позднем СССР. Современные сантехники это рукастые молодые парни. И работают все за деньги. Очень хорошие деньги, поболее айтишных сеньйоров фармят. В ЖЭКе лишь формально числятся и появляются перед и после отопительного сезона. А бутыль нынче, если очень надо - просто идёшь и покупаешь в ближайшей 5очке, без регистрации и смс без очередей и талонов.

большинство сантехников работает в ЖЭКе за бутыль

Стереотипы обывателя, который, видимо, никогда не нанимал частников на сложные сантехнические работы. "За бутыль" ни один сантехник в расцвете сил работать не будет - дураки "за забором" давно закончились. "За бутыль" работают только деды в ЖЭКе (и дерущиеся за еду перекладыватели json-ов, которых сегодня по 600 человек на место). Остальные сидят на профи.ру, работают по сарафанному радио и успешно зарабатывают. В отличие от айтишки, в этом деле действительно есть "фриланс" - пришёл, увидел и сделал (для выполнения небольших строительных работ не требуется 2 недели вникать в бизнес-логику легаси-лапши).

Мне более 10 лет назад удалые молодцы за сутки проложили сантехническую проводку в квартире и такие же удалые хлопцы за несколько часов срезали старые советские батареи и поставили шесть штук новых (за неплохие по тем временам деньги) и после спокойно пошли по домам. До сих пор всё отлично работает, не течёт, ни одного сбоя за более чем десять лет. До сих пор испытываю уважение к этим рукастым мужикам, вспоминая слова одного их них: "Поехали, тут больше делать нечего!".

А герой нашего рассказа будет лезть без вазелина в этот IT-проход и к доходу профессионального сантехника выйдет через только через 10-15 лет своей жизни. Никто ему "соточку" не даст на начальном этапе. Потому что таких как он - 600 человек на место, со всех уголков страны, где среди этой массы есть ботаники с куда большим интеллектуальным потенциалом, чем он.

сантехник с 20 годами опыта, то есть убер-синьор по айтишным меркам

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

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

А герой нашего рассказа будет лезть без вазелина в этот IT-проход и к доходу профессионального сантехника выйдет через только через 10-15 лет своей жизни.

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

Сейчас конечно набегут с черри-пикингом вакансий с hh. Могу лишь ответить что хорошо зарабатывающий профессиональный плюсовик это скорее везение. Хорошо же зарабатывающий профессиональный сантехник это правило.

большинство сантехников работает в ЖЭКе за бутыль

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

Мне более 10 лет назад удалые молодцы за сутки проложили сантехническую проводку в квартире и такие же удалые хлопцы за 4 часа срезали старые советские батареи и поставили новые (за неплохие по тем временам деньги) и после спокойно пошли по домам. До сих пор всё отлично работает, не течёт, ни одного сбоя за более чем десять лет. До сих пор испытываю уважение к этим рукастым мужикам, вспоминая слова одного их них: "Поехали, тут больше делать нечего!".

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

сантехник с 20 годами опыта, то есть убер-синьор по айтишным меркам

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

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

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

Слишком категорично и очень далеко от реальной жизни. У меня в окружении наберётся с десяток тех самых ребят, которые в 30+ пошли в айти, и уже дошли до крепких мидлов\сеньоров, и не смотря на все трудности, на проблемы с освоением профессии и устройством(конечно, меньшим чем сейчас, но всёже), получили работу в айти, которой они хотят заниматься, на которую у них горят глаза и т.д.
Да, сейчас тяжело зайти в айти, да, местами на заводе и в сфере обслуживания платят больше (правда, когда я начинал - одногруппники официантами да принеси-подай зарабатывали тоже раза в 4 больше, чем я), но если ты действительно хочешь этим заниматься, хочешь осваивать программирование - дерзай, учи, делай это хобби, а потом ещё и пытайся устроиться на работу, при этом трезво оценивая шансы на успех, финансы и всё прочее.
Айти это дело увлечённых, что крайне важно на первых порах, но далеко не все там родились за компом, выучились на айти факультете или вообще программировали до 30.

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

IT всегда было местом тех, кто входил в эту сферу с малолетства

Автору всего 18 лет, он вполне вовремя входит в сферу.

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

UFO landed and left these words here

А пожить когда-нибудь потом. Жизнь ведь никуда не денется. Слушай дедов, они жизнь знают, глупости не посоветуют.

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

Ну так вот тебе мнение деда на эту тему: мой старший сын возможно и мечтает о таком, но я ему при каждом удобном случае напоминаю, что "в 18 лет он свободен от нас, ровно так, как он хотел этого последние 3 года. Не хочешь учиться? Не учись! Хочешь асфальт кидать за 50к в месяц? Вперед! Поддержки от родителей не жди, кормить я тебя не собираюсь, пока ты одумаешься. Внезапно я тоже хочу пожить для себя". Такие дела

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

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

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

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

Ищи любую официальную работу. Походи ножками по всяким НИИ и прочим предприятиям.

Выбор с С++ правильный, мало вкатунов из-за сложности. Разбавь новомодным Rust.

Все свободное время трать на изучение работы сетей и протоколов. HTTP, RPC, GRPC, TCP, UDP и т.п.

Попробуй что-то написать и оберни в docker.

Посмотри что есть у Яндекса для стажеров. Там С++.

Походи ножками по всяким НИИ и прочим предприятиям.

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

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

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

Как временный аэродром. Пока ищешь что-то лучше.

Походи ножками по всяким НИИ и прочим предприятиям

Никогда не делайте так. Ни-ког-да. Это болото. Идти туда можно только в крайнем случае. Там не будет ни HTTP, RPC, GRPC, TCP, UDP. Помимо ковырянии в легаси вы ничему хорошему не научитесь, зато будете изучать технологии, которые лет цать никто не использует. А уйти оттуда сложно, потому что ваш опыт с этом говтехнологиями никому не нужен.

HTTP, RPC, GRPC, TCP, UDP

Эти знания из старинных манускриптов настолько необходимо знать каждому? Или аббревиатуры достаточно? ;)

И даже TCP с UDP не будет)?

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

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

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

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

И тут прекрасный повод призадуматься, а стоит ли ломиться в эту закрытую дверь? Стоит ли сегодня начинать карьеру разработчика? Не окажется ли так, что лет через 5-10 уже и для опытных разрабов настанет пора драки за РАБоту?

Если можешь не идти в айти - не иди в айти!

UFO landed and left these words here

А я еще от себя добавлю про АСУТП - там еще хуже. Знания синьора а ЗП как у грузчика (хорошего).

Если можешь не идти в айти - не иди в айти!

Мудрые слова...

На веб макаку на реакте откликов будет на порядок больше) Дорогу осилит идущий.

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

С++

Эти языки довольно куцые в своей базе,

Я пишу на С++ уже 10 лет и до сих пор нет-нет, да встречаю языковые конструкции, в которых просто чёрт голову сломит и я просто не уверен, скомпилируется ли в принципе этот код :)

Что там и где в STL находится - каждый раз приходится на cppreference ходить))

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

Впрочем, в тех местах, где С++ имеет исключительно прикладной характер (геймдев, или вакансии на Qt), там Junior C++ ничем не отличается от такового на C#. Или там на Java. Т.к. разница не сильно велика.

В целом, 10 открытых вакансий за месяц - это норм. Но, вообще, есть ещё несколько способов найти работу:
1. Искать крупные компании, узнавать чем они занимаются и предлагать свою кандидатуру прямо через контакты.
2. Пытаться устроиться в компанию, где есть позиция C++, но на другую позицию. К примеру тестировщиком. Были случаи, когда люди за пол года переходили в программисты.
3. Про стажировки уже писали, но я вижу, что там так же очень высокая конкуренция.

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

Маленький город && непопулярный язык - что могло пойти не так?
В маленьком городе дефолтный выбор это 1С.
Ну либо как уже предлагали выше - ногами (реально ногами) пройтись по оставшимся в живых промпредприятиях, НИИ ВЦ и вот этим всем реликтам ушедшей цивилизации, и поспрашивать в отделах кадров открытые ставки программистов без категории (или с оной). Зарплата 20-25 тысяч, беремся на половину ставочки за 10-12, нарабывается первый реальный опыт и первый стаж для прохождения фильтров рекрутеров.

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

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

В целом, первые 1-2 года стек почти не важен. За это время только придёт понимание, что вообще такое программирование.

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

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

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

Стажеров берет весь крупный бизнес. Ну да надо ехать в крупный город и работать тысяч за 80. Хостелы в помощь. Бюджет в целом сходится в ноль.

Вам опыт нужен? Вариантов достаточно.

Но возникает вопрос, а как быть людям, которые хотят быть C++ разработчиками, но они не могут найти работу из-за отсутствия опыта

Также как конюхам, плотникам, лудильщикам и так далее: C++ - это умирающий язык

А что обычным Си?

Я думаю на нем ещё очень долго будет писаться системный софт, юниксы ещё никто отменять не собирается.

Ага, попался растовик!

  • 1 553 вакансии «C++»

  • 88 вакансий «rust»

Если на эти вакансии откликнуться то там в 99% окажется 25-летнее лапшеобразное легаси на MFC. Правильнее всё-таки смотреть на количество успешных наймов и зарплаты

Вся суть в том, что ошибки разработчика C++ компаниям обходятся намного дороже, чем, например, JavaScript разработчика. Даже Python программист, я думаю, на меньшие деньги заставит попасть работодателя, если совершит ошибку. Сам новичок в разработке скорее всего если сделает что-то фатальное, то может в себе сильно разочароваться и впасть в уныние. Чтобы не впадать в уныние, нужно сначала досконально изучить !процессы! и особенности сферы разработки ПО.

p.s. Ни в коем случае без опыта ни в какие Яндексы тыкаться не надо. Не слушайте соседних комментаторов.

p.s. Ни в коем случае без опыта ни в какие Яндексы тыкаться не надо. Не слушайте соседних комментаторов.

Идти нужно туда, где можно получить опыт и деньги. Пропорции по вкусу. В маленьких компаниях нужны уже готовые профи. Там на джунов нет денег и времени. Но вот диковинка - окромя яндекса в РФ есть 2-3 крупные компании, не сильно от него отличающиеся

В маленьких компаниях нужны уже готовые профи.

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

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

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

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

Еще, если компания продуктовая и там 15-20 программистов, то, это уже не маленькая компания.

Честно, я не встречал ни одной компании, у которой было бы достаточно финансирования и было бы много времени до дедлайна

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

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

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

Но, будут давать какой то результат.

Будут. Чаще - отрицательный, который потом переписывать. Это нормально, когда у вас продуктовая компания и сама выращивает своих спецов и допускает, что часть отученных джунов уйдет. Раньше такое прокатывало в небольших компаниях, когда прогеры сидели в РФ а сейлзы и менеджмент сидели в каком-нибудь Бостоне. +-$700 за джуна вообще ни о чем, хоть пачками их нанимай. Сейчас же, кроме небольшой горстки крупных компаний типа банков, яндекса и двух маркетплейсов такое мало кому под силу.

Еще, если компания продуктовая и там 15-20 программистов, то, это уже не маленькая компания.

Критерии примерные. Вот что выдал гугл:

Микропредприятие — выручка не более 120 млн рублей в год, не более 15 сотрудников;

Малое предприятие — выручка не более 800 млн рублей в год, не более 100 сотрудников;

Среднее предприятие — выручка не более 2 млрд рублей в год, не более 250 сотрудников;


FYI. Не собираюсь яростно спорить, просто описываю то, что видел.

Я тоже пишу то, что видел, всё таки опыт разный.

Критерии примерные. Вот что выдал гугл:

Я не про критерии, а про программистов. Если в компании 15-20 программистов, то общий штат, обычно, человек 50 и более.

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

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

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

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

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

18-ти летний парень

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

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

Параллельно с этим вы можете разрабатывать хобби проекты и публиковать их на GitHub. Ваш опыт будет расти параллельно с уровнем образования. Сложность и качество ваших проектов также начнет расти. Года через 3 на Вас начнут обращать внимание.

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

Удачи!

все равно придется стажером потом идти работать, не возьмут же сразу на работу, где опыт требуется

Здравствуйте. Мне скоро 20. Я в сфере отработал почти год, (учусь и работаю (полставки/полмрота)) мне попался упорный и настойчивый тимлид, чувствую, что росту как разработчик (боевой опыт не сравнить ни с чем), хотя программирую с 15 (в основном веб, хотя был анализ данных, десктоп под винду и криптоконтракты и архитектура). Есть близкий друг (чуть младше меня), который выучил минимальный стек реакта и решил что хорошая идея накрутить опыт, несколько месяцев поиск вакансии и он находит работу с зп в 20 больше чем у меня. И с одной стороны я росту как специалист, а с другой неприятно, через месяц он заработает, столько сколько я за год, работа за опыт это очень неоднозначная вещь (а может я просто завидую).

А давно друг эту работу нашёл? Он испытательный срок-то пройдёт, если у него так всё плохо, как вы описали?

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

Друг искал 4-5 месяцев, попал сразу без испытательного срока, он обладает минимальным знанием алгоритмов типо пузырьковой сортировки, запрос в бд без join, смог написать небольшой сайт-блог, у него не все плохо, я сравниваю со знакомыми и оцениваю его способности к критериям стека как образный джун (в вакансиях современный джун должен знать как мидл).

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

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

А тот, кто в 18 пошёл курьером работать, к 20 влёгкую делает того, кто поступил в Кембридж. И?)

Ну вот я дед с++. Те же проблемы. Мой совет, посиди несколько месяцев на литкод, поизучай теорию в целом (если оставишь контакт, то скину туда вопросы на собеседованиях типичные, там 500, можешь хотя бы вскользь) потом напиши что-то крупнее лабораторки, или задачи на день несколько раз. Ну чтобы и библиотеки и система контроля версий и потоки простые. Какие-то несколько проектов на 1-3 тысячи строк сам. А потом безбожно ври про опыт . Параллельно учи английский, читай реддит смотри аниме я хз. Главное живи чем-то ещё, помимо учёбы. Хобби не связанные с кодом. Знал Сашу Семенко , кек

и мне (a.sergeevich.gulyaev@yandex.ru), пожалуйста, скиньте.

В моём городе вакансий на данный момент я не нашёл

Если не секрет, что за город?

История на самом деле старая, ещё 10 лет назад никому не нужны были люди без профильного опыта.

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

я вам скажу больше и 20 лет назад тоже (полагаю и 30 и тд)

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

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

Как врать? Ну тут можно попросить чатгпт оформить это красиво. Но общая легенда такая: по месту основной подработки были программерские подработки. Либо фриланс по мелочам. Исключительно мелкие проекты

Так во всех профессиях. Всем нужен опытный здоровый, без детей, вредных привычек, готовый работать 24/7. Это капитализм. Собственника производства не интересуют проблемы пролетария.