Отчет о посещении презентации Львовского IT-Кластера в Пало-Альто, Калифорния

Побывал на презентации Львовского IT-Кластера в Пало-Альто, Калифорния. Презентация проходила в Пало-Альто, в коммьюнити центре, в котором я когда-то ходил на курсы японского языка.

Встреча рекламировалась на Фейсбуке и на нее пришло двадцать с чем-то человек, среди которых были: программисты из Фейсбука и Микрософта, представители компаний ведущих аутсорсинг бизнес с Украиной, я и Сергей Вакуленко из Imagination Technologies, аналоговый электронщик из KLA-Tencor, девушка-графический дизайнер, программист из медицинской компании и другие. 100% присутствующих владели украинским языком.

lviv_it_cluster_2_160311_191353

Встречу организовал Остап Коркуна из Фейсбука. Из Львова приехали трое человек, презентующим из которых был Степан Веселовский, CEO IT-Кластера.

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

lviv_it_cluster_2_160311_191336

Целями Львовского IT-Кластера являются:

1. Cтроительство коммьюнити программистов во Львове и филиала такого коммьюнити в виде сети контактов у нас в Silicon Valley, а также связь его с другими кластерами в Киеве, Днепропетровске, Харькове и Одессе.

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

3. Решение бытовых проблем программистов с помощью строительства жилья дотируемого компаниями. Про это Степан говорил долго, а меня подмывало спросить «а что если программист купит дотируемую квартиру, после чего уволится из компании, а съезжать из квартиры откажется, показывая на беременную жену и мороз на улице?» Но я подавил в себе желание начинать русские/украинские споры о недвижимости, ибо знаю, что в Silicon Valley они длятся долго.

lviv_it_cluster_160311_194806

Рассказ Степана про жизнь львовских компаний был интересным, но его слайды имхо не соответствуют местной аудитории:

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

2. Или вот Big Mac index. Я тут же вспоминаю, как в 1996 году один менеджер в Mentor Graphics договаривался с российским партнером об оплате труда за писание симулятора процессора Hitachi SH, и российский партнер приводил какие-то аргументы о стоимости колбасы в Долгопрудном (я стоял в этой переписке в CC). Американского менеджера такое ведение переговоров раздражало.

3. А вот пункт, который может отпугнуть некоторых чувствительных американцев: какой процент дохода тратят львовские программисты на поддержку украинской армии. Возможно именно подобные слайды стали причиной, почему Xilinx в прошлом году перестали поставлять на Украину образовательные FPGA платы, которые Xilinx поставляет в коммунистический Китай и даже (с ограничениями) в Россию. Американские компании не хотят становится на чью-либо сторону в любых вооруженных конфликтах между не-членами НАТО.

4. Также местному народу в Silicon Valley может быть непонятно, в чем крутость того, что 7 из 10 львовских программистов были за границей. Были в качестве кого? В туристических поездках? Ну и как это влияет на приобретение конкурентного преимущества в программировании?

lviv_it_cluster_160311_192441

5. В презентации был слайд про соотношение аутсорс-компаний и компаний продуктов, но отсутствовали слайды с разбивкой компаний по технологическим нишам. Остановимся на этом пункте подробнее. Еще на украинской конференции 2013 года в Сан-Франциско я заметил, что украинская экосистема доминируется несколькими крупными аутсорс-компаниями, которые продают одни и те же сервисы: бизнес-программирование, веб-программирование и немного программирования встроенных систем. С моей точки зрения такая «коммодитизация» программистов опасна во время кризисов, потому что когда все делают одно и то же, то при падении спроса происходит паника. Более диверсифицированная система, особенно с бОльшей долей компаний продуктов, является более устойчивой, а также предоставляет ее участникам более широкий спектр интересных профессий. Я хотел понять, произошел ли за два года прогресс в этом направлении, но на слайдах Степана этой информации не было.

lviv_it_cluster_160311_192229

Наиболее интересной для меня была дискуссия об образовательных программах, инициацией которых занимается львовский IT-Кластер. В частности, Степан сказал, что они планируют введения образовательной программы «интернета вещей» (Internet of Things, IoT). Это меня заинтересовало, так как наша компания Imagination Technologies и наш партнер по микроконтроллерам компания Microchip Technology уже долго занимаются образовательными программами в области интернета вещей, мы спонсировали создание курса по микроконтроллерам в университете Северной Каролины, я общался на темы связанные темы в Сколково и МФТИ и т.д. В частности два года назад я сделал презентацию с упоминанием интернета вещей на конференции русского хайтека в Аризоне:

http://silicon-russia.com/public_materials/2014_03_03_ruscitech/ruscitech_yuri_panchul_imgtec_march_2014_with_appendix.pdf

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

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

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

3. Уровень внутреннего устройства микросхем, которые являются сердцем Internet of Things. Да, такое возможно, причем даже на уровне лабораторных работ. Пакет MIPSfpga позволяет студентам экспериментировать с внутренностями процессорного ядра MIPS microAptiv UP, которое стоит например в новой платформе для Internet of Things, которая называется Samsung Artik-1. Эксперименты с MIPSfpga производятся на учебных платах с ПЛИС-ами — микросхемами, которые представляют собой матрицы ячеек, логические функции которых можно переопределять.

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

Тогда я показал Степану несколько материалов от нашей компании Imagination Technologies и наших партнеров — Microchip Technology и Digilent. Наша компания спроектировала PowerVR GPU внутри микросхемы внутри Apple iPhone, так что вы получаете материалы с переднего края.

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

http://community.imgtec.com/university

https://s3-eu-west-1.amazonaws.com/imagination-technologies-cloudfront-assets/university/IUP_Brochure_v1.2.pdf

Screenshot 2016-03-12 20.29.16

Слайды про образовательные программы на русском языке:

http://silicon-russia.com/public_materials/2015_11_14_mipsfpga_related_presentations/imagination_university_programme_july_2015_russian.pdf

Слайды про новый курс по программированию микроконтроллеров — Connected MCU. Это курс разрабатывает профессор университета Северной Каролины Алекс Дин, в кооперации с промышленными компаниями — Imagination Technologies, Microchip Technology и Digilent. Сейчас курс в целом завершен и находится в процессе ревью парой десятков мировых университетов в Великобритании, Китае и т.д. Мне удалось привлечь к процессу ревью некоторые российские университеты. Курс им понравился — он сделан солидно, с разбором архитектуры ядра и периферии микроконтроллера, профессиональным введением в использование встроенных RTOS и т.д. Можно привлечь к процессу ревью и украинские университеты, если хватит времени — это полезно, чтобы представить их менеджменту в вышеперечисленных организациях. У Imagination есть отделение в Польше, у Digilent — в Румынии, поэтому идея работа с Украиной может быть воспринята. Я вхожу в комитет по разработке курса:

http://silicon-russia.com/public_materials/2015_11_14_mipsfpga_related_presentations/connected_mcu_by_alex_dean_on_microchip_masters_v3_2015.pdf

Screenshot 2016-03-12 20.49.47

При этом я в курсе, но в Украине есть много поклонников альтернативных способов преподавания IoT — используя Ардуино, Raspberry Pi, Intel Galileo, STM32 и т.д. и т.п. Я не буду даже пытаться их переубеждать, потому что помимо преподавания программирования микроконтроллеров и встроенных процессоров у меня есть две вещи, которые можно изучать независимо от личных предпочтений преподавателей курсов встроенного программирования.

Прежде всего это бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке — Дэвид Харрис и Сара Харрис, «Цифровая схемотехника и архитектура компьютера», второе издание. Этот учебник вышел на английском языке в 2012 году и русском в 2015 году. Пост про учебник получил более 120,000 просмотров на Хабре http://habrahabr.ru/post/259505/ и стал немедленно использоваться преподавателями в МФТИ, МВТУ, ИТМО и других ведущих российских вузах. И украинских — одним из главных участников перевода стал преподаватель Киевского Национального Университета им. Тараса Шевченко Александр Барабанов:

Screenshot 2016-03-12 21.11.58

Для старших курсов можно попробовать пакет MIPSfpga, о котором хорошо отозвался не только президент Стенфорда Джон Хеннесси, но и преподаватели российских вузов — МГУ, МФТИ, МИЭТ, ИТМО.

Что такое MIPSfpga?

https://www.silicon-russia.com/2016/01/04/mipsfpga-how-to-start

MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на языке описания аппаратуры Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер, симулировать на симуляторе верилога, синтезировать для ПЛИС/FPGA и т.д. Его можно в целях эксперимента например запускать с частотой 1 такт в секунду и выводить наружу информацию о состоянии кэша, конвейера, и любых структур внутри процессора. При этом ядро MIPS microAptiv UP внутри MIPSfpga — это то же ядро которое например используется в платформе IoT Samsung Artik 1 и Microchip PIC32MZ, т.е. студенты получают возможность работать с тем же кодом, с которым сейчас работают инженеры в Samsung и Microchip.

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

Наконец, когда студенты освоят использование готовых микропроцессоров (хоть от нас — MIPS/Imagination/Microchip, хоть от наших конкурентов — ARM, Atmel, Intel), а также проектирование цифровой логики на FPGA, ни могут в аспирантуре заняться исследовательскими проектами в рамках сотрудничества с Europractice для разработки микросхем ASIC и мелкосерийное производство их на фабрике. См. мою видеозапись интервью с директором Europractice по поводу образовательных программ в “Оруженосцы микроэлектроники. Видеорепортаж с конференции по проектированию электроники в Сан-Франциско”:

dac_20150608_191252.jpgdac_20150608_124050.jpgdac_20150608_124532.jpg

Другие полезные материалы:

Статья, в популярной форме обьясняющая меры по поднятию образовательной экосистемы микроэлектроники в России, бОльшая часть доводов применима и к Украине — “Как России развить микроэлектронику и победить Айфон”.

Для курсов цифровой схемотехники студентам необходимы лабораторные работы на микросхемах ПЛИС / FPGA. Вот заметка, которая на пальцах объясняет, что это такое и как выглядит с ними работа “Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция”.

Пост с обсуждением (с преподавателем московского МГУ), что нужно знать студенту перед использованием / во время использования / после использования MIPSfpga — “По просьбе преподавателя одного из российских вузов выписал список тем, связанных с MIPSfpga”.

Текст с обзором состояний дел в росийских вузах, у которых сходные проблемы по поднятию экосистемы — «Путешествие по микроэлектронной России 2015 года».

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

lviv_it_cluster_2_160311_191414