Для всех: Это её "генетический код". Если он равен нулю, матрица "больна" — она вырождена. Геометрически определитель — это коэффициент изменения площади (для 2D), объема (для 3D) или гиперобъема при преобразовании, которое задает матрица.
Вы же перепечатали статью из учебника или конспекта? А хорошо вчитывались?
Потому, что если излагать "всеобъемлюще и последовательно" - то и начинать надо с того, что матрица - это линейное преобразование (квадратная матрица - преобразование в себя), произведение - композиция 2х преобразований, нахождение обратной - преобразование ^-1^ , решение линейного уравнения - обращение преобразования вектора; А X A^-1^ ....
А если начали со "шпаргалки" - то в последовательном изложении и вовсе этого не упоминать, дабы умы школьников подглядывающих в шпаргалку не смущать.
Я лишь половину осилил и мне книга показалась в стиле "маня-циним".
Если сокращать до 3 слов, то смысл книги "действуй более цинично". Проблема в сравнительном залоге.
Как только ты действуешь "более цинично и на опережение" - все тут же будут знать чего от тебя ждать и все советы моментом обесценятся твоей же репутацией.
Первая мысль - просто оперировать символьной арифметикой (в принципе +/- курсовик для 10-11 классов школы) с переменными и без констант и выводить числовое представление на экран.
Ещё один шаг, на пути, который прошёл гугл - просто оперировать символьной арифметикой с переменными и без констант и выводить числовое представление на экран.
Но в принципе я растом довольно сильно разочарован. При разработке на Rust ты не решаешь задачу "выразить Х" и "разработать функциональность Y". Ты решаешь задачу: "как выразить то, что ты и без того знаешь именно на Rust". Вот если честно - не уверен, что это прям хорошо при обучении программированию.
Зачем делить 20 человек в группе на две волейбольные команды
А вот теперь вы предлагаете решать протянутую за уши задачу
Это называется "соломенное чучело" - пожалуйста избегайте впредь этого приёма. Я не предлагал делить студентов на волейбольные команды. И да нас периодически делили на команды \ группы в универе по разным поводам. А до этого во дворе. А после этого на тренингах \ тимбилдингах.
Если переводить слова о том, что код справедливый, как равновероятность всех возможных распределений дежурств, то решение верное.
Поясните свою посылку "если ХХХХ". Справедливость (fairness) - оно про равные условия субъектов, а не про предоставления равных условий объектам.
1 и 2)
"Ну и что что делают плохо - идеально же сделать невозможно". Это называется "перфекционистский софизм". Этой демагогической уловке более 2000 лет. Не принимается.
Зачем вообще делать задачи плохо? Хуже чем средние задачи из учебников? Волна низкокачественных статей \ информации (зато с картинками) - вообще захлестнула инет и теперь ещё до профессиональных форумов добралась. Я сильно против этого.
Крайне интересные графики. Был уверен, что волна инди-разработки если не накатилась, то вот-вот накатится. Типа соцсети для выпекателей пирожков или телеграмм-бота для страюающих от диабета.
У вас в условии один алгоритм (справедливый), а в решении уже другой, с гораздо более сильными требованиями
Не правда, ли, что оба представленных распределения удовлетворяют критерию честности, но в одном (честном) распределении вероятность получить 0 дежурств = 0.5. А во втором (опять же честном) распределении вероятность получить 0 дежурств = 0.75?
import random
# fair distribution of 2 given 5_times - 0 duties probability == 0.75
def fair_distribution_1():
return [ (2 if i < 5 else 0) for i in range(20) ]
# fair distribution of 1 given 10_times - 0 duties probability == 0.5
def fair_distribution_2():
return [ (1 if i < 10 else 0) for i in range(20) ]
names = [ "Vasya", "Petya"] + ["number" + str(i) for i in range(2, 20) ]
# Isn't it true, than in two below fair cases probability to get exactly 0 duties is different?
marks = fair_distribution_1()
#marks = fair_distribution_2()
random.shuffle(marks)
res = zip( names, marks)
print( *res)
Видимо, на хабре если упомянул алгоритм, то будь добр предоставить
На хабре понимают, что условие должно быть однозначным . А ваше - нет, т.к. алгоритмов, удовлетворяющих вашему условию, но выдающих разные распределения больше одного.
На самом деле написать императивный алгоритм - гораздо проще, чем составить однозначное дискриптивное условие.
Вы уверены, что сарказм, относительно @homm который пытался вам помочь выше - хорошая стратегия?
Как вы легко и непринуждённо меня отнесли к обывателям, однако.
Если вы сами решили заострить внимание - давайте просто подсчитаем число неаккуратностей и ошибок.
1. Нарушение устоявшихся соглашений с именами (такие имена даются для того, чтобы читатель не путался. Петя - П - первый. Вася - В - второй)
2.Задача 2 - модель задачи явно не соответствует реальному миру (и ваше оправдание уровня "3.5 землекопа потому, что в задачах на деление поразумеваются рациональные числа").
3. Задача 3 - Громоздкое условие на ровном месте ни чего не добавляющее задаче. Вместо "Всю группу разделили на 2 равные команды" " Из всей группы набирают две волейбольные команды, каждая по 6 человек. Вася уже отобран в одну из них".
4. Задача 4 - решение неверное(если судить как профессионала), или "неаккуратность в решении", если судить как обывателя. Вероятностное пространство задано в условии одним образом. Вероятностное пространство в обоих решениях используется другим образом.
Генеративное решение решает другую (возможно эквивалентную) задачу. Численный ответ тот же. Но без доказательства, что мы решаем ту же задачу такое применение - близко к ошибке.
Решение-1 -- Вася написал алгоритм, который выдаёт каждому студенту число 0 или 1 или 2. (сумма всех 20 чисел == 10). Решение-2 -- Вася написал алгоритм, который дважды выдаёт каждому студенту число 0 или 1 (сумма всех 40 чисел == 10).
И отдельно требуется доказать, что Решение-2 - применима (т.е. оба сформулированных условия эквивалентны).
Знаменатель будет складываться из трех «фиксированных» случаев для 19 оставшихся людей, в зависимости от того, какое число достанется Васе:
А это ещё зачем? В знаменателе будет стоять ровно такая же формула, как в числителе, только распределение по 19 людям (Upd: и к стати в решении-2 вы ровно это и сделали).
Общая идея такая: 1. Распределим все возможные распределения {1, 2, 0} по 20 людям (так чтобы сумма числе была 20). 2. Посмотрим с какой вероятностью в позиции N_0 будет стоять число "0" 3. Пункт-2 эквивалентен Сnt_19(человек) / Сnt_20(человек). Т.к. мы просто фиксируем Васю на начальном индексе и "хорошими" называем исходы, когда там 0. 3. Васю можно зафиксировать на 1м месте, т.к. из соображений симметрии все места равны (такое обоснование вполне принимается даже на школьных олимпиадах).
Соответственно у вас 2 одинаковых формулы в числителе и в знаменателе.
Ох.. сначала хотел написать про частности формулировок, потом появилась эта сентенция.
У вас некоторые задачи (в частности 2 и 3) - плохо сформулированы. Совет - не примите его за назидание - найдите в ВК группу Константина Кнопа (это автор задач и член жури школьного математического движения) "математические задачи и головоломки" и посмотрите как там формулируются задачи на вероятности, и какие замечания профессионалы выдвигают, когда мы с вами, обыватели, неаккуратно их формулируем. Вам будет полезно, поверьте.
============================== 1. Главного героя должны звать не Вася, а Петя (это соответствует русскоязычной традиции именования героев задач на вероятности - подобно традиции "Алиса" и "Боб" в англоязычных источниках).
2. В задаче 2 идея и решения основаны на предположении: события "студент решил задачу №_X" и "студент решил задачу №_Y" независимы. В реальном мире это не так. Соответственно надо или аккуратно переформулировать задачу. Или решить задачу для зависимых событий и посмотреть - уйдёт ли условная вероятность "решил задачу №_X при условии решил задачу №_Y" из конечной формулы или нет - с ходу видится, что решение не тривиальное.
3. В задаче 3 сентенция "Вася уже отобран в команду" - лишняя и сбивающая с толку. Намеренное сбивание решающего с толку - допустимо и поощряется в головоломках, но является плохой практикой для задач (если только не стоит какая-то цель столкнуть ученика с парадоксом, мнимым или реальным, - здесь этой цели нет).
Средняя зарплата в России по итогам Q1,Q2 2005 - 95_000р. Уже даже в провинциальной "пятёрочке" в Тамбове зарплаты 40 - и хочу напомнить торговля в России одна из самых низкооплачиваемых отраслей.
А люди в обсуждении IT всё ещё ЗП в 30 тысяч рублей вспоминают. У вас неактуальные данные и "палеолит" - как бы давно закончился.
по умолчанию ваша фраза "подготавливаешь интерфейс" понимается как "берёшь и пишешь новое внешнее API" и именно такая постановка вопроса является проблемой.
Такие договоры скорее всего не рабочие. Насколько я помню даже что-то подобное несколько лет назад откатывалось через суд.
Рад что вы честны. Но "в целом" выход в такой ситуации для людей с улицы один - платить им ровно столько, сколько прибыли они приносят. Ну то есть 0-10_000 в месяц в течении первых 3 месяцев для людей закончивших 6-9 месячные курсы программистов.
1. Так подождите - мы по кругу ходим. Когда компании выращивали стажёров "для себя" а стажёры у них сотавались - наставничество было. Стажёры перестали оставаться - компании перестали работать себе в убыток.
2. > подгатавливаешь какой то интерфейс, и говоришь джуну "на делай", тэк стак такой то > Но! Если вам нужно 15 минут чтобы объяснить простую задачу Я не то, чтобы жаждал поймать вас на несоответствии - но смотрите вы сначала предложили одно, а потом совершенно другое.
Вот 15 минут нужно (даже на простейшую задачу) - чтобы избежать таких, довольно очевидных ошибок непонимания. Конечно гораздо лучший способ - погрузить что-то уже понимающего в программировании человека в свою предметную область, чтобы он с полу-слова понимал что имеется в виду - и отпускать его на 1-2-5 дней работать. Но это нужен минимально грамотный специалист уже.
В боле-менее сложной предметной области это работать не будет.
Довольно долго объяснять почему. (Майкрософт по-моему так хотели делать лет 15 что-ли назад - но отказались потому, что это дебилизм).
Ну т.е. есть какая-то минимальная задача, которую разумно экономически разумно выделять. Ей соответствует минимальная квалификация "джуна". Вы вот говорите - давайте брать людей ещё раньше, нарезать задачи ещё мельче, и оформлять их не в виде объяснения, а прямо в виде интерфейса, давайте посмотрим какие проблемы на этом пути: 1 - если я уже написал интерфейс на маленькую задачу, то времени написать сам код уйдёт меньше, чем передать эту задачу стажёру. Т.е. после калькуляции - это он должен мне доплачивать за то, что я вместо "за 10 минут написал код" - 15 минут двигал тикеты в джире и ревьювил его код (не говоря о том дискомфорте, который мне это переключение контекстов деятельности доставит).
2 - а я вообще интерфейсы хорошо напишу? Т.е. - разберём проблему - прикинем что надо сделать; - прикинем интерфейсы - заимплементим реализацию - впишем в текущую систему. Без двух последних пунктов интерфейсы могут оказаться не совсем подходящими. А если надо будет что-то в интерфейсах поправить - стажёр же с высокой вероятностью не поймёт.
3 - таких маленьких задачек то густо топусто (вот мы когда студентов берём во-первых такие "выделимые" задачки отдельно для них готовим и иногда даже специально их не делаем, чтобы было чем студентов содержательно занять).
Если вы хоть раз сталкивались на работе с ситуацией "эх, сейчас бы помощника, пусть вот это сделает, пока я думаю" - то вы понимаете, для чего нужны джуны.
Это сказки какие-то. Ключевая проблема в том, что так, как вы это описали - в системном программировании / микроэлектронике почти никогда не работает (возможно в клепании сайтов - работает нормально). Обычному челу после курсов я объяснять что как и почему надо сделать - буду дольше чем сам писать. А там где это работает (например со студентами МГУ / МФТИ / ВШЭ) - так за ними очередь стоит из организаций желающих к себе пригласить их на оплачиваемую стажировку "подмастерьями" в вашей терминологии.
Т.е. типовые варианты примерно такие: - человек уже что-то умеет - ок добо пожаловать на вакансию джуна. - гарантировано толковый и почти хочет к вам (но мало что пока умеет) - добро пожаловать на вакансию стажёра. - человек "очень хочет научиться", никакое собеседование пройти не способен и в любой момент как чему-то научится готов свалить - ну ок, готов год проработать за 0 рублей (10 000 рублей / месяц)?
У вас примерно такое видение взаимодействия-вознаграждения или другое?
Ну тогда вы зашли с нерепрезентативным примером. Можем обсудить его - но учтите: он мало относится к текущей проблематике "в целом".
Когда я нанимал - я делал предложение одному самоучке (один из одного человека получил предложение), т.к. у меня было чёткое понимание, что раз человек разобрался самостоятельно - то и с нашими задачами справится хотя и требуется дорасти. С высокой вероятностью - взял бы и вас (ну т.е. у меня есть понимание, что если человек обучился сам, то он изначально на голову выше средних вкатышей через курсы), но как минимум прособеседовал бы.
Когда я входил в профессию - у меня было чёткое понимание, что трудовая этика такова: "сначала компания тебя дообучает, себе в убыток, а какое-то разумное время на них работаешь не перескакивая через год на ЗП повыше на 20%-50%"
Сегодня такой трудовой этики больше нет, в первую очередь благодаря пропаганде "рационального эгоизма". Ну ок раз так то обе части негласного договора "сначала мы дообучаем джуна себе в убыток потом он работает на нас" не выполняются. Поэтому СРАЗУ выставляем требования такими, чтобы джун обходился нам в не слишком большой убыток. Я не очень понимаю что в этом странного.
Опять же я вашу личную ситуацию не знаю, но когда я входил в профессию я получал меньше водителя в ЦентТелекоме где я работал "инженером-программистом".
Вы же перепечатали статью из учебника или конспекта? А хорошо вчитывались?
Потому, что если излагать "всеобъемлюще и последовательно" - то и начинать надо с того, что матрица - это линейное преобразование (квадратная матрица - преобразование в себя), произведение - композиция 2х преобразований, нахождение обратной - преобразование ^-1^ , решение линейного уравнения - обращение преобразования вектора; А X A^-1^ ....
А если начали со "шпаргалки" - то в последовательном изложении и вовсе этого не упоминать, дабы умы школьников подглядывающих в шпаргалку не смущать.
Я лишь половину осилил и мне книга показалась в стиле "маня-циним".
Если сокращать до 3 слов, то смысл книги "действуй более цинично".
Проблема в сравнительном залоге.
Как только ты действуешь "более цинично и на опережение" - все тут же будут знать чего от тебя ждать и все советы моментом обесценятся твоей же репутацией.
Первая мысль - просто оперировать символьной арифметикой (в принципе +/- курсовик для 10-11 классов школы) с переменными и без констант и выводить числовое представление на экран.
Ещё один шаг, на пути, который прошёл гугл - просто оперировать символьной арифметикой с переменными и без констант и выводить числовое представление на экран.
В теорее да - сам об этом думал.
Но в принципе я растом довольно сильно разочарован.
При разработке на Rust ты не решаешь задачу "выразить Х" и "разработать функциональность Y". Ты решаешь задачу: "как выразить то, что ты и без того знаешь именно на Rust". Вот если честно - не уверен, что это прям хорошо при обучении программированию.
Это называется "соломенное чучело" - пожалуйста избегайте впредь этого приёма. Я не предлагал делить студентов на волейбольные команды. И да нас периодически делили на команды \ группы в универе по разным поводам. А до этого во дворе. А после этого на тренингах \ тимбилдингах.
Поясните свою посылку "если ХХХХ".
Справедливость (fairness) - оно про равные условия субъектов, а не про предоставления равных условий объектам.
"Ну и что что делают плохо - идеально же сделать невозможно". Это называется "перфекционистский софизм". Этой демагогической уловке более 2000 лет. Не принимается.
Зачем вообще делать задачи плохо? Хуже чем средние задачи из учебников?
Волна низкокачественных статей \ информации (зато с картинками) - вообще захлестнула инет и теперь ещё до профессиональных форумов добралась.
Я сильно против этого.
Крайне интересные графики.
Был уверен, что волна инди-разработки если не накатилась, то вот-вот накатится.
Типа соцсети для выпекателей пирожков или телеграмм-бота для страюающих от диабета.
У вас в условии один алгоритм (справедливый), а в решении уже другой, с гораздо более сильными требованиями
Не правда, ли, что оба представленных распределения удовлетворяют критерию честности, но в одном (честном) распределении вероятность получить 0 дежурств = 0.5. А во втором (опять же честном) распределении вероятность получить 0 дежурств = 0.75?
На хабре понимают, что условие должно быть однозначным . А ваше - нет, т.к. алгоритмов, удовлетворяющих вашему условию, но выдающих разные распределения больше одного.
На самом деле написать императивный алгоритм - гораздо проще, чем составить однозначное дискриптивное условие.
Вы уверены, что сарказм, относительно @homm который пытался вам помочь выше - хорошая стратегия?
Какое условие должно быть наложено на пространство вероятностей, чтобы вы имели право складывать x^2 (одного человека) и x×x (двух разных людей)?
Если вы сами решили заострить внимание - давайте просто подсчитаем число неаккуратностей и ошибок.
1. Нарушение устоявшихся соглашений с именами (такие имена даются для того, чтобы читатель не путался. Петя - П - первый. Вася - В - второй)
2.Задача 2 - модель задачи явно не соответствует реальному миру (и ваше оправдание уровня "3.5 землекопа потому, что в задачах на деление поразумеваются рациональные числа").
3. Задача 3 - Громоздкое условие на ровном месте ни чего не добавляющее задаче. Вместо "Всю группу разделили на 2 равные команды" " Из всей группы набирают две волейбольные команды, каждая по 6 человек. Вася уже отобран в одну из них".
4. Задача 4 - решение неверное(если судить как профессионала), или "неаккуратность в решении", если судить как обывателя.
Вероятностное пространство задано в условии одним образом. Вероятностное пространство в обоих решениях используется другим образом.
Ой чёрт, согласен.
My fault.
Генеративное решение решает другую (возможно эквивалентную) задачу.
Численный ответ тот же. Но без доказательства, что мы решаем ту же задачу такое применение - близко к ошибке.
Решение-1 -- Вася написал алгоритм, который выдаёт каждому студенту число 0 или 1 или 2. (сумма всех 20 чисел == 10).
Решение-2 -- Вася написал алгоритм, который дважды выдаёт каждому студенту число 0 или 1 (сумма всех 40 чисел == 10).
И отдельно требуется доказать, что Решение-2 - применима (т.е. оба сформулированных условия эквивалентны).
А это ещё зачем?
В знаменателе будет стоять ровно такая же формула, как в числителе, только распределение по 19 людям (Upd: и к стати в решении-2 вы ровно это и сделали).
Общая идея такая:
1. Распределим все возможные распределения {1, 2, 0} по 20 людям (так чтобы сумма числе была 20).
2. Посмотрим с какой вероятностью в позиции N_0 будет стоять число "0"
3. Пункт-2 эквивалентен Сnt_19(человек) / Сnt_20(человек). Т.к. мы просто фиксируем Васю на начальном индексе и "хорошими" называем исходы, когда там 0.
3. Васю можно зафиксировать на 1м месте, т.к. из соображений симметрии все места равны (такое обоснование вполне принимается даже на школьных олимпиадах).
Соответственно у вас 2 одинаковых формулы в числителе и в знаменателе.
Cnt_19 / Cnt_20.
Cnt_N = Cnt | n == N
Ох.. сначала хотел написать про частности формулировок, потом появилась эта сентенция.
У вас некоторые задачи (в частности 2 и 3) - плохо сформулированы.
Совет - не примите его за назидание - найдите в ВК группу Константина Кнопа (это автор задач и член жури школьного математического движения) "математические задачи и головоломки" и посмотрите как там формулируются задачи на вероятности, и какие замечания профессионалы выдвигают, когда мы с вами, обыватели, неаккуратно их формулируем.
Вам будет полезно, поверьте.
==============================
1. Главного героя должны звать не Вася, а Петя (это соответствует русскоязычной традиции именования героев задач на вероятности - подобно традиции "Алиса" и "Боб" в англоязычных источниках).
2. В задаче 2 идея и решения основаны на предположении: события "студент решил задачу №_X" и "студент решил задачу №_Y" независимы.
В реальном мире это не так.
Соответственно надо или аккуратно переформулировать задачу.
Или решить задачу для зависимых событий и посмотреть - уйдёт ли условная вероятность "решил задачу №_X при условии решил задачу №_Y" из конечной формулы или нет - с ходу видится, что решение не тривиальное.
3. В задаче 3 сентенция "Вася уже отобран в команду" - лишняя и сбивающая с толку. Намеренное сбивание решающего с толку - допустимо и поощряется в головоломках, но является плохой практикой для задач (если только не стоит какая-то цель столкнуть ученика с парадоксом, мнимым или реальным, - здесь этой цели нет).
Ваши слова бы да в уши сегодняшним вкатунам году так в 2019 (когда всё это заверте.....).
Сегодня, к сожалению, в IT-найме думать некогда.
Надо придумывать всё более и более изобретательные фильтры, чтобы HR смог отфильтровать 1000 CV - до подъёмных инженером 20 собеседований.
Разумеется как всегда в ситуации мошенничества (и дорогих мер от мошенничества) - пострадавшим является рядовой и честный участник рынка IT.
Средняя зарплата в России по итогам Q1,Q2 2005 - 95_000р.
Уже даже в провинциальной "пятёрочке" в Тамбове зарплаты 40 - и хочу напомнить торговля в России одна из самых низкооплачиваемых отраслей.
А люди в обсуждении IT всё ещё ЗП в 30 тысяч рублей вспоминают.
У вас неактуальные данные и "палеолит" - как бы давно закончился.
по умолчанию ваша фраза "подготавливаешь интерфейс" понимается как "берёшь и пишешь новое внешнее API" и именно такая постановка вопроса является проблемой.
Такие договоры скорее всего не рабочие. Насколько я помню даже что-то подобное несколько лет назад откатывалось через суд.
Рад что вы честны. Но "в целом" выход в такой ситуации для людей с улицы один - платить им ровно столько, сколько прибыли они приносят. Ну то есть 0-10_000 в месяц в течении первых 3 месяцев для людей закончивших 6-9 месячные курсы программистов.
1.
Так подождите - мы по кругу ходим.
Когда компании выращивали стажёров "для себя" а стажёры у них сотавались - наставничество было.
Стажёры перестали оставаться - компании перестали работать себе в убыток.
2.
> подгатавливаешь какой то интерфейс, и говоришь джуну "на делай", тэк стак такой то
> Но! Если вам нужно 15 минут чтобы объяснить простую задачу
Я не то, чтобы жаждал поймать вас на несоответствии - но смотрите вы сначала предложили одно, а потом совершенно другое.
Вот 15 минут нужно (даже на простейшую задачу) - чтобы избежать таких, довольно очевидных ошибок непонимания.
Конечно гораздо лучший способ - погрузить что-то уже понимающего в программировании человека в свою предметную область, чтобы он с полу-слова понимал что имеется в виду - и отпускать его на 1-2-5 дней работать. Но это нужен минимально грамотный специалист уже.
В боле-менее сложной предметной области это работать не будет.
Довольно долго объяснять почему.
(Майкрософт по-моему так хотели делать лет 15 что-ли назад - но отказались потому, что это дебилизм).
Ну т.е. есть какая-то минимальная задача, которую разумно экономически разумно выделять. Ей соответствует минимальная квалификация "джуна".
Вы вот говорите - давайте брать людей ещё раньше, нарезать задачи ещё мельче, и оформлять их не в виде объяснения, а прямо в виде интерфейса, давайте посмотрим какие проблемы на этом пути:
1 - если я уже написал интерфейс на маленькую задачу, то времени написать сам код уйдёт меньше, чем передать эту задачу стажёру.
Т.е. после калькуляции - это он должен мне доплачивать за то, что я вместо "за 10 минут написал код" - 15 минут двигал тикеты в джире и ревьювил его код (не говоря о том дискомфорте, который мне это переключение контекстов деятельности доставит).
2 - а я вообще интерфейсы хорошо напишу? Т.е.
- разберём проблему
- прикинем что надо сделать;
- прикинем интерфейсы
- заимплементим реализацию
- впишем в текущую систему.
Без двух последних пунктов интерфейсы могут оказаться не совсем подходящими. А если надо будет что-то в интерфейсах поправить - стажёр же с высокой вероятностью не поймёт.
3 - таких маленьких задачек то густо топусто (вот мы когда студентов берём во-первых такие "выделимые" задачки отдельно для них готовим и иногда даже специально их не делаем, чтобы было чем студентов содержательно занять).
4 - самому написать куда надёжнее чем ревьювить.
...
Это сказки какие-то.
Ключевая проблема в том, что так, как вы это описали - в системном программировании / микроэлектронике почти никогда не работает (возможно в клепании сайтов - работает нормально).
Обычному челу после курсов я объяснять что как и почему надо сделать - буду дольше чем сам писать.
А там где это работает (например со студентами МГУ / МФТИ / ВШЭ) - так за ними очередь стоит из организаций желающих к себе пригласить их на оплачиваемую стажировку "подмастерьями" в вашей терминологии.
Т.е. типовые варианты примерно такие:
- человек уже что-то умеет - ок добо пожаловать на вакансию джуна.
- гарантировано толковый и почти хочет к вам (но мало что пока умеет) - добро пожаловать на вакансию стажёра.
- человек "очень хочет научиться", никакое собеседование пройти не способен и в любой момент как чему-то научится готов свалить - ну ок, готов год проработать за 0 рублей (10 000 рублей / месяц)?
У вас примерно такое видение взаимодействия-вознаграждения или другое?
Ну тогда вы зашли с нерепрезентативным примером. Можем обсудить его - но учтите: он мало относится к текущей проблематике "в целом".
Когда я нанимал - я делал предложение одному самоучке (один из одного человека получил предложение), т.к. у меня было чёткое понимание, что раз человек разобрался самостоятельно - то и с нашими задачами справится хотя и требуется дорасти.
С высокой вероятностью - взял бы и вас (ну т.е. у меня есть понимание, что если человек обучился сам, то он изначально на голову выше средних вкатышей через курсы), но как минимум прособеседовал бы.
Когда я входил в профессию - у меня было чёткое понимание, что трудовая этика такова: "сначала компания тебя дообучает, себе в убыток, а какое-то разумное время на них работаешь не перескакивая через год на ЗП повыше на 20%-50%"
Сегодня такой трудовой этики больше нет, в первую очередь благодаря пропаганде "рационального эгоизма". Ну ок раз так то обе части негласного договора "сначала мы дообучаем джуна себе в убыток потом он работает на нас" не выполняются. Поэтому СРАЗУ выставляем требования такими, чтобы джун обходился нам в не слишком большой убыток. Я не очень понимаю что в этом странного.
Опять же я вашу личную ситуацию не знаю, но когда я входил в профессию я получал меньше водителя в ЦентТелекоме где я работал "инженером-программистом".