На рынке разработчиков микроэлектроники катастрофическая нехватка кадров и на пороге этого сегмента не стоит очереди желающих. Для обучения базовым навыкам использования языков описания аппаратуры (HDL) нужен минимальный набор инструментов,но при попытке студента установить его впервые, как правило, всплывает куча дополнительных проблем. И первая из них — это Linux. Можете не верить, но не все студенты сейчас горят желанием работать в непонятной консоли, когда рядом есть удобные «окна», на которых с тем же успехом можно изучить Python и SQL по готовым и понятным курсам и жить долго и счастливо. А ведь придется еще столкнуться с выбором симулятора, поиском для него дополнительных библиотек и т. п. Короче, даже для простой симуляции схемы порог входа получается очень высокий.

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

Привет, Хабр!

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

Зачем нужна была эта «экскурсия»

В культуре разработчиков микроэлектроники есть негласное правило, что тот, кто хочет, учится самостоятельно. В интернете действительно много источников на тему разработки. К примеру, замечательный курс АПС МИЭТ, материалы, подготовленные Юрием Панчулом и командой, а также материалы Станислава Жельнио.

Чтобы начать их проходить, нужна среда для симуляции. Уже на старте возникает вопрос «Какой мне выбрать Linux?».

Симуляторы чувствительны к версии линукса больше, чем этого хотелось бы. Часть симуляторов будет работать из коробки, однако другим могут потребоваться дополнительные библиотеки. Разобраться с этим не всегда удается быстро. При этом навыки администрирования Linux в ракурсе микроэлектроники на самом деле вторичны.

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

Как проходило обучение

В рамках проекта «Больше чем старт» в нашу группу прошли отбор 14 человек. Для них мы читали лекции и проводили лабораторные работы.

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

Всего было запланировано девять теоретических занятий:

  • первые 3 занятия посвящены изучению функционала описания логических микросхем,

  • следующие 3 — про основы микропроцессорных систем, в частности про ISA RISC‑V,

  • заключительные 3 — про изучение языка SystemVerilog.

Но по итогу занятия получились следующими:

  • 3 занятия — на изучение основ языка Verilog

  • 2 занятия — на изучение маршрута разработки и экскурсию в компанию

  • 4 занятия на изучение микропроцессорных систем

Занятия по SystemVerilog уже не поместились в отведенное время.

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

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

Пример задания:

Опишите декодер 3в8, используя:

а) И, НЕ

б) логический сдвиг

в) if-else

г) case

д) тернарный оператор

Начальный уровень сложности — выполнить один из предложенных вариантов.

На дом остаются остальные варианты.

Требования к тестбенчу:

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

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

Преподавателями и консультантами выступили сотрудники компании. Конечно, для проведения практики пришлось отвлекать инженеров от основной работы. В долгосрочной перспективе это окупается, однако несет некоторые риски, связанные со сроками сдачи проектов. Мы это осознавали на 100%. Не получится отвлечь человека наполовину, на ¾ и т.д. Разработка курса, подготовка материалов и проверка заданий требует огромного количества времени и сил.

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

Что дальше

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

 В МИФИ мы провели пилотный проект по взаимодействию с ВУЗами, который далее будем развивать и дорабатывать.

Для читателей Хабра доступна возможность отправить своё резюме на start@aq.ru для прохождение практики или стажировки. В зависимости от цели и степени подготовки кандидата последующее собеседование может быть разделено на 2 части: знакомство, на котором мы оценим кандидата и ознакомим с требованиями к стажировке на интересующее направление, и техническое собеседование.

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

Комментарии (55)


  1. ky0
    27.09.2024 16:49
    +21

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

    Так развенчайте эти стереотипы. Иначе, получается, это не стереотипы?


  1. REPISOT
    27.09.2024 16:49
    +9

    Так и не увидел, как именно вы "снижаете порог".

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

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


    1. 2128507
      27.09.2024 16:49
      +4

      экосистема ардуино ДРАМАТИЧЕСКИ снижает порог вхождения в аппаратную разработку, не требуя для поделок среднего образования вообще. Главное, чтобы глючные либы от других таких же энтузиастов, не пересекались по таймерам и прерываниям. Вы посмотрите форумы ардуинщиков - там большинство советов по решению проблем в виде "возьми вот эту либу, у меня норм работает". Там не бывает так, чтобы люди обсуждали как линию задержки встроить на резисторах и кондерах, они обсуждают как бы при модифицированном таймере встроенную функцию delay() заюзать, с той же целью.

      В итоге, в дополнение к куче людей, не знающих математику и javascript, но при этом успешно кодящих на Vue за полтос в месяц, теперь есть еще масса "аппаратных разработчиков", не понимающих, как UART и RS232 превращаются друг в друга, не знающих законы Ома и Кирхгофа. Просто люди в 40 лет научились управлять электричеством в микросхемах в одну строчку, и пришли от этого в восторг, и почитали еще форумы, и поняли еще что-то сакральное, и пошли на хабр. фриланс, ну вы понимаете ага)

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

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


      1. randomsimplenumber
        27.09.2024 16:49
        +3

        экосистема ардуино ДРАМАТИЧЕСКИ снижает порог вхождения в аппаратную разработку, не требуя для поделок среднего образования вообще.

        Для мигания лампочкой - да. А если захочется накодить полётный контроллер для квадрокоптера или управление для ЧПУ - ну-ну.

        теперь есть еще масса "аппаратных разработчиков", не понимающих, как UART и RS232 превращаются друг в друга, не знающих законы Ома и Кирхгофа

        Если они успешно решают свои задачи - в чем проблема?


        1. MinimumLaw
          27.09.2024 16:49
          +3

          Если они успешно решают свои задачи - в чем проблема?

          Прошу прощения, что влез. Надеюсь не помешаю.

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


          1. randomsimplenumber
            27.09.2024 16:49
            +2

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

            Если железка успешно проработала 1 год - как Arduino сможет ей помешать проработать ещё 10 лет?


            1. MinimumLaw
              27.09.2024 16:49

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


              1. randomsimplenumber
                27.09.2024 16:49
                +1

                Ну то есть лампочка мигала себе 1 год, а на 2-й перестала, потому что внутри loop() ? O_o


                1. Tim_L
                  27.09.2024 16:49

                  Ну одного сдеградировавшего триггера может быть вполне достаточно


                  1. randomsimplenumber
                    27.09.2024 16:49

                    С чего ему деградировать? Не перегревайте и питание давайте согласно даташиту. То что деградирует (eeprom) - про это есть в даташите. Ну, не пишите туда без необходимости.


                1. MinimumLaw
                  27.09.2024 16:49

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

                  А главное - а зачем для мигания лампочкой loop и вообще контроллер? Вам не кажется, что крайне удобно подбирать такие вот примеры. Давайте брать другое - когда надо что-то сделать и дождаться установки статус-бита. Куда как более типовая задача. Да не одна такая история, а несколько - что тоже типовая задача для контроллера. И в едином loop'е - все как вы любите... Тогда ситуация сразу разительно меняется...

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


          1. kenomimi
            27.09.2024 16:49
            +2

            Проблема в том, что они не решают свои задачи УСПЕШНО. Они их решают КАК МОГУТ. 

            Природа так миллиарды лет делает, и всё вроде еще не развалилось /s


            1. MinimumLaw
              27.09.2024 16:49

              Все "тупиковые ветви эволюции" передают вам пламенный привет!


              1. randomsimplenumber
                27.09.2024 16:49

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

                Неверная аналогия подобна саблезубому тигру с дверцей.


                1. MinimumLaw
                  27.09.2024 16:49

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

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


    1. MinimumLaw
      27.09.2024 16:49

      Вот ардуино снижает порог.

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

      Не мне судить что тут хорошо, что плохо. Я предпочту посмотреть как индустрия будет выходить из этой ситуации. Актуальное решение с HAL и RTOS вроде бы позволяет перевести острую фазу в хроническую. Но это именно смена фаз, а не лечение. Плюс ко всему пока и тут нет единого понимания что и как делать. Да и не решает это поставленные вопросы. Да, прикладным программистам, занятым каким-нить backend'ом на этот уровень уже можно опуститься в разумные сроки. Но найдется ли достаточное количество желающих? Неподготовленный человек справится с Arduino, но точно не осилит быстро HAL+RTOS. Вернее безусловно осилит, но нужно время. Люди старой закалки (где они еще остались) с трудом переходят на эту парадигму. Она им только мешает, создавая избыточную сложность и нагрузку на процессор.

      Есть, безусловно, и альтернативы. Есть множество попыток сделать здесь C++. Как самостоятельно, так и связке с HAL/RTOS. На эту территорию заглядывает Rust. Есть здесь и скриптовые языки, типа того же MicroPython'а или даже Java. Но пока это очень малая часть от объемов рынка.


      1. randomsimplenumber
        27.09.2024 16:49
        +1

        Ну и в чем подвох? Вместо вылизывания тактов на ассемблере - камень побольше, и в production? Так цена attiny13 и stm32f103 не настолько отличается, чтобы в это упарываться

        Неподготовленный человек справится с Arduino, но точно не осилит быстро HAL+RTOS.

        Будет нужно - осилит. Это проблема конкретного человека, и она решаемая. Если он справился выучить С, и научился вызывать 20 функций - почему бы не выучить ещё 50?


        1. MinimumLaw
          27.09.2024 16:49

          Так я ведь ровно про это же. Я не просто так упомянул дуст.

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

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


          1. randomsimplenumber
            27.09.2024 16:49

            экспоненциально растет с ростом количества задач.

            О(e^N) наверное можно добиться,ихотя я не представляю как.

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

            А это необходимо всем и всегда?

            Ну или если репутационные потери мы не считаем за потери в принципе.

            Железка она или работает согласно ТЗ или нет Если работает - какие репутационные потери? Что заказано то и получено. Если не работает - зачем пустили в production?


            1. MinimumLaw
              27.09.2024 16:49

              А вы уверены в том, что ваши приемо-сдаточные тесты не просто проверяют железку на соответствие ТЗ здесь и сейчас, но и ГАРАНТИРУЮТ ее работоспособность в течении заявленного срока эксплуатации?

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

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


              1. randomsimplenumber
                27.09.2024 16:49

                А вы уверены в том, что ваши приемо-сдаточные тесты не просто проверяют железку на соответствие ТЗ здесь и сейчас, но и ГАРАНТИРУЮТ ее работоспособность в течении заявленного срока эксплуатации?

                Я уверен, что связи между наличием loop () и сроком эксплуатации нет. Процессор от выполнения loop не изнашивается


                1. MinimumLaw
                  27.09.2024 16:49

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


      1. JustMoose
        27.09.2024 16:49
        +1

        Неподготовленный человек справится с Arduino, но точно не осилит быстро HAL+RTOS.

        Зато неподготовленному человеку (который не пользовался Arduino) будет гораздо проще. Ведь ему ничего не стоит изучить HAL+RTOS, а заодно прячущиеся за ними просто программирование, низкоуровневое программирование, схемотехнику, теорию создания ОС, кратенькое введение в построение микропроцессоров, и всё это в объёме, который обычно учат в ВУЗе всего за 5 лет, получая при этом на выходе инженера-системотехника. (конец сарказма).

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


        1. MinimumLaw
          27.09.2024 16:49

          Да! Именно так. Правда, по большому счету это никак не скажется на времени подготовки специалиста. Увы, в этом плане 5 лет института реально стоят хорошо если года специализированного обучения...

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

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

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


          1. randomsimplenumber
            27.09.2024 16:49

            специфичный язык ардуино

            C++ самый обычный. Что в нем специфичного?


            1. MinimumLaw
              27.09.2024 16:49

              Хм...

              https://all-arduino.ru/programmirovanie-arduino/ - одна из первых ссылок в google. Ну хорошо, пусть это будет C++ с библиотеками. Но специфичность очень хорошо прочувствуется на том же сайте в уроках. Посудите сами - одна из ссылок с той страницы https://all-arduino.ru/arduino-dlya-nachinayushhih-urok-11-interfejs-i2c/ - это в самом деле код, готовый для промышленного применения? Даже если поверх "накрутить" обработку ошибок - сама идеология использования данного языка, как бы это помягче... А я неоднократно общался с теми, кто абсолютно уверен в том, что там не просто можно - только так и нужно. И это именно то, о чем я и говорил.

              И да, BASIC для AVR тоже вполне себе присутствует, Например вот или вот. И стилистика написания кода там примерно такая же. К слову, а нет ли BASICа для, допустим, STM32?


              1. randomsimplenumber
                27.09.2024 16:49

                специфичность очень хорошо прочувствуется на том же сайте в уроках

                Ну, все вопросы к авторам уроков. Если они считают, что это не плюсы, а какой то отдельный язык - кто я такой чтобы с ними спорить? У меня и курсов своих нет, и gcc-avr я внутри Arduino IDE на помойке нашел.

                это в самом деле код, готовый для промышленного применения?

                Хз. А г-код, если он под rtos, он автоматически начинает цвести и пахнуть?


    1. accurate_random
      27.09.2024 16:49

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


    1. akusuu
      27.09.2024 16:49

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


  1. asatost
    27.09.2024 16:49
    +3

    Можете не верить, но не все студенты сейчас горят желанием работать в непонятной консоли, когда рядом есть удобные «окна»

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

    на которых с тем же успехом можно изучить Python и SQL

    Python? На Windows? Удобно? Это как в том анекдоте "выберите любые два"?

    В культуре разработчиков микроэлектроники есть негласное правило, что тот, кто хочет, учится самостоятельно

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

    Уже на старте возникает вопрос «Какой мне выбрать Linux?»

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


    1. randomsimplenumber
      27.09.2024 16:49
      +1

      Python? На Windows? Удобно?

      В чем проблема? pycharm кроссплатформенный, python тоже


      1. asatost
        27.09.2024 16:49

        В чем проблема? pycharm кроссплатформенный, python тоже

        Для начала хотя бы в том, что cmd не юникодный по умолчанию.
        А вообще на этот вопрос уже кто только не отвечал: https://stackoverflow.com/a/11338865/7584170


        1. randomsimplenumber
          27.09.2024 16:49
          +1

          cmd не юникодный по умолчанию

          А при чем тут изучение python?


          1. asatost
            27.09.2024 16:49

            А при чем тут изучение python?

            Это зависит от того, что Вы понимаете под "изучение python". PyCharm + пара окон cmd для мониторинга логов, например, и Ваше обучение становится чуточку загадочнее.


            1. randomsimplenumber
              27.09.2024 16:49

              Какая то загадочная техника изучения python ;) Ожидалось что словари в Windows как то не так работают.. Или символы иначе считаются.


              1. asatost
                27.09.2024 16:49

                Ожидалось что словари в Windows как то не так работают.. Или символы иначе считаются.

                Так речь была исключительно про удобство, а не про то, что поведение меняется. :)
                Сравните sudo apt-get install redis-server или прочитай мануал на официальном сайте что под Windows сперва установите WSL.


                1. randomsimplenumber
                  27.09.2024 16:49

                  Простите, что такое redis server и каким боком он к изучению python? И что за сложносте в установке WSL?


        1. Matshishkapeu
          27.09.2024 16:49

          Ну по ссылке обсуждение не питона а Django, применением которого использование питона не исчерпывается совсем. Основное применение питона по числу использующих - это продвинутый калькулятор и то, для чего задумывались макросы в МС офисе да как-то не взлетели. А так работал я, например, в конторе где на PyQt работала GUI для общения с контроллерами и всяким низкоуровневым через TwinCAT. Поскольку у клиентов оно все работало на компах с виндой никто не догадался вести разработку под линуксом.


  1. Mox
    27.09.2024 16:49

    А синтез вы показываете? Если да - то как? Есть какой-то бесплатный синтезатор verilog и библиотека для примера? Может быть в какой-то FPGA?


  1. Markscheider
    27.09.2024 16:49
    +1

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

    - Имя, сестра, имя!!!


  1. rukhi7
    27.09.2024 16:49

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

    То есть желающие то были в большом количестве, но взяли только 5! И эти люди рассуждают о снижении порога. О нехватке специалистов. Может надо просто дать возможность начать учиться всём желающим?


    1. VladaZueva Автор
      27.09.2024 16:49

      5 человек мы приняли на стажировку- работу.

      Из 14 кто проходил обучение/практику.


      1. rukhi7
        27.09.2024 16:49

        В рамках проекта «Больше чем старт» в нашу группу прошли отбор 14 человек.

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


    1. kenomimi
      27.09.2024 16:49

      Коммунизм кончился в 1990м. Берут лучших, остальные увы, ищите дальше.

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


      1. rukhi7
        27.09.2024 16:49

        Может надо посмотреть по каким критериям отбирают в стажёры?


        1. kenomimi
          27.09.2024 16:49

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

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


  1. forthuse
    27.09.2024 16:49

    Некоторые мысли для подумать по сокращению порогa входа студентов в микроэлектронику можно почерпнуть и в этом видео. :)
    Языки программирования/Спецпроцессоры/Прототипирование компиляторов
    https://rutube.ru/video/f7b141bed016036e7b208703a85842af/


  1. WebPeople
    27.09.2024 16:49

    Вот вам идея на миллион, что реально снизит порог входа. Рекрутинг 2.0, алгоритм:

    1. Создать качественный роадмап. Реальная дорога к становлению разработчиком железа, а не список советов типа прочтите эти 10 книг и станете профи. Кому как не вам понимать, что нужно знать. Начиная со школьных знаний. Роадмап лучше даже как промо-сайт сделать. Как на roadmap.sh делают.

    2. Напихать в этот роадмап чекпойнты (вехи).

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

    4. На странице финального чекпойнта - предложить оффер с хорошим окладом (не по рынку, выше, по РЕАЛИЯМ ЖИЗНИ). Можно даже несколько офферов сделать для предыдущих чекпойнтов с более низкими окладами.

    5. Ну и распространить этот роадмап везде, где получится. Только надо заранее проработать вопрос, что вам делать, если людей будет больше, чем вам надо. Отказывать финалистам потому что у вас нет мест - портить свою репутацию. Договоритесь с конкурентами. Или ассоциацию с ними создайте/войдите в существующую.

    В итоге вы получите воронку специалистов по вашим критериям:

    • Самостоятельных (путь каждый желающий проходит в своем темпе)

    • Системно-мыслящих (вы же сами роадмап составляете, вот и заложите туда системность)

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

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

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

    Не благодарите)


  1. jackchickadee
    27.09.2024 16:49
    +2

    На рынке разработчиков микроэлектроники катастрофическая нехватка кадров

    здесь считают иначе:
    https://another-it.ru/2024/09/20/are-electronic-engineers-following-it-specialists/

    Как разработчик железа, мы постоянно сталкиваемся с нехваткой разработчиков микроэлектроники

    досыпьте в кормушку от 100 до 200% текущего дохода и нехватка резко сократится. я гарантирую это.


    1. MinimumLaw
      27.09.2024 16:49

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

      Другое дело, что в той парадигме, в которой существует современная Россия, они и не нужны. Уж в значимых количествах точно. Но это уже политика. А Хабр, как мы помним, не для политики. И не жалобная книга.


      1. jackchickadee
        27.09.2024 16:49
        +2

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


        1. MinimumLaw
          27.09.2024 16:49

          Это да.

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


  1. oliva80
    27.09.2024 16:49

    а кто вам такую задачу поставил 'снизить порог входа' ? почему не попросили, скажем, научить всех желающих проектировать микросхемы? :)

    спасибо в любом случае, хорошее дело делаете!

    p. s. идея WebPeople о 'роадмапе' - совершено прпвильная.


    1. jackchickadee
      27.09.2024 16:49

      а кто вам такую задачу поставил 'снизить порог входа' ?

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


  1. of_couse
    27.09.2024 16:49

    Ваша статья пестрит триггерами, историческое легаси тянется тяжёлым грузом, адекватной экосистемы разработки нет. То бишь человеку творящему что-то сложнее jk trigger придется изучить дистрибьютивы Linux, симуляторы, администрирование, накатывание совы на глобус, а уж только потом работать с низкоуровневой логикой. Я понимаю, человек должен быть хорошо развит во многих аспектах электроники, иметь особое системное мышление. Но отсутствие возможности хотя бы в примитивных возможностях пощупать эту сферу by plug And play, выбивает из сферы десятки и сотни людей, которые бы потенциально могли решать базовые задачи, с последующим ростом компетенции.