Евгений Некрасов: «Я научился кодить на слух»::
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Разбор полетов  

Ошибок опыт трудный

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

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 10279
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8472
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8567
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5462
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6146
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Евгений Некрасов: «Я научился кодить на слух»

Архив номеров / 2021 / Выпуск №09 (226) / Евгений Некрасов: «Я научился кодить на слух»

Рубрика: Гость «СА»

 

Евгений Некрасов:
«Я научился кодить на слух»

На вопросы «Системного администратора» отвечает преподаватель курсов DevOps-инженерии ИТ-компании TAGES, инженер DevOps-кластеров и нейронных сетей.


В возрасте 14 лет с Женей случился несчастный случай, едва не стоивший ему жизни. Результат: несколько недель в коме, ампутация правой кисти, потеря 99% зрения, обоняния и частичная потеря чувствительности левой руки. Но это не помешало ему закончить бакалавриат и учиться на общих основаниях, параллельно работая над несколькими ИТ-проектами. Сегодня Евгений Некрасов достиг такого уровня развития, что запустил свой собственный курс обучения новичков хитростям DevOps-инженерии в ИТ-компании TAGES

– Как ты вообще работаешь, как тебе это все удается?

– Ну как, нормально! Ручками! (Смеется). Я научился кодить на слух. Я вообще все делаю на слух. В повседневной жизни я использую программу экранного доступа. На английском она называется Screen reader. Это ПО позволяет считывать весь допустимый текст, который только можно считать и преобразует его в аудиопоток. Я просто надеваю наушники и использую клавиатуру.

Я в принципе не использую мышку, потому что мышь плавает по экрану, а мне нужна четкая фиксация фокуса. Поэтому я использую только навигацию при помощи клавиатуры, и весь текст, который программа может считать, она транслирует мне в речь, а я уже на высокой скорости (до 1000 слов в минуту) его считываю.

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


– Код ты (пишешь) тоже на скорости тысяча слов в минуту?

– Когда я пишу самостоятельно – да. А, допустим, когда провожу код-ревью, я снижаю скорость до 600-800 в минуту, потому что это все-таки чужой код.


– Почему ты выбрал именно программирование?

– Я занимаюсь разработкой со школьной скамьи. Ровно после того, как получил травму, я и стал заниматься разработкой. Многие задают вопрос «Почему?».

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


– Почему тебя заинтересовал DevOps?

– DevOps я занимаюсь 5 лет. В 2016-м году я пришел у нас во Владивостоке на конференцию Google DevFest, проводимую Сергеем Мелехиным, руководителем местного сообщества Google. На этом мероприятии один из спикеров рассказывал про Kubernetes – что это и как оно работает. Я тогда уже работал с виртуальными машинами и понимал, как все это действо выглядит. Вот я и думаю: надо ж приложения создавать, нужно их паковать.

А я в тот момент активно переезжал с «Винды» на Linux, с Linux на другие ОС, и у меня постоянно возникали какие-то сложности: нужно было постоянно это дело деплоить, разворачивать, автоматизировать. И с виртуальными машинами это выглядело не очень классно. Использование сторонних модулей для скриптов автодеплоинга тоже было некрасиво.

Я углубился сперва в Docker, понял, насколько это четко и круто: ты берешь свое написанное приложение, пакуешь в контейнер и доставляешь куда тебе нужно. Docker заводится безотказно 100% везде, на любой ОС. Это решило кучу моих проблем. Я смог сразу раскидывать зависимости, отсылать ребятам то, что делал.

Но потом я перешел в область автоматизации – нужно было это дело как-то автоматизировать. Не хотелось постоянно залезать на сервер, выполнять кучу monkey job. Дальше я начал ковырять Continuous Integration (CI), потом думаю, нужно же и это дело как-то деплоить. И когда уже работал над коммерческим проектом, начал ковырять практики Delivery и Deployment. И вот тогда я и ушел активно в DevOps, параллельно специализируясь еще и в разработке высоконагруженных систем.

После конференции я узнал про Kubernetes, разобрался, как он работает, что собой представляет, поучаствовал в нескольких научных исследованиях и теперь двигаюсь в этом направлении. Недавно провел стартовый курс по DevOps для своих сокурсников и студенческого сообщества Google, а потом меня пригласили в TAGES прочитать аналогичный курс для джунов. В целом вышло замечательно, так что мы планируем этот курс продолжить – обучать новеньких.


– Что такого есть в DevOps, что тебя покорило?

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


– С какими коммерческими проектами ты работал?

– Я начал с британского проекта lobbido.com – это доска объявлений, ориентированная на рынок Запада и стран ЕС. Автоматизировал процессы сборки бэкенда, фронта и разворачивание этого всего на серверах. Сначала все в Docker, такой простецкий вариант. Потом был крупный кластер для обучения моделей нейронных сетей, который я делал в университете в Центре проектной деятельности.

Следом был проект WETER венчурной крауд-инвестинговой компании, которая занимается разработкой перспективный зданий с автономным энергообеспечением. Там я занимался поднятием кластера.

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

После этого был наш местный проект Sopki. Мы занимались разработкой, я пилил бэкенд, а также автоматизировал его сборку.

И еще был проект Plizi.fun – разработка новой социальной сети, который, к сожалению, не выстрелил. Но мне удалось поработать с высоконагрузочным тестированием. Там было облачное решение от Amazon – создание крупных кластерных решений, отказоустойчивых решений, обработка кучи миллионов запросов сообщений за секунды. Нам надо было запроектировать все так, чтобы, помимо того, что ты все это дело собираешь и разворачиваешь, оно не просто работало, а выдерживало огромную нагрузку.

Сейчас я преподаю в TAGES и параллельно работаю в компании SparklingTide с заказной разработкой, занимаюсь DevOps-инженерией.


– Какие у тебя планы на будущее?

– Я закончил 4 курс ДВФУ и поступил в магистратуру ИТМО, собираюсь переезжать в Питер. Я сдал все вступительные испытания на 100 из 100 баллов, которые там были. И все, теперь я радуюсь жизни!

Меня зачислили, и теперь я являюсь студентом Научно-исследовательского университета информационных технологий механики и оптики. Направление – программная инженерия. Я очень хотел поступить на технологии интернета вещей (IoT). Оно, ведь, как минимум еще лет десять, если не больше, будет в тренде. Оно будет очень перспективным, и я выбрал именно его.


Ключевые слова
: DevOps-инженерия, доставка, отказоустойчивость, автоматизация, приложение, виртуальная машина, разработка

 


Подпишитесь на журнал
Купите в Интернет-магазине

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru