- PVSM.RU - https://www.pvsm.ru -

Мне 14, и я совмещаю школу с работой в ИТ

Мне 14, и я совмещаю школу с работой в ИТ - 1

Когда мне было семь, папа купил наш первый Ардуино и мы сделали игрушку для котов. Лазерная указка подвешивалась на два сервомотора и пускала луч — а животные носились за красной точкой по комнате. Я стал копатьcя в программе, что написал отец, пытаясь понять, как все работает… и так попробовал C++.

Быстро поняв, что “плюсы” для первоклассника как-то не очень, а вот программировать мне интересно, я засел за Scratch — учить его как раз посоветовал папа. Когда перерос его, отец показал пару приёмов на Python. Потом был классический путь: захотелось смастерить веб-страничку, засел за jQuery, JS-фреймворки и Node.js. И вот он я)

Как я учил английский, читая документацию

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

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

Настоящий прорыв случился, когда я осваивал Scratch. Чтобы участвовать в жизни комьюнити, надо реально знать английский, потому что все на нём общаются. Люди могут случайно наткнуться на твой проект, дать отзыв или написать: «А можно я это себе возьму?» Такой вот опенсорс на минималках. Благодаря сообществу я перестал стесняться отвечать на вопросы и что-то комментировать. Короче, сломал языковой барьер и начал пользоваться английским по-настоящему, как инструментом.

Когда я стал экспериментировать с Python и JS, это очень пригодилось: умение читать и говорить на иностранном может завести вас очень далеко)

Мои pet-проекты

Всего их было свыше 50, но я расскажу о пяти.

Мне 14, и я совмещаю школу с работой в ИТ - 3
Сделано на Python. И это гиф.

Первая игра. Она же стала первым коммитом на гитхабе — 1 ноября 2015. Никакого сюжета: ты управляешь кораблем (его имитирует треугольник) и лопаешь пузырики, которые изображены как кружочки. Всё рисуется на ходу.

Мне 14, и я совмещаю школу с работой в ИТ - 4
Три хоткея на границе поисковой строки: нажмите, это тоже гифка.

Первая веб-страничка. Сначала я сделал домашнюю страницу для своего браузера: там даже не было CSS, но первая попытка удалась, и я начал активно смотреть, что ещё могу — брал разные апишки и экспериментировал с ними.

Мне 14, и я совмещаю школу с работой в ИТ - 5
Как-то я поднял сервер на протоколе Telnet и стал делать запросы к веб-поиску Google через терминал.
Затем я случайно собрал телнетовский ханипот. Сейчас телнет в основном используется для роутеров, и ко мне быстро полезли всякие ушлые боты. Мой сервер не воспринимал их команды, а просто все логировал. И на это было очень смешно смотреть: натыкается бот на сервер, думает, что это роутер, засылает всякие команды в попытке его переконфигурировать — а сервак просто отдает результаты из гугла.

Мне 14, и я совмещаю школу с работой в ИТ - 6
Веб-версия Que — демократичного способа составить коллективный плейлист.

Первый раз, когда меня зафичерили на Product Hunt. Летом 2018-го я листал эппловскую документацию и увидел, что у них есть веб-API для музыки. В школе у нас часто была проблема — когда мы устраиваем какой-либо праздник или вечеринку, все жёстко рубятся за право включить свою музыку. Я решил сделать сервис, который решит проблему: открываешь его на компьютере или телефоне, желающие сканируют QR-код, добавляют свои песни в общий плейлист и голосуют за ту, что заиграет следующей.

Мне 14, и я совмещаю школу с работой в ИТ - 7
426 голосов и третье место по итогам дня на сервисе. Сейчас проект закрыт, т.к. Apple поменяли API, а Facebook выпустил своё приложение — глупо с ним бодаться)

Когда я решил выложить его на Product Hunt, это заняло 10 минут: отправил заявку, чувак с той стороны написал: “Мы тебя фичерим, но перепиши, пожалуйста, описание. Оно так себе”. Я сказал: “Окей”.

Мне 14, и я совмещаю школу с работой в ИТ - 8
А это Docket — “тиндер для составления списка покупок”. Еще один проект, который зашёл на Product Hunt. Идея была такой: вот стоишь ты перед пустым холодильником, собираешься в магазин и пытаешься сообразить, чего же ещё купить. В этот момент можно не ломать мозг [1], а запустить приложение, смотреть на карточки товаров и свайпать их — список покупок составится автоматом.

Мне 14, и я совмещаю школу с работой в ИТ - 9
Саму идею и описание я подхватил на англоязычном сайте [2] с идеями проектов.

Чтобы найти данные для приложения, я дошел до пятой страницы гугла: выше попадались только дата-сеты с брендированными продуктами. А там, в глубинах выдачи, ждала ссылка на гитхаб [3]: кто-то выложил дата-сет, где каждая строка — это чек на английском с перечнем продуктов без брендов (“молоко”, “огурцы” и пр.). На его основе я составил свою эксельку: список продуктов и их рейтинг популярности — то есть первым показывались не какие-нибудь оливки, а молоко. Потому что оно нужно чаще.

Самое забавное случилось, когда Product Hunt выложил ссылку на этот продукт в свои соцсети. Пошел трафик и кто-то написал: «Слушай, всё здорово, но свайпы поменяй местами, в Тиндере же наоборот». А мне 13 лет, я таким не пользуюсь, откуда мне знать, в какую сторону там свайпы?! Родители поржали.

Как я попал на стажировку

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

Я начал использовать чат, чтобы слать баг-репорты — не совсем критичные, но интересные. Например, когда у меня на iPad не работал мягкий скроллинг в Vimbox, нашей платформе для занятий в браузере, я написал: «Кажется, если этот кусок CSS поправить, работать будет”. То есть я не просто жаловался, а выдвигал свои гипотезы, почему так может быть, кидал логи и подробности. В какой-то момент мне написала Влада, руководитель направления продуктов для детей и подростков, и предложила попробовать свои силы на стажировке в их команде.

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

Я написал: “Спасибо, подумаю”. Просто не знал, как реагировать. И сразу пошёл к отцу: „Пап, что мне делать?” После истории с Product Hunt он уже перестал удивляться и сказал, что, в принципе, это неплохое предложение: удалёнка, свободный график и отличный опыт. Потом был созвон — и меня взяли стажёром.

Папе, конечно, ещё пришлось пособирать документы: в России официально работать с 14 лет можно, но для оформления надо запастись временем, пройти медицинский осмотр и получить согласование от районного отдела социальной защиты.

Мне 14, и я совмещаю школу с работой в ИТ - 11
Хотя ребята известны удалёнкой, в Москве есть офис. Пару раз заезжал туда.

Меня определили в отдел простых задач: специальную команду, которая разгружает основную разработку. Отдел был сильно нагружен запросами по лендингам, и скопилось много заказов на создание ботов для Slack. Наверное, тогда ребята сели и подумали: “У нас есть разработчик, который может писать на JS, но не знает PHP. На JS ботов писать можно, может, дадим их ему?” Так я стал одним из двух людей в Skyeng, которые пишут ботов для автоматизации быта разработки и других отделов.

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

Первые задачи

Первое время моим ментором был Лёша deusdeorum [4] Катаев, тогдашний тимлид одной из ключевых команд. Когда меня добавили в Slack, он написал: “Привет, хочу автоматизировать процессы нашей разработки”, — и кинул две идеи для ботов.

Мне 14, и я совмещаю школу с работой в ИТ - 12
Когда переписок много, часто тегнуть человека недостаточно — упоминание еще не гарантирует, что он прочтет сообщение: оно может потеряться через минуту среди других таких же. Я написал решение за неделю)

Первым стал бот, который гарантировал прочтение важных сообщений. Мы назвали его Yellbot. Используется для критически важных случаев: ты выбираешь аккаунты или группу аккаунтов через Yellbot-a, и он начинает “преследовать” людей конкретным сообщением — обновляет нотификацию каждую минуту, пока ты не нажмешь “я прочитал” под текстом.

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

Мне 14, и я совмещаю школу с работой в ИТ - 13
А это мои коты =^·.·^=

С тех пор я сделал несколько десятков ботов: какие-то были максимально тупыми (например, один просто приветствовал новичка в канале и просил прочитать правила), какие-то служили интерфейсом поиска в базах знаний или помогали автоматизировать аналитику.

Это очень прикольно. Раньше, когда я выкладывал решение на тот же Product Hunt, это было востребовано два дня, а затем оказывалось нужным лишь паре людей. Теперь, когда я что-то создаю, то знаю, что делаю что-то полезное, чем будут пользоваться месяцы и даже, может быть, годы.

Как совмещаю работу со школой

Сейчас я в восьмом классе 57-й матшколы. В этом году тут открылся спецкласс по информатике: заявилось несколько сотен ребят, даже из других школ и городов — конкурс был открытым. Я очень переживал, пройду ли. Чтобы повысить шансы, я попросил Сашу Ларьяновского, управляющего партнёра Skyeng, написать мне рекомендацию.

Мне 14, и я совмещаю школу с работой в ИТ - 14
Думаю, стажировка — одна из причин, почему меня взяли в спецкласс. Рекомендательное письмо сработало на отлично.

У нас очень много информатики: в понедельник — два часа, в четверг — ещё два, в субботу — шесть. Причём это именно продвинутый курс: мы осваиваем алгоритмы, пишем на C++, у нас есть и математический анализ (“люблю” его всей душой).

Мне 14, и я совмещаю школу с работой в ИТ - 15
А еще нас водят на экскурсии в разные ИТ-компании) Из класса не только я серьёзно увлекаюсь разработкой — еще один из ребят пишет неплохие игры.

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

Мне 14, и я совмещаю школу с работой в ИТ - 16
Пользуюсь тремя мониторами: на одном — Slack, на втором — документация, а на третьем — VS Code.

Когда нашей команде приходит новая задача, меня призывают в чат с заказчиком с просьбой оценить сроки. Обычно я оцениваю их по аналогии c прошлыми проектами и сразу предупреждаю: “Смотрите, это столько-то человеко-часов, но у меня эта работа может растянуться на неделю-другую”. Дальше заказчик сам решает — отдать задачу кому-то из ребят на фуллтайме для срочной разработки, или поручить её мне.

Мне 14, и я совмещаю школу с работой в ИТ - 17
Сначала с задачами ко мне приходили в личку в Slack — прекрасное время) Сейчас всё заносится в Jira, как у всех.

Раз в две недели у меня проходит синк с проджектом, чтобы она понимала, что я сейчас делаю. Бывает и код-ревью от ребят. Ещё, как и всех, меня просят логировать время в Jira: я просто выгружаю данные из Toggl, там они точнее.

На что трачу заработанное. Часть денег уходит на всякие подписки и софт для личных проектов:

  • Hetzner — хостинг [5] моего личного сервера,
  • ZEIT — как хост для Node.js-проектов,
  • iCloud на 2Тб — потому что бэкапы надо делать,
  • 1Password — потому что как же без него жить,
  • Notion — храню в нем конспекты и юзаю его вместо Jira для личных проектов,
  • Setapp — 140+ приложений для macOS за $5/мес (со студенческой скидкой)
  • Fantastical — очень крутая замена нативному календарю на iOS и macOS,
  • Яндекс.Плюс — взял только из-за скидки на Яндекс.Еду и Лавку (с тем количеством еды, которую я и мои друзья заказываем в школу и домой, эта подписка окупается!),
  • Nintendo Switch Online — мастхев для владельцев Свитчей,
  • Netflix, Apple Music и прочие стриминговые сервисы

Как это изменило мою жизнь

Теперь мой план на 2020 — выжить) Большой плюс моего нового положения — стали пускать на конференции. Папа работает в Mail.ru, там много всего интересного проходит: раньше приходилось просить его выписать мне гостевой пропуск, чтобы я мог пройти “зайцем”. А сейчас я просто подаю заявку: “Ребят, я разработчик из Skyeng”. Они такие: “Заявка одобрена”. В основном хожу на мероприятия про фронт и мобильную разработку.

Мне 14, и я совмещаю школу с работой в ИТ - 18
На СDS в офисе Mail.ru, ноябрь 2019.

Прошлым летом, когда времени было больше, я попробовал податься на яндексовскую стажировку по фронту. И меня почти взяли. Я написал тестовое задание онлайн и получил приглашение на собеседование. Я прихожу и говорю: “Здрасьте”. Они такие: “Ой”. Официально (и это было в правилах) участвовать можно было только с 18, но после обращения к замечательному Григорию bobuk [6] Бакунову мне в виде исключения разрешили участвовать в очных собеседованиях, где я продержался три тура. Однако оффера придется ждать минимум до совершеннолетия)

Мне 14, и я совмещаю школу с работой в ИТ - 19
“Вот что я люблю”

А ещё я окончательно определился с тем, что хочу работать в ИТ. Закончу одиннадцать классов, а там — или в сильный вуз типа Вышки, либо попробую поступить в иностранные университеты.

Автор: George Bougakov

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/346428

Ссылки в тексте:

[1] мозг: http://www.braintools.ru

[2] сайте: https://requestforproduct.co/

[3] ссылка на гитхаб: https://github.com/stedy/Machine-Learning-with-R-datasets/blob/master/groceries.csv

[4] deusdeorum: https://habr.com/ru/users/deusdeorum/

[5] хостинг: https://www.reg.ru/?rlink=reflink-717

[6] bobuk: https://habr.com/ru/users/bobuk/

[7] Источник: https://habr.com/ru/post/487764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=487764