Сообщество - Лига программистов
Добавить пост

Лига программистов

1 542 поста 11 461 подписчик

Популярные теги в сообществе:

Нравиться язык C# нашел по нему курсы и т.д Но есть ли работа?

Добрый день. Вопрос таков: Популярен ли язык C# в СНГ пространстве (Казахстан) и есть ли смысл его учить ? Ответы такие как: Если нравиться просто учи, не пишите)

Например если учишь swift, java, js, python и php +- работу можно найти и вакансий на том же HH.ru/kz выходят в несколько страниц. Вот с C# во всем Казахстане ток 2-3 вакансий.

Так вот стоит ли записаться на этот курс по C# или выбрать другой язык ?

Надеюсь получить развернутый ответ СПС

Проблемы с видеокартой

Всем привет! Столкнулся вот с такой проблемой. Видеокарта от amd rx 6600xt. При записи экрана они исчезают что на видео что прост при записи. Что это может быть? Видеокарте 4месяца.Драйвера актуальные.

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

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

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

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

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

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

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

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

Затем естественно вышел на провайдеров, которые предоставляют в готовом виде решения с проработанными SDK под разные языки программирования. На российском рынке ничего вменяемого не нашел, есть некоторые с конскими ценами, отсутствующей документацией, вероятно заточенные под гос.сектор для распила бюджетов. На западе этого добра навалом, среди них самые крупные это Twilio, Agora, возможно есть еще, но мне хватило того, что я нашел отличнейшую документацию по Agora, богатый набор SDK практически под все популярные платформы, а на codecanyon – практически каждый второй проект с видеоконференциями запилен на Agora, это для меня четкий сигнал – решение рабочее. Тем более, что в бесплатном тарифе можно оставаться довольно долго, пока твой сервис не получит должной популярности.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Готовые проекты видеочатов на codecanyon

Самое чудесное, используя SDK для React – первый чат на сайте я запустил уже за пару часов! Было чудесное ощущение, когда потратил на изучение пару месяцев, начиная с первых намеков клиента про такую возможность и в итоге смог воплотить то, что можно потом брендировать, кастомизировать и делать самые невероятные вещи.

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

Первая серьезная преграда

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

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

Созваниваюсь с клиентом, объясняю. Клиент понимает и говорит, что надо пробовать искать пути решения. Я пускаюсь в изучение.

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

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

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

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

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

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

Индус спаситель

Быстренько нашел интересный проект FlipCam замечательного индуса, очень ему благодарен. Только потом я узнал, что в Android есть готовый CameraX.

Из FlipCam я взял активити и библиотеки для работы с камерой и записью видео. Там был хороший открытый метод drawFrame – в котором велась практически прямая работа с OpenGL.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

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

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Официальная документация по отправке своего видео-потока в agora.io

Разработчики agora вы серьезно ставите в документации такие указания? На поиски хоть чего-то, что может пролить свет я потратил две недели. Даже в отчаянии написал индусу из FlipCam, чтобы он мне помог раскрыть секрет рендеринга. Обратился к знакомому Java-кодеру. Он полез в ChatGPT и выдавал мне самые очевидные ответы из документации.

Все упиралось в мое жесткое непонимание и незнание тонкостей OpenGL и всех этих нюансов при работе с Surface, TextureView.

Сначала я смог после изучения тонны китайского кода (похоже, что agora.io писали китайцы), найти как можно получить результирующий буфер после обработки swapBuffer. Нашел код, как из этого buffer сделать BMP, затем трансформацию BMP в YUV и уже из этого YUV сформировать VideoFrame. Только после такой пирамиды клиент на выходе видел слайд-шоу, которое ничего кроме уныния не вызывало. Жуткие тормоза, а иногда приложение просто вылетало и закрывалось.

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

Упорство, однако вывело меня на чудесную старую версию документации Agora, там я нашел код, который на низком уровне реализовывал конвертацию ByteBuffer из OpenGL в VideoFrame.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Старая версия, спасибо, что ты есть!

Вот спрашивается, почему вы убрали упоминание про этот код из версии 4.x? Почему оно есть в 3.x?

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

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

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

Вывод

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

Показать полностью 4

Ответ на пост «Странный коллега»

О, прям одного моего коллегу описали с прошлых работ.

Если с ним просто общаться о программировании, то производит впечатление знающего спеца. И Рихтера он читал от и до, и все передовые подходы на Хабре мониторит.

А как доходит до дела... Можно как анекдоты рассказывать диалоги с ним. Он ещё и мысли формулирует коряво и не умеет задавать правильные вопросы.

Я: Почему ты не закрыл таску?

К: Я увидел, что один компонент реализован не самым оптимальным образом

Я: Эта неоптимальность мешала тебе закрыть таску, она влияла на рабочую задачу?

К: Нет, но я такой человек, что если вижу говнокод - не могу пройти мимо, начинаю исправлять.

К: А давайте покроем весь код юнит тестами

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

К: Нет, я буду писать юнит тесты, без них работать невозможно.

К: Какие html теги используются в нашем проекте?

Я: Разные html теги используются в нашем проекте.

Ты хочешь чтобы я тебе их все перечислил?

К: Какие типы взаимодействия существуют между тегами?

Я: Ты издеваешься? Есть position, есть display. Тебе что, лекцию на 2 часа про html и CSS прочитать или ты все-так скажешь чего надо?

*Оказалось, нужно 2 дива в ряд поставить*

К: А давайте перейдем на NoSql!

Я: У нас данные лет 15 собирались в SQL Server, на него очень много чего завязано. Ты трудозатраты представляешь по переводу? И как мы их обоснуем руководству?

К: А у нас на прошлой работе был NoSql, поэтому давайте переведем, реляционные бд - это старье.

*Потом ещё полдня бубнит, что его не уважают и с его мнением не считаются*

К: У нас в адресах страниц на сайте палятся Id (типа http://site.ru/page/123)

Я: И что? На многих крутых хайлоад проектах типа VK так же видны Id в адресах страниц.

К: Это небезопасно! Нас могут хакнуть. Надо срочно убирать цифры из URL и шифровать их.

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

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

Показать полностью

«Аудит» информационных систем без регистрации и СМС

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

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

P.S. Опыт работы 12 лет, долго был старшим разработчиком .net, сейчас уже года три как архитектор решения состоящего из десятков модулей, сервисов, нескольких СУБД, на нескольких языках программирования и вот это вот все. Так что на чем у вас проект думаю особого значения не имеет.

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

Чем заменить 1с предпритие? Осуществить перенос всей базы на новую прогу

1с норм, но этот пиздец уже заебал. Желаю чего-нибудь лучше и новее.

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

Есть аналог? Или это мечта?

Такой вопрос. Движок unreal engine 3

Добрый день! Обращаюсь к вам программисты. Есть такая игра the last remnant, старенькая, 2007 года, вопрос в чем, возможно ли разработать мод для корпоративной игры? Движок 3 как выше написал.

Проверяем точность глазомера

Что имеем: три уровня, на каждом свой предмет
Что надо сделать: разделить их ровнехонько на четыре части
Что получим: промокод на хорошую скидку, а самые точные — награду в профиль

Лига программистов

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет

Привет, меня зовут Дима Ботов — я руковожу магистерской программой «Искусственный интеллект» в ИТМО, вообще же преподавательской деятельностью я занимаюсь уже более 10 лет. В этой статье я хотел обсудить наболевший для меня вопрос: почему текущая модель IT-образования работает совсем не так, как должна.

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Вот тут я открываю Bootcamp по машинному обучению для магистрантов ИТМО в прошлом году (сорри за уравнения с силой тока на доске – это честно до меня написали!)

Примечание от Павла: Автором этой статьи является Дима Ботов – а я ему только немного помог добавить кринжовых мемов по ходу повествования. Надеюсь, они не испортят вам удовольствие от прочтения Диминой истории. :)

Почему я стал дата-саентистом

Давайте начнем с хорошей новости: я уверен, что специалисты по data science захватят мир! Ну или его захватит искусственный интеллект, который они разрабатывают — тут уж как повезет…

Вообще, я рад, что сел за эту статью только сейчас: еще полгода назад мне, возможно, пришлось бы подробно объяснять широкой публике, почему машинное обучение и искусственный интеллект (ИИ) — это круто. А сейчас, после того как ChatGPT (а вместе с ним DALL-E, Midjourney, и так далее) прогремел на весь мир, донести эту мысль уже попроще.

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

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

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Кто-то, правда, считает, что слухи об отъеме работы нейросетями несколько преувеличены…

Что не так с IT-образованием

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

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Как говорится, «ставь лайк, если нашел баг — ретвит, если пришлось спрашивать у папы, что на картинке»

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

3. Получается, что бизнесам с одной стороны не хватает Data Science-специалистов, а с другой — те, что всё-таки приходят, не соответствуют их требованиям. Так что компаниям приходится делать свои внутренние школы/курсы, чтобы «за руку» довести только выпустившихся специалистов до требующихся им стандартов — но это же как бы не их основное направление деятельности, верно? Для самых крупных компаний, вроде Яндекса или VK, этот подход еще может работать (просто потому, что у них море ресурсов на развитие собственных компетенций), но средние (и, тем более, мелкие) бизнесы просто не потянут ведение своего внутреннего корпоративного университета.

Мой квест по исправлению образования: студенческие годы

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

На фото моя бабушка обучает советских школьников матану (ну ок, только основам матанализа, конечно…)

Уже в универе (я учился в Челябинске в Южно-Уральском госуниверситете) у меня начали закрадываться крамольные мысли, что учебный план как будто бы сильно отстает от того, что на самом деле является востребованным на рынке труда. В нас, так называемых «инженеров-программистов для ЭВМ», пытались вложить тогда очень широкий спектр всего: от хардварного, аппаратного уровня электроники и схемотехники, через двоичный код, через микропроцессоры — до самого высокоуровневого программирования на С++ и создания веб-сайтов с приложениями.

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

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Это молодая версия меня как раз ведет Джава-факультатив. Сорри за качество фото, айфоны в 2009-м в Челябинске были не очень распространены

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

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Это уже 2011-й год — посмотрите на мое лицо, полное энтузиазма от преподавания программирования в ЮУрГУ!

Кончилось всё это по классике: в индустрии я дошел до «ведущего инженера-программиста по БД», ну и, конечно же, бодро выгорел в процессе. Где-то в этом месте я понял, что мне всё же более интересно работать с людьми и помогать им развиваться, а не просто самому писать код.

Создание Института ИТ в ЧелГУ: верните мой 2014-й

И вот где-то тут (ближе к 2013—2014 годам) мне как раз предложили поработать в Челябинском госуниверситете в команде Андрея Мельникова, который тогда создавал внутри него Институт информационных технологий. Задача была непростая, но драйвовая: надо было с нуля сделать новый формат практического обучения студентов — мы прочесывали все доступные западные практики, изучали подход к обучению в британских и штатовских университетах, и так далее.

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Здесь я, кажется, глубокомысленно смотрю вдаль - в светлое будущее Института ИТ в ЧелГУ, который планировался как плацдарм внедрения новейших подходов к обучению

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

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

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

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

Первая магистратура по машинному обучению на Урале

Параллельно в аспирантуре я потихоньку занимался машинным обучением (тогда оно еще не было на слуху). Я занимался направлением Machine Learning, которое называется NLP (Natural Language Processing, обработка естественного языка) — к текущему моменту из этой ветки мы как раз получили все удивительные штуки вроде ChatGPT. А тогда я просто писал работу по анализу текстов вакансий с помощью нейросетки — чтобы понять на уровне семантики, какие навыки реально нужны работодателям от студентов, и сравнить с семантическим анализом образовательных программ университетов. По сути, искусственный интеллект мне говорил — какие университеты дают студентам котирующиеся на рынке труда знания, а какие — не очень.

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

В те времена Machine Learning был еще не в самом тренде, и этот мем был не так актуален, как сейчас

Где-то в это время (2015—2016 годы) мы стали глядеть на зарождающееся в Москве/Питере сообщество Open Data Science и решили — а чем мы на Урале хуже? Надо работать на опережение! Так что мы решили запускать в Челябинске свою магистратуру по машинному обучению, тогда она называлась «Data mining и интеллектуальный анализ данных».

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

Как раз в процессе запуска магистратуры, я познакомился с ребятами из компании Napoleon IT и лично с их сооснователем — Павлом Подкорытовым. Мы тогда делали с ними совместный курс для студентов бакалавриата по разработке мобильных приложений под Android. Это сейчас каждая онлайн-школа обещает за полгода «вкатить тебя в айти», а тогда толковых курсов на эту тему было днем с огнем не найти.

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Это мы с Пашей Подкорытовым рассказываем про наши совместные наполеоновские планы (сорри за каламбур!)

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

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

2018: Уральская школа машинного обучения

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

Где-то в это время мне предложили в крупной уральской телеком-компании стать руководителем отдела машинного обучения, с одной оговоркой — этого отдела тогда не было вообще, его надо было сделать с нуля. И мне совместно с ребятами из Napoleon IT пришла в голову идея сделать из этого в том числе образовательный проект — создать отдел как бы вместе со студентами и из студентов в том числе. Так родилась Уральская школа машинного обучения.

Мы набрали из более чем ста заявок 30 наиболее мотивированных ребят – и провели для них полностью бесплатный курс. За основу мы взяли материалы с курса машинного обучения от Open Data Science — в формате хабр-статей, домашек и видеозанятий. Так что вместо придумывания образовательного контента с нуля мы смогли больше усилий потратить на продумывание подачи и формата совместной работы со студентами.

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

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

И нам, и студентам, такой формат «зашел» — и мы потом проводили аналогичные запуски. Как раз на основе первых двух запусков Школы в течение 2018 года у меня сформировалось основное ядро коллектива в новоиспеченном отделе. Без Уральской школы ML я бы его просто не смог создать, потому что в регионе на рынке труда тогда в принципе не было достаточного числа специалистов по машинному обучению, из которых можно было сформировать команду — так что я ее сделал из вчерашних студентов.

Отдел в итоге развился до уровня реализации 15—20 проектов по компьютерному зрению: обработка текстов, построение диалоговых систем, предиктивная аналитика — полный набор!

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

Так родилась идея AI Talent Hub — проекта, который я развиваю и сейчас.

2021: AI Talent Hub как стартап, или как мы рожали идею

В 2021 году Павел Подкорытов позвал меня в питерский университет ИТМО, запускать там совместно с Napoleon IT специализацию «Компьютерное зрение» для магистрантов. Именно тогда мы познакомились с первым проректором ИТМО Дарьей Козловой — и она предложила мне сделать необычный формат: что-то вроде проектной магистратуры по правилам продакшена IT-компаний. Мне готовы были дать карт-бланш на любые новаторские идеи!

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

С Дарьей я фото в своем архиве не нашел, но вот мы в модном лектории ИТМО с его ректором — Владимиром Николаевичем Васильевым

И мы начали штурмовать эту историю — делать исследование и искать референсы, на базе которых можно сделать что-то передовое и интересное. Смотрели на то, как на Западе развивают стартап-сообщества; как ребята в Minerva University делают дизрапшен образования; как сейчас учат в Стэнфорде (Паша Подкорытов тогда на проекте Стэнфорда Future Talents как раз имел возможность вживую посмотреть на всю логику обучения и их подходов).

В общем, вдохновившись всеми этими подходами, мы и родили идею AI Talent Hub. С самого начала мы сформулировали своеобразный манифест — ключевые принципы, согласно которым должно строиться IT-обучение будущего:

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

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

3. Развитие продуктового мышления и инженерных навыков в условиях неопределенности. Это только в учебниках есть задача и есть ее итоговое понятное решение, которое нужно найти. А в реальном мире даже сама задача часто расплывчата, а решать ее как-то всё равно надо. Мы считаем, что и обучать спецов надо через погружение в реальные неформализованные бизнесовые потребности, в рамках полного цикла: от проработки идей и гипотез решения, до разработки в логике создания MVP (Minimum Viable Product — плясать от минимально жизнеспособного решения в сторону его постепенного усложнения).

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

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

2022: Что получилось на практике

По факту, AI Talent Hub сейчас работает примерно так:

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

  • Совместно с компаниями-партнерами (сейчас их более 12 — Huawei, МТС, Сбер, Яндекс Практикум и другие) составляем пул задач для так называемой «фабрики пилотных проектов».

  • Студенты в рамках проектной работы пытаются сделать реальные рабочие MVP под эти задачи совместно с экспертами и менторами из IT-компаний.

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Финал Data Product Hack 2022 в ИТМО. Многие из этих ребят — это как раз наши магистранты AI Talent Hub

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

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Первую встречу магистрантов с AI Talent Hub мы провели в формате тусовки в баре — просто потому, что мы можем, ну и вообще почему бы и нет?

Вообще, мы с самого начала сознательно решили делать упор именно на построение комьюнити и своеобразной «тусовки» амбициозных людей в индустрии. За счет того, что это магистерская программа, на ней встречаются самые разные люди — от вчерашних студентов-выпускников, до специалистов с солидным опытом в других индустриях, которые решили продолжить развитие своей карьеры в сфере Machine Learning/Artificial Intelligence.

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

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

Если вы дочитали до сюда — то, подозреваю, что вы хотя бы частично разделяете или находите интересным наш подход к IT-образованию. Так что, если вы студент с интересом к Data Science — то welcome в наше онлайн-комьюнити (где мы анонсируем разные мероприятия вроде хакатонов), если вы джун-практик или просто окончили бакалавриат — то возможно вам будет интересно подумать в сторону нашей магистратуры (на следующий год у нас планируется аж 200 бюджетных мест, так что в случае прохождения отбора — учиться можно будет совершенно бесплатно), ну а представителей бизнеса с потребностью в ML-кадрах приглашаем тоже подключиться к образовательному процессу.

Что дальше?

В ближайшем будущем у нас стоит основная цель по масштабированию нашего подхода к IT-образованию: мы хотим набрать на обучение 700 магистрантов в 2023—2024 годах.

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

Я вижу процесс образования будущего так: условный студент-начинающий специалист по машинному обучению из Бразилии набирает себе портфель отдельных дисциплин по всему миру: курс по программированию в ИТМО, курс по дизайн-мышлению в Стэнфорде, курс по управлению инновациями в Университете Гонконга, и так далее. И параллельно проходит стажировку и реализует прикладной проект в одном семестре, допустим в Huawei, а в следующем семестре — в исследовательском подразделении Яндекса.

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

Что не так с IT-образованием в России, и как я пытаюсь это исправить уже более 10 лет Образование, Высшее образование, IT, Магистратура, Машинное обучение, Искусственный интеллект, Data Science, Программирование, Длиннопост

Когда я выпускался в 2010-м из челябинского ЮУрГУ, я о таком даже не мог мечтать — но я надеюсь, что уже у наших детей горизонт возможностей будет на порядок шире, чем был у нас

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

* * *

Примечание от Павла Комаровского: Как обычно, если статья вам понравилась – буду благодарен за подписку на мой ТГ-канал RationalAnswer с еженедельными интересными лонгридами. Также выражаю респект Диме Ботову и Паше Подкорытову, которые поддержали выход этой статьи!

Показать полностью 17
Отличная работа, все прочитано!