Вспомнил ещё одну давнюю мечту

Nov 10, 2021 13:57


В 2019 году я решил постепенно от чудес и иллюзий возвращаться к работе по основной специальности - computer science. Разбирался в достижениях машинного обучения и искусственного интеллекта, осваивал Python и многочисленные инструменты и подходы, развившиеся за 10 лет. Приятно удивлялся богатству возможностей и привычно - количеству технических подробностей, «костылей» и «танцев с бубном», которые необходимо освоить, если хочешь не только восхищаться и болтать на модные темы, но и своими руками что-то сделать.

Мой перфекционизм помешал мне подробно рассказывать о результатах, которые я получал. Теперь жалею:) Результаты были! Всё-таки качественное базовое образование - исключительно ценная и полезная штука. Краткий перечень (без подробных ссылок, чтобы в этот раз следы остались):

  • Робот Робик - приложение на Python с распознаванием людей с помощью веб-камеры
  • Топ-2% рейтинг мастера на codingame.com - соревнования по программированию игроков в компьютерный играх. Обратите внимание - не компьютерных игр, а именно ботов, играющих в компьютерные игры против других ботов.
  • Квалификация преподавателя Python в Яндекс-Лицее - так жаль, что не довелось поработать с детьми тогда!

В 2020 году подоспели локдауны и полное отсутствие выступлений волшебника, пришлось ускорить поиск работы с акцентом на устойчивый заработок, и в итоге я с мая 2020 по глубокий февраль 2021 работал удалённо старшим специалистом техподдержки 100% онлайн-компании из Техаса. Это был бесценный опыт... Теперь я знаю, что:


  • я всё ещё могу впахивать по 40+ часов в неделю не поднимая головы,
  • рабочий язык английский - не проблема вообще, 
  • разбираться в нагромождении ИТ-систем разнообразнейшего происхождения у меня получается лучше многих сисадминов с многолетним опытом.
  • Но заниматься такой работой мне неинтересно, а только большая з/п уже через пару месяцев радовать перестаёт.

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

И вот буквально на днях я вспомнил, как в 1988 году Михаил Орлов, тогда наш учитель по информатике, рассказывал об очень одарённом ученике, которые «мечтал в деталях узнать, как устроен компьютер, и понять до конца, до уровня транзисторов, как же он работает». И говорил что увы, в рамках школьной информатики даже в физматшколе 239 разобраться в этом не получится. Но ко второму курсу профильного ВУЗа есть шанс понять.

Интересно, что моя старшая дочь Наташа где-то в 6-7 лет уже спрашивала: «А как компьютер узнаёт, как ему выполнять программу?» Мы тогда начинали заниматься программированием в КУМИРе и на Scratch, и этот вопрос возник естественно :)

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

  1. включатели/переключатели механические и электронные (транзисторы)
  2. двоичная система счисления
  3. как из переключателей и лампочек сделать ячейку памяти (триггер, флип-флоп)
  4. как из ячеек памяти сделать счётчик и сумматор
  5. как из переключателей сделать системы ввода данных и адресации ячеек памяти (шина данных, шина адресов)
  6. как из счётчиков, сумматоров, шины данных и шины адресов сделать программируемый калькулятор с памятью и двоичным вводом-выводом
  7. как от двоичного ввода-вывода перейти к десятичному, а затем текстовому и графическому вводу и выводу информации - для удобства пользователя
  8. Как функции «для удобства пользователя» постепенно объединяются в BIOS и операционную систему: сначала дисковую а потом и оконную.
  9. Как в любом современном смартфоне разглядеть все эти штуки 

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

Так о какой же мечте я вспомнил? Давным-давно, в 8-м классе, ещё до 239, я ходил на кружок программирования в Аничковом дворце, и мечтал, что когда-нибудь моей работой будет писать небольшие но очень красивые, быстрые, умно и хитро устроенные программки. И чтобы эти программки заставляли компьютер делать что-то интересное, увлекательное. Чтобы я таким образом узнавал что-то новое про мир, делал какие-то открытия.

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

В качестве иллюстрации - скриншот моего первого проекта на Scratch, 18-е марта 2007 года. Сыну Артемию тогда было 5 лет:



Под каким углом надо выстрелить, чтобы снаряд полетел максимально далеко?

Удивительное дело - площадка всё ещё существует и проект всё ещё можно запустить. Даже на смартфоне работает, пришлось добавить два блока: https://scratch.mit.edu/projects/548/

Как тебе это?

Previous post Next post
Up