Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Сейчас мне сорок пять, и я наконец получил нормальную фултайм позицию аналитика данных. У меня первый диплом - Провизор по специальности Фармация. Я успел поработать таксистом, разнорабочим на складе лекарственных трав, заготовщиком, владельцем цеха металлообработки и одновременно рабочим в этом цеху. Был фармацевтом за кассой, заместителем заведующей аптекой, владельцем аптеки. Никогда не думал, что буду работать в IT, хотя всегда интересовался этой темой.
Но потом случился мой переезд в Канаду, один разговор и восемь лет приключений. Начну по порядку.
В школе у нас был компьютерный класс. Компьютеры, если мне не изменяет память, назывались Искра, на архитектуре Х86, но до 286. Там были пятидюймовые дискеты, комманд ком, нортон коммандер, бейсик и микроассемблер. Не скажу, что я там много чему научился. Из примерно пяти человек, которые постоянно торчали в компьютерном классе, я был самым слабым. У остальных родители что-то понимали в компьютерах, у кого-то компьютер был дома. Мне же только на пару дней дали плохо читаемую ксерокопию по основным операторам бейсика. Я писал простенькие программки, но в основном рубился в Сабатёра и Принца Персии. С некоторой натяжкой можно сказать, что первую игру я написал тогда.
Потом был физфак университета, с которого я вылетел на первом курсе. Но мне успели вдолбить вектора, я получил представление о производных и интегралах. Еще у нас был Паскаль. Я ничего тогда не запомнил, но про типы данных узнал.
Потом была фармацевтичаская академия. У меня появился трофейный компьютер, 286 апгрейженый до 386, огромный и тяжелый как гроб. На нем я в основном шпилил в Леммингов, вряд ли чему-то особо полезному научился. У нас в институте был компьютерный клуб. Я хотел туда попасть, хотя бы дискеты протирать или кофе варить. Я попросился, но главный сказал, что если я ничего не умею, то мне не место среди благородных программистов. "У нас есть одна девочка, которая даже Дельфи знает!". Мистер Погребняк, если вы это читаете, то знайте, что зря меня не взяли.
Потом была работа на предприятии по заготовке и фасовке растительного лекарственного сырья. Череда, чабрец, зверобой, вот это все. У фирмы еще была небольшая сеть аптек. Кроме таскания мешков и дышания пылью я также занимался настройкой ОС, принтеров, модемов, подключением интернета и локальной сети, был таким эникеем. Но не только, для печати накладных и фактур использовалась 1С Бухгалтерия. Тогда была версия 7, позже появилась восьмерка. Сначала мы пользовались ломаной 1С, потому что учет не велся, только печатались два документа. Ох, я намучился с эмуляторами ключей. Самый популярный был от Соболя, в народе - сабля. Когда мы купили лицензии, я даже читал их талмуды и правил формы и документы под наши нужды. Язык 1С казался забавным, хоть я сейчас и понимаю, что для американцев любой язык выглядит так же. К тому времени у меня уже был свой компьютер и я в нем ковырялся.
Все это я рассказываю, чтобы показать, что я не начал с нуля, но и опыта писания кода у меня практически не было. Время шло, я из интереса решил загуглить, как переехать в Чехию, и, слово за слово, через три года сошел с самолета в Виннипеге. Тут мы вплотную подходим к началу моего извилистого пути в профессию.
У меня диплом фармацевта, а фармацевты живут в Канаде очень хорошо. Беда в том, что нужно эвалюировать диплом и сдать пять экзаменов. Я этим начал заниматься еще в России, диплом подтвердил, но с экзменами все оказалось сложнее. Практически все приходилось учить заново, экзамены стоили дорого и требовали много времени. Я уже прошел подготовительные курсы, получил допуск к экзамену, и за неделю до него понял, что я не хочу быть фармацевтом. Я работал на стройке, был еще период, когда я думал стать дальнобоем, но Бог миловал. Да, я могу водить фуру с прицепом 53 фута и шестнадцатискоросной коробкой.
Примерно через полгода я пообщался с одним товарищем в Живом Журнале, потом мы созвонились. Он дата саентист в области медицины, тогда он вел интересный проект в большой больнице. Тогда он мне рассказал про данные вообще и про Фейсбук в частности. До этого я думал, что Фейсбук это обычный сервис хранения и показа фоточек. Еще он сказал "есть такой язык, R, но тебе он не нужен, этим программисты занимаются". Тем же вечером загуглил R и узнал, что есть Курсера, а на Курсере есть курс R от Roger D. Peng. Отличный чувачок, до сих пор его подкасты слушаю. Я записался на курс, чисто из любопытства.
Вообще, я тогда думал идти в науку, но хотел изучать Neuroscience. Мне всегда было интересно, как работает мозг. Даже написал нескольким ребятам насчет магистратуры, и некоторые мне ответили. Один даже уже практически ждал меня. Но тут выяснилась одна неожиданная для меня вещь. В США и Канаде четырехбалльная система оценок. И мой диплом, который так всем нравился, внезапно превратился в тыкву.
В общем, я был дезориентирован и подозревал, что остаток жизни буду работать на стройке. Потом был переезд в Калгари и разные приключения. Курсы на Курсере я то бросал, то продолжал. Я вообще не думал, что это мне может пригодиться, просто было почему-то очень любопытно, плюс, я удивился, как это просто - программировать (ха-ха!). Параллельно я стал интересоваться наукой о данных. Это 2013 год, о дата саенс еще не начали говорить на каждом углу, это было что-то для нёрдов, что мне тоже нравилось. В 2014 году со мной случилась счастливая случайность. У моего сына в садике был друг, а его отец заведовал лабораторией метаболомики в университете Калгари. До сих пор заведует. Когда он узнал, что я учу R, он невероятно удивился. Даже в универе олдыри кодили в основном на матлабе, а молодежь начала переходить на входящий тогда в моду питон. Мы поговорили, он меня взял волонтером в лабораторию. Через полгода мне предложили постоянное место программистом. В универе я не только писал код, но и системные скрипты, налаживал хранилище и обработку данных. Еще я был его секретарем. Отвечал на письма, оформлял закупки для лаборатории, покупал билеты и бронировал гостиницы. Так я проработал год. У меня в семье росла напяженность. Денег не хватало, в университете платили копейки, полгода волонтерства тоже не улучшили положение. Начал сказываться стресс от эмиграции. Еще я заболел какой-то очень затяжной простудой, постоянно кашлял и чувствовал слабость. Стал пропускать работу, уходить раньше. В общем, я ушел из лаборатории пока меня не выгнали с позором. То, что так хорошо начиналось, кончилось бесславно.
Я вернулся на стройку и некоторое время приходил себя, но потом интерес к дата саенс вернулся. Я узнал о нейросетях и очень заинтересовался - что-то связанное с мозгом, а мозг мне интересен. Надо сказать, что к тому моменту я уже знал, что в нейросаенс застой, наука зашла в тупик и движется в слепую. Я не жалел, что не попал в магистратуру. На Курсере появился курс по нейросетям от Andrew Ng, который уже стал легендарным. Я его прошел на одном дыхании, и понял, что мне нужно подтягивать математику. Я стал смотреть постоянно Three Blue One Brown и подобные видосики, в основном по линейке, и методично проходить математику на Khan Academy, налегая на статистику и вектора. Заодно подтянул алгебру и калькулюс.
Еще в Виннипеге я подружился с человеком, который кодит на Джаваскрипт. У меня давно была идея по автоматизации теплиц, и мы решили замутить небольшой стартап в Калгари. Сначала я занимался всем - прототипом, пайкой, растениями. У меня рос помидор в подвале несколько лет, до тех пор, как мы не уехали. Наш проект и роли в нем постоянно менялись, пока моя не стала специфичной, наконец. Я занимался только разработкой сверточной нейросети, которая будет следить за здоровьем растений. Я даже написал под тензорфло и натренировал неросеть, которая распознавала с аккуратностью 97% пятнадцать классов. Пять классов на здоровые растения - помидоры, перец, картофан, огурец, баклажан. Десять классов на их болезни. Конечно, даже при такой удивительно прекрасной эффективности это был MVP, очень далекий от реальной работоспособности. Во-первых, он на вход брал отдельные фотки листа. То есть, фермер должен пойти в теплицу, сорвать лист и прогнать через алгоритм, ха-ха. Фермер и так скажет, если листья жук пожрал. Идея была в том, чтобы камера делала снимки, алгоритм определял больные листья и посылал сигнал. В перспективе я хотел добавить сегментацию фотографии чтобы выделить отдельные листья. Была даже идея добавить к камере лидар, чтобы получать глубину для изображения. Во-вторых, нужно было переучивать нейросеть под отдельное растение и под все виды поражения - жуки, плесень, сухие пятна и прочее.
В итоге проект не взлетел, хотя мы вели переговоры с Alberta Innovates, университетом Лесбриджа и еще некоторыми возможными партнерами и инвесторами. Есть две основные причины - люди не хотят работать бесплатно и нефть иногда падает. Альберта нефтяная провинция, и когда падает хефтюшка, всякие нёрды идут нафиг. Мы попали в противофазу с этим. Когда у нас были люди, готорвые работать за долю в будущем бизнесе, нам не давали денег, и наоборот. Чаще - нам не давали денег и люди не хотели работать бесплатно. В процессе я не только получил практический опыт с тензорфло и нейросетями, но и узнал много интересного о мире стартапов, о производстве, познакомился с интересными людьми, навел связи с Китаем. Я даже пообщался с китайцами, которые спутники запускают. Невероятно приятные и профессиональные ребята. Кстати, запустить спутник относительно недорого, как оказалось. Можно свой, могут сделать на заказ. Еще я научился питчить за тридцать секунд и делать презенташки и слайд деки. И главное, я теперь могу говорить, что я основатель стартапа. Звучит очень модно и солидно, народу нравится.
Когда я работал в университете, я познакомился с одним немцем. Я пытался делать какие-то мелкие проекты для него, ничего не получилось, но я познакомился с облачными сервисами и полюбил ssh. У меня был свой сервачок на Digital Ocean, и с тех пор практически не было момента, чтобы у меня не было сервера на Azure или Google Cloud Platform. Потом, когда я уже давно работал опять на стройке, этот немец нашел меня и предложил поработать на проект, на который он работал в тот момент, нужен был спец по R. Этот проект - Resistell, можно погуглить, он жив до сих пор. Кратко, суть в том, чтобы измерять резистентность бактерией к антибиотикам не выращиванием их в чашках Петри в термостате, а измеряя лазером их подвижность. Я подписал NDA и не могу вдаваться в детали, но в общем я работал на R и обрабатывал очень большие файлы. Я тогда познакомился с ребятами, которые делают R Studio - милейшие люди - и научился поднимать R Server для совместной работы. Я там проработал до марта 2020 года.
Немец пригласил меня на свой проект, который мне был очень интересен и должен был начаться в мае. Тоже в Швейцарии. Думаю, все помнят, что началось в мае. Инвесторы попрятались, я ушёл на самоизоляцию, проект перешёл в вялотекущую стадию. Он до сих пор жив, только дата саентисты там больше не нужны. Идея заключается в том, что при обработке сточных вод слабым током, бактерии начинают производить метан. Это связывает углекислоту, метан можно сжечь для тепла или электричества. Сейчас в одном швейцарском городке на предприятии по переработке сточных вод стоит наш прототип. Еще у нас есть другой проект, торговля криптой. Немец пишет алгоритм для предсказаний, я автоматизирую. Я не очень верю в предсказания для временных рядов, но я ничем не рискую, а заодно прокачаюсь. А если взлетит, будет денежка сама капать.
Еще надо сказать про Школу Кода. Начну с того, что я не смог найти работу после ухода из универа. Я рассылал резюме на все вакансии, какие видел. За несколько лет мне пришел только один ответ, прислали тестовое задание, и то на сишарп, хотя я подавался на питон. Задание я провалил. Но если я не могу найти работу программистом, что делать? Правильно, учить программированию! Я открыл свои курсы для детей, по выходным учил детей програмированию на скретч и питоне. Сначала снимал помещение в библиотеках, потом переделал спальню в класс. Мне очень нравится учить. Перед занятием я думаю - боже, что я буду говорить... Но стоит начать, я вхожу в раж и не могу остановиться, мне не хватает времени чтобы рассказать все, что я хочу. Родители видят прогресс, видят, что дети идут ко мне с удовольствием. Пошло сарафанное радио, появились группы. Я цены держал умеренные, по возможности дже снижал, но все равно получилась отличная прибавка к основной зарплате. Что еще немаловажно, уважение. Раньше я был шабашник на стройке, а стал педагогом, основателем школы программирования. К сожалению, из-за ковида пришлось закрыться.
Когда началась пандемия, правительство стало платить пособие достаточное, чтобы прожить. Я остался без работы, поэтому засел в подвале и начал качаться. Проходил курсы на курсере, долбил математику на Khan Academy.
Еще меня позвали на феллоушип. В Альберте есть такая славная контора Cybera, они проводят практику для начинающих дата саентистов. Сводят кандидатов с компаниями, которые занимаются данными, чтобы они могли работать вместе. Наша группа из четырех человек работала с компанией, которая разрабатывает алгоритм для оптимизации ряда пластических операций для людей, меняющих пол. Там я узнал наконец, что такое аджайл, скрам, канбан, как работать с докером и править .yaml, кто такой продакт оунер и так далее. Еще я работал с оптимизацией, это был ужасно стрессовый и очень полезный опыт. Я понял, как мало я знаю про дата сайнс. До этого я нашлёпывал слоев в керасе и думал, что я офигеть крутой дата сотонист. Оптимизация поставила меня на место, спасибо ей. В общем, я попробовал, как это работать в нормальной конторе, и даже написал аппликушку на Shiny для запросов в базу данных Snomed CT - медицинская теринология и коды разных видов операций для страховых компаний.
Весной 2021 стало понятно, что пора слезать с пособия и выползать из подвала.
Так как отсутсвие диплома было основной причиной, почему меня не зовут на интервью, я решил идти учиться. Как раз появилась возможность получить Master of Data Science дистанционно в University of Colorado Boulder. Я туда записался, прошел все формальности. Так как нет возможности работать, мы решили переехать в Россию на время, сэкономить на жилье. И тут я совершил ошибку. В описании программы было сказано, что он self paced, можно проходить в любом режиме. Да, но если начал курс, там есть строгий дедлайн. Я почти все время потртил на сборы и переезд, а когда таки взялся за учебу, мне осталось две недели. Там было на выбор два пути, для программистов и для дата сайнс. Я был уверен в себе, взял алгоритмы для программистов, чтобы заодно и прокачать. Зря я это сделал. Ну, не зря, наверное. Теперь я нормально знаю про сортировки, большую и маленькую о, тету, деревья, стек, хэш. Я совершил невозможное, за две недели я сделал все задания и сдал экзамен. Я тратил время только на сон и учебу, вошел в какой-то продуктивный психоз, даже страшно вспомнить. Я, конечно, моледец, но курс все равно не прошел. В самом последнем задании я один пункт оставил пустым. Было три часа ночи и пять часов до дедлайна, я уже ничего не понимал и не думал, что из-за одного пункта из более чем ста меня завалят. Экзамен сдал на 89 баллов при нужных 85. Но, нет. Я не прошел, и тысяча долларов улетела в форточку.
Другой облом у меня случился с поиском работы. Я думал, что уж в России дата саентиста из Канады, бегло говорящего на английском, с руками оторвут. Я прошел несколько собеседований и провалил их с треском. Все отлично на первых стадиях, где я рассказывал про свой опыт и навыки работы. Но когда доходило до технической части, на меня напускали хардкорного математика, который задавал мне вопросы, которых я не видел в списках типа 72 questions for data science interview. А если и случались занкомые - про SQL join, k-means, support vector machines, то я видел, что мои ответы его совсем не удовлетворяют. Когда я сказал, чо я вообще-то по нейросетям, он у меня спросил теорему, название которой я в первый раз слышал. Я часами могу говорить про слои, функции активации, градиентный спуск, LSTM, BERT, YOLO и прочие штуки, но на этой теореме наша беседа закончилась. Я потом загуглил эту теорему, конечно. Интересная. Наверное, полезная.
Сказать, что я растроился, это ничего не сказать. Я приуныл и чувствовал себя отбросом и самозванцем, обманывающим приличных людей. Но если я не могу найти работу, то я всегда могу учить детей, это моя последняя траншея.
Я сделал несколько звонков, разместил резюме, и через неделю меня уже пригласили преподавать скретч и робототехнику в Роббо Клуб по субботам. Еще через неделю мне позвонили и пригласили преподавать в местный Дворец Творчества ака Дворец Пионеров. Это отдельная история, если интересно, могу отдельную статью написать про это. Там я и преподавал два месяца, заодно получил диплом Педагог Дополнительного Образования. Я регулярно прохожу или просто смотрю курсы на Курсере. Недавно смотрел курс Аналитик Данных от Гугл. Я его давно начал, решил вернуться. Дело в том, что если я не тяну на дата саентиста, то для аналитика я оверквалифаед. Вы мне рассказываете, как делать формулы в Эксель? Серьезно? Как делать бар чарт? Да я это левой пяткой, не отвлекаясь от игры в Death Stranding, делаю.
Но тут я подумал, тысяча чертей, надо попробовать найти работу аналитиком, хотя бы любимым делом займусь. Психанул, за десять минут на переменке на телефоне накидал резюме в Хед Хантер. Даже не предложениями, а тупо набор поисковых слов. R, Python, cloud computing, скрипты, Линукс. К вечеру у меня было четыре приглашения на интервью, включая Леруа Мерлен. Одно из них удивительно подходило под мои навыки и под то, чем я хотел бы заниматься. На следующий день я с ними пообщался и мне сразу дали оффер. В понедельник я выхожу на работу, во Дворце Творчества отработал две недели как положено.
Это будет первая моя фултайм работа по специальности. Слово "R" я услышал в 2013 году, тогда мне было 37 лет. Сейчас мне 45, и я вошел в айти.