learn1990 0 October 6 Posted October 6 · Report post Всем привет! Хочу поделиться болью и вынести на ваш суд один вопрос. Я уже 10 лет работаю программистом микроконтроллеров в компании, которая занимается контрактным производством электроники. Мы активно растем, и перед нами, как и перед многими, остро встала кадровая проблема. Суть проблемы: Нормальных специалистов не найти: они все уже устроены и дорого стоят. Молодых специалистов нет: выпускники профильных ВУЗов («Электроника», «Автоматика», «Приборостроение») приходят с практически нулевой подготовкой. Компании не хотят учить: наш опыт показывает, что бизнес не готов брать на себя риски и затраты на долгую и непредсказуемую подготовку «сырых» кадров. Что мы видим на собеседованиях? Честно, картина удручающая. У выпускников – голая теория без понимания сути. Они знают резистор и конденсатор, но на вопрос про транзистор или типоразмер SMD 0603 – слышат впервые. С программированием еще печальнее: ВУЗовская подготовка: Максимум – писали куски кода на ассемблере для устаревших платформ и запускали в симуляторе. При упоминании STM32, GigaDevice, NRF – полное непонимание. Периферия – тёмный лес: Таймеры, АЦП, DMA, SPI, I2C, UART, USB, память – не знают. Беспроводные технологии: Wi-Fi, BLE, LoRa – тоже мимо. «Ардуинщики»: Отдельная каста. Платформа отличная для прототипирования, но часто нет глубины. А в реальной работе постоянно приходится «залезать под капот»: работать с регистрами, писать драйвера с нуля для экзотических датчиков, где готовых библиотек нет. С этим у них большие проблемы. Идея и сомнения Возник душевный порыв – создать фундаментальный курс программирования МК «с нуля». Не просто «сделай раз, сделай два», а дать ту самую базу, которой так не хватает. Представляю его себе так: Основы информатики: Архитектура, системы счисления, логика, арифметика, хранение данных, указатели, память. Всё с огромным количеством практики. Язык C глубоко: Не просто синтаксис, а понимание моделей памяти, указателей, побитовых операций. Опять же – практика, практика, практика. Электроника с нуля: От Закона Ома до транзисторов и стабилизаторов. Показать современную элементную базу (выводную и SMD), как она выглядит и как «живет» на осциллографе. Программирование МК на реальных железяках: Взять не Arduino, а то, что реально используют в промышленности – STM32, GigaDevice, NRF. Подробно разобрать каждый блок периферии с лабораторными работами на учебных комплектах. Работа, понятное дело, колоссальная. Но меня останавливает один главный вопрос: а нужно ли это всё сейчас в России? Не получится ли так, что я вложу душу и время, а рынок настолько мал и не развит, что это никому не будет интересно? Сейчас все вокруг учат Python, JavaScript и Java. Электроника и «железо» остаются где-то за скобками, а профессия – в забвении. За державу, честно, обидно. И за профессию тоже. Что думаете? Сталкивались с такой же проблемой? Есть ли, по-вашему, запрос на такие фундаментальные курсы, или это мои личные фантомные боли? Буду рад любому мнению – и от коллег-работодателей, и от тех, кто только начинает свой путь. Share this post Link to post Share on other sites More sharing options...
whoami 5 October 6 Posted October 6 · Report post Всё давно уже есть и буквами и картинками. Хоть 100500 курсов сделайте, желание их слушать/смотреть не появится и тем более изучать за будущие 70 т.р. Время на ветер. Берите готовые кадры и платите нормальные деньги. 1 1 Share this post Link to post Share on other sites More sharing options...
Arlleex 309 October 6 Posted October 6 · Report post 19 минут назад, learn1990 сказал: За державу, честно, обидно. И за профессию тоже. Так можно и до монастыря дообижаться А вообще - лично я смысла не вижу. Если человеку что-то не интересно, вы его не заставите выучить все эти ваши побитовые операции и SMD-0603. 1 Share this post Link to post Share on other sites More sharing options...
whoami 5 October 6 Posted October 6 (edited) · Report post 3 minutes ago, Arlleex said: Так можно и до монастыря дообижаться А вообще - лично я смысла не вижу. Если человеку что-то не интересно, вы его не заставите выучить все эти ваши побитовые операции и SMD-0603. Битовые операции и SMD0603 - это вообще не играет никакой роли. Отсутствие логического мышления - вот основная проблема. А этому учат совсем по-другому. Зайдите ради интереса в телеграмм https://t.me/proembedded и посмотрите на уровень развития. Edited October 6 by whoami Share this post Link to post Share on other sites More sharing options...
haker_fox 76 October 6 Posted October 6 · Report post 1 hour ago, learn1990 said: Что думаете? Сталкивались с такой же проблемой? Есть ли, по-вашему, запрос на такие фундаментальные курсы, или это мои личные фантомные боли? Буду рад любому мнению – и от коллег-работодателей, и от тех, кто только начинает свой путь. Отвечу прямо, без обид. Никому эти курсы не нужны. От того, что Вы соберёте всё в одном месте и дадите потенциальному кандидату в профессиональные разработчики знания от того, что такое электрон до того, как соорудить измеритель с заданными характеристиками и от того, что такое бит и до того, как написать класс на Си++ с шаблонами с прелестями Си++20 - квалифицированных разработчиков больше не станет. Всё необходимое, как уже отметили выше, - есть. Есть как в сети, так и в печатной литературе. Было бы желание изучать. Проблема в том, что часто этого желания не наблюдается даже у далеко не ленивых и даже, что парадоксально, заинтересованных в данной работе людей. Некоторым, это очень важно, достаточно того уровня, который у них есть. Без желания расти далее. При этом, наблюдая таких людей, я не могу ничего сказать про них плохого. Они специалисты - но, скажем так, низкого уровня. Хорошие руки, умение подмечать мелочи, но не более. И надеяться, что такие станут расти - предубеждённое разочарование. Эти люди останутся на своём уровне. Они не станут разработчиками. Какой бы замечательный курс вы не создали. Один из таких людей мне недавно сказал (дословно): мне это не нужно, я не боец, вся надежда на тебя (на меня - в нашем диалоге). При этом я не могу сказать об этом человека ничего плохого как об исполнителе. Но не созидателе. Хотя, что-то предложить он порою может. Но не на высокому уровне полёта. Чего же желать от тех, кто вообще не заинтересован в профессиональном росте, а хочет только зарабатывать? Но мы о них не будем. Поэтому, подытожив сказанное, я соглашусь с тем, что заинтересованный в своём деле человек отыщет необходимую литературу и вырастет профессионально без каких-либо созданных тепличных условий. 1 hour ago, learn1990 said: За державу, честно, обидно. И за профессию тоже. Это лишь слова. Мир уже не тот, каким был лет 20 назад. Скоро и разработчиков электроники может не остаться. А вы - радуйтесь. Вам меньше конкуренции. 1 hour ago, learn1990 said: а профессия – в забвении Это не совсем так. Вы попробуйте найти хорошего врача в конкретной области. Врача качественного и дотошного. Или отличного сантехника. Уверен, что со временем будете также думать и об этих специальностях)) 2 Share this post Link to post Share on other sites More sharing options...
whoami 5 October 6 Posted October 6 · Report post Законы природы курсами не изменишь. Share this post Link to post Share on other sites More sharing options...
Anxigeros 2 October 6 Posted October 6 · Report post 2 часа назад, learn1990 сказал: ... но на вопрос про транзистор или типоразмер SMD 0603 – слышат впервые. Для чего эту информацию требовать от соискателя на должность "программист"? Схемотехник не может объяснить это в рабочем порядке? 2 часа назад, learn1990 сказал: ... писали куски кода на ассемблере для устаревших платформ и запускали в симуляторе. Этр крайне печально слышать. Еще лет 10 назад, учась в универе по смежной специальности, запускал код на языке C, без HAL, на реальной демонстрационной плате, с МК от TI (правда, архитектура тоже устаревшая - ARM7TDMI). 2 часа назад, learn1990 сказал: ... а рынок настолько мал и не развит, что это никому не будет интересно? Поэтому большинство уже сейчас и выбирают "большое IT" - и вакансий больше, и зарплаты выше. Share this post Link to post Share on other sites More sharing options...
haker_fox 76 October 6 Posted October 6 · Report post 3 hours ago, learn1990 said: Представляю его себе так: Основы информатики: Архитектура, системы счисления, логика, арифметика, хранение данных, указатели, память. Всё с огромным количеством практики. Язык C глубоко: Не просто синтаксис, а понимание моделей памяти, указателей, побитовых операций. Опять же – практика, практика, практика. Электроника с нуля: От Закона Ома до транзисторов и стабилизаторов. Показать современную элементную базу (выводную и SMD), как она выглядит и как «живет» на осциллографе. Программирование МК на реальных железяках: Взять не Arduino, а то, что реально используют в промышленности – STM32, GigaDevice, NRF. Подробно разобрать каждый блок периферии с лабораторными работами на учебных комплектах. Кстати, а Вы один курс по этим направлениям сможете написать? Или найдутся альтруисты?)) И доносить все эти знания предполагается одному человеку? Или хотите несколько курсов? Share this post Link to post Share on other sites More sharing options...
yes 15 October 6 Posted October 6 · Report post в идеале... если надо студентов (в среднем один-два в год), которые потом будут работать то я бы попытался так - найти какой-то профильный вуз с хорошей базой и адекватным руководством (регион не указали, но в Москве это может быть МИФИ или МФТИ (это по первому пункту, про адекватность руководства - х.з.)). скорее всего, какие-то связи с вуз-ами у программистской конторы ненулевого размера, по-моему, должны быть - какие-то доценты по совместительству, бывшие преподаватели и т.п. там найти молодого (меньше 50 лет, а не больше 70) преподавателя и помочь с лабами, оборудованием и т.п. как я понимаю, напрямую деньги давать не выйдет, разве что по-совместительству. и этот преподаватель будет отбирать ту пару студентов (год к году разные - иногда может быть 5 человек, иногда 0), которая может начать ходить на фирму и что-то делать. стартовая зарплата может быть сильно меньше рынка, но потом по-любому, надо будет платить "среднюю" зарплату, чтобы не разбежались. ну и из этих отобраных, где-то треть останется на фирме, и могут стать ведущими/ключевыми сотрудниками. по-моему со штатом в 50+ программистов/инженеров - уже оправдано, будет дешевле, чем ХР, который шерстит всякие джоб.ру и т.п. обеспечивая те же 1-2 "молодых специалистов" ----------- если хочется карму улучшить, себя показать и вклад в общечеловеческое - то курс написать было бы неплохо. но если "програмировать не получается, будем учить" - вряд ли хороший подход, и даже не у всех, кто умеет програмировать, получается учить. курс надо с какими-то заданиями, заточить потом по результатам обратной связи и т.п. - то есть считаю, непростая задача. ну и понятно, что у курса зрителей/просмотров будет на три порядка меньше, чем у курсов "как ничего не делать и поднять кучу денег", типа заработка в социальных сетях, смм-щиков и прочих "личностых ростов" т.п. 1 Share this post Link to post Share on other sites More sharing options...
quаrk 67 October 6 Posted October 6 · Report post 7 часов назад, learn1990 сказал: Суть проблемы: Нормальных специалистов не найти: они все уже устроены и дорого стоят. Молодых специалистов нет: выпускники профильных ВУЗов («Электроника», «Автоматика», «Приборостроение») приходят с практически нулевой подготовкой. Компании не хотят учить: наш опыт показывает, что бизнес не готов брать на себя риски и затраты на долгую и непредсказуемую подготовку «сырых» кадров. Вам стоит попробовать посмотреть на эту проблему с разных ракурсов и точек зрения. Тогда, возможно, станет понятнее... 1) Во первых, любой разработчик - это, в первую очередь, инженер. А только во вторую - программист, схемотехник, конструктор, технолог и так далее. То есть, наличие базовой инженерной вузовской подготовки - обязательно. Но не обязательно, строго по вашему профилю. Это, на самом деле, решающего значения не имеет... Проблема в том, что ни какими курсами вы это базовое инженерное образование не замените. Не стоит даже пытаться. Если у соискателя нет инженерного образования - не стоит тратить на него время... 2) По статистике, из 100 выпускников инженерных ВУЗ-ов, собственно инженерами становятся человек 10, а разработчиками, в лучшем случае, 2-3 из них. Так было и в советское время, и сейчас, примерно, так. Остальные 90 настоящими инженерами никогда не станут. Да и, обычно, не особо стремятся к этому. Хотя инженерное образование, в дальнейшем, им может очень пригодиться. Пытаться сделать из них высококлассных инженеров, тем более, разработчиков - бесполезный труд. Если соискатель проявляет признаки "инженерного мышления", то, возможно, он будущий инженер и даже разработчик. Остальных нужно "отсеивать"... 3) Предположим, что соискатель имеет базовое инженерное образование и демонстрирует некоторые признаки "инженерного подхода" к делу. Но почти ничего не знает по вашему профилю - нужные вам навыки и конкретные знания отсутствуют. Если вы сразу укажете ему на дверь, то я не уверен, что это будет правильным решением. Конкретные навыки и специальные знания - это дело наживное. Было бы желание и время их получить. Дайте ему, для начала, не самую сложную (но и не совсем простую), но главное реальную задачу, в процессе решения которой он получит необходимые знания и навыки самостоятельно. И с вашей помощью, дополнительно. Важно, чтобы инициатива исходила от него. Самостоятельность и "незашоренность" мышления - это еще одно, если не обязательное, то очень желательное качество разработчика... 4) Таким образом, наиболее эффективный способ обучения классного специалиста - это метод "бросания котенка в воду" (но без камня на шее, конечно))). Выплывет - молодец. Нет - значит, не судьба... А теперь представьте себе, что потратив титанические усилия, вы создали какой-нибудь "центр обучения разработчиков", куда принимаете всех желающих. Лишь бы был диплом инженера... И вот приходит к вам на работу такой соискатель. Кладет на стол диплом инженера (возможно, не один), свидетельство об окончании этого "центра" (тоже, возможно, не одно) и просто требует принять его на вашу вакансию. Получится ли из него хороший разработчик - большой вопрос. Вероятность 2-3%... P.S. Хотя, если подходить к созданию подобных центров, как к разновидности бизнеса - это уже немного другой ракурс... P.P.S. Во всем мире существовали (и я надеюсь, еще существуют), так называемые "инженерные школы". Это, для простоты понимания, достаточно большой, устойчивый коллектив высококлассных специалистов, постоянно работающих в какой-то организации (КБ, НИИ, достаточно крупная коммерческая фирма и т.п.). По мимо своей основной задачи - разработки новых изделий, он выполняет задачу воспроизводства кадров. В него постепенно вливаются молодые специалисты, набираются опыта, старые со временем уходят. Собственно, это и есть тот самый "интеллектуальный капитал" в прямом смысле... Прежде чем изобретать собственные велосипеды, может стоит обратить внимание на опыт, наработанный многими поколениями? 1 2 Share this post Link to post Share on other sites More sharing options...
SVNKz 8 October 6 Posted October 6 · Report post Эта работа должна выполняться несколькими специалистами в соответствие с нормами и ГОСТ-ми на каждый этап разработки, которые подробно описываются в ТЗ - основополагающий документ, определяющий, в первую очередь, объём, сроки и стоимость всей работы. Share this post Link to post Share on other sites More sharing options...
ДЕЙЛ 37 October 6 Posted October 6 · Report post Смутно представляю, как можно научить программированию по одному учебнику, даже идеальному. Пример_1: я изучал MSP430, применял в дипломной работе. Мне была непонятна необходимость оцифровки аналогового сигнала через строго определённые интервалы времени. Сейчас понимаю, что это используется в цифровой обработке. Т.е. от АЦП переходим плавно к ЦОС со всеми преобразованиями Фурье и Лапласа, свёртками и развёртками, а для этого предварительно нужно освоить семитомник высшей математики от Смирнова и ТОЭ. Пример_2: во время изучения ядра Cortex M3/M4 наткнулся на системный таймер. Чем он такой особенный? А оказалось, что он используется в операционных системах. Т.е. появляется ответвление в сторону теории работы ОС + соответствующая практика минимум на пару лет. Пример_3: изучили мы МК, далее нужно строить окружение, которому что-то нужно передавать: софт на ПК, на Андроиде, разные радиомодули и прочие игрушки. Т.е. появляется ответвление в сторону Delphi, C#, а это потребует изучения объектно-ориентированного программирования (+5 лет). Это всё из своего опыта. Т.е. невозможно охватить всё от электрона до самообучающихся систем в одном руководстве. Так-то идея хорошая. Если писать руководство по программированию МК, то можно взять какой-нибудь User Manual STM32, перевести все главы и после каждой главы поморгать светодиодами, т.е. написать практикум по пройденному материалу. После подобного практикума со светодиодами писать второй том и перейти к более интересному материалу с использованием разных дисплеев, радиомодулей, карт памяти, звуковых декодеров и т.д. Третий том посвятить сопряжения с ПК, смартфонами и интернетами. Четвёртый том посвяти работе с нейросетями и квантовыми процессорами. 8 hours ago, haker_fox said: Скоро и разработчиков электроники может не остаться. А вы - радуйтесь. Вам меньше конкуренции. вот этого нельзя допустить, иначе и нам придётся лес валить, ведь один в поле не воин. Это всё равно, что приехать в сибирский Нефтескважинск и гордиться тем, что ты единственный в городе электронщик. Только кому ты нужен там? 9 hours ago, whoami said: Зайдите ради интереса в телеграмм https://t.me/proembedded и посмотрите на уровень развития. Это школьники? Share this post Link to post Share on other sites More sharing options...
mantech 121 October 6 Posted October 6 (edited) · Report post 13 часов назад, whoami сказал: Хоть 100500 курсов сделайте, желание их слушать/смотреть не появится и тем более изучать за будущие 70 т.р. Ну за 70т сейчас на постоянку пойдут только ардуинщики с соотв.результатом в дальнейшем, для себя выбрали аутсорс, и свободный график, я один из таких, все устраивает, работодатель не претендует на мое личное время, и не заставляет работать только на него, я как исполнитель обязуюсь в срок сделать все по ТЗ работодателя, на до мной нет никаких контролирующих средств, мне не надо сидеть в зуме и двигать мышкой и т.п. маразм. Тут вопрос взаимного доверия. Вот примерно так и работаем, уже лет 5 наверно... А на счет курсов - если разработчик заинтересован в развитии, работе по более сложным ТЗ, то он сам найдет, где учиться, ну а если там зумер-хренер хочет просто получать бабло, а сам ничего не изучать, то хоть на 10 курсов его направьте, все равно пустое... Edited October 6 by mantech 1 Share this post Link to post Share on other sites More sharing options...
haker_fox 76 October 7 Posted October 7 · Report post 10 hours ago, ДЕЙЛ said: вот этого нельзя допустить, иначе и нам придётся лес валить, ведь один в поле не воин. Это всё равно, что приехать в сибирский Нефтескважинск и гордиться тем, что ты единственный в городе электронщик. Только кому ты нужен там? А Вы пробовали? Может быть и нужен) Но разве шла речь о гордости? Я говорил лишь о конкуренции в нужном месте и в нужный час. Я не думал, что потребуется пояснять ненужность высококлассного электронщика на Луне (спутнике). Подразумевалось, что он находится на предприятии, где востребован. Но я согласен в том, что когда ты один - бывает очень тяжело. Ибо ты - впереди. Часто тебе задают вопросы, но не ты кому-либо. Порою это изматывает. Но и предложенный способ воспитания разработчиков через курсы я считаю утопией) 6 hours ago, mantech said: ну а если там зумер-хренер хочет просто получать бабло, а сам ничего не изучать, то хоть на 10 курсов его направьте, все равно пустое... Вот-вот! Подтверждаю! Вообще, не помню времён, скажем так с 0 года н.э., когда не было возможности учиться жаждущему и страждущему знаний! Люди, которые хотели, учились всегда, находили для этого и время и средства. Не у всех они были, но это компенсировалось страстным желанием. Помню, в конце 90-х у нас дома еды не было по 3 дня (без шуток), но школу я не бросил, хотя было жутко тяжело. Share this post Link to post Share on other sites More sharing options...
mantech 121 October 7 Posted October 7 (edited) · Report post 9 часов назад, haker_fox сказал: Помню, в конце 90-х у нас дома еды не было по 3 дня (без шуток), но школу я не бросил, хотя было жутко тяжело. Да уж 90е я тоже хорошо помню, ЗП у родителей не было по 4-5 мес, жрать было нечего, хорошо огород у бабушки с дедом, я в политех только поступил, хорошо хоть на "бесплатку", а так пришлось бы идти на стройку электриком по спец в ПТУ. Хорошо, люди добрые подсказали подработку, делать электронные табло, благо при помощи деда научился самостоятельно разбираться в логических МС, появились денежки и желание изучать новое... 19 часов назад, ДЕЙЛ сказал: Это всё равно, что приехать в сибирский Нефтескважинск и гордиться тем, что ты единственный в городе электронщик. Только кому ты нужен там? Вот и зря, наоборот прикормится неплохо можно делая то, что не могут местные, в условном нефтескважинске тоже используется полно всякой техники, ломается промавтоматика, поэтому, если голова соображает, и предложишь альтернативу, то будешь в шоколаде... Нее, конечно, если гордому электронщику повесить табличку на шею "ищу работу" и стоять у вокзала или на площади, то толку будет мало, никому там такой пассивный не нужен, надо идти вперед искать и предлагать то, что нужно здесь и сейчас. Edited October 7 by mantech 1 1 Share this post Link to post Share on other sites More sharing options...