Карьера
Skyeng
44 264

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

История московского восьмиклассника, который пару раз попадал на главную Product Hunt c личными проектами, а еще пишет Slack-ботов, которые используют десятки команд разработки в Skyeng.

В закладки
Аудио
​Герой истории - Жора Бугаков, ученик класса с упором на информатику Георгий Бугаков

Когда мне было семь, папа купил наш первый Arduino. Мне стало интересно, как это работает. Я стал копатьcя в программах, что написал отец, и так попробовал C++. Быстро поняв, что «плюсы» для первоклассника как-то не очень, а вот программировать мне интересно, я засел за Scratch. Когда перерос его, отец показал пару приёмов на Python, а потом были jQuery, JS-фреймворки и Node.js. И вот он я :)

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

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

​Тогда я вооружился Google-переводчиком, залез на arduino.cc и так учился что-то понимать, переводя незнакомые слова.

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

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

Мои личные проекты

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

Первый коммит на GitHub — 1 ноября 2015 года

Моя первая игра на Python.

Все хотят написать свою игру. Я не был исключением)

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

Первая веб-страничка

Я сделал домашнюю страницу для браузера: простая поисковая строка и кнопки «Открыть в Google», «Открыть в WolframAlpha» или «Открыть на YouTube».

Мне понравилась веб-разработка, и я начал активно смотреть, что ещё могу.

Написанная своими руками веб-страничка: еще одна веха на пути многих разработчиков :)​

Первый раз, когда меня зафичерили на Product Hunt

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

​426 голосов, третье место по итогам дня на сервисе. Сейчас проект закрыт, так как Apple поменяла API, а Facebook выпустила своё приложение, глупо с ним бодаться

Задача выложить продукт на Product Hunt заняла 10 минут: отправил заявку, чувак с той стороны написал: «Мы тебя фичерим, но перепиши, пожалуйста, описание. Оно так себе». Я сказал: «Окей». И все закрутилось)

Docket — «Tinder для составления списка покупок»

Еще один проект, который зашёл на Product Hunt.

​Идея была такой: запустил приложение, свайпаешь карточки товаров, список покупок составляется автоматом

Чтобы найти данные для приложения, я дошел до пятой страницы Google и нашел дата-сет с перечнем продуктов без указания брендов (просто «молоко», «огурцы»). На его основе я составил список продуктов с рейтингом популярности, чтобы первым показывались не какие-нибудь оливки, а молоко.

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

Как я попал на стажировку в ИТ-компанию

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

Я был не только активным студентом, но и высылал обратную связь по платформе. В один момент продакты компании создали чат для активных пользователей в Telegram, добавили меня в него. Я начал использовать чат, чтобы слать баг-репорты: не совсем критичные, но интересные. Например, на iPad не работал мягкий скроллинг, и я выдвигал свои гипотезы, почему так может быть.

​В какой-то момент мне написала Влада, руководитель направления продуктов для детей и подростков, и предложила попробовать свои силы на стажировке в их команде

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

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

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

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

​Отправитель также будет видеть, кто не прочел его сообщение

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

Мои коты, мое богатство =^·.·^=

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

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

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

​Думаю, стажировка — это одна из причин, почему меня взяли в продвинутый класс. Рекомендательное письмо сработало на отлично

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

​Из класса не только я серьёзно увлекаюсь разработкой, еще один из парней пишет неплохие игры

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

​На уроках информатики в школе у меня два монитора. По работе использую до трех: на одном Slack, на втором документация, на третьем код

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

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

На что трачу заработанное

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

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

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

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

В основном хожу на мероприятия про фронт и мобильную разработку.

​«Вот что я люблю»

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Skyeng", "author_type": "editor", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","skyeng"], "comments": 453, "likes": 385, "favorites": 350, "is_advertisement": false, "subsite_label": "hr", "id": 106178, "is_wide": true, "is_ugc": false, "date": "Wed, 12 Feb 2020 15:20:45 +0300", "is_special": false }
Создать объявление на vc.ru
Промо
Как творческие люди продвигают свои работы в TikTok
Интервью с тремя героями — о развитии каналов, отличиях TikTok от других соцсетей и монетизации.
0
{ "id": 106178, "author_id": 199517, "diff_limit": 1000, "urls": {"diff":"\/comments\/106178\/get","add":"\/comments\/106178\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/106178"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199121, "last_count_and_date": null }
453 комментария
Популярные
По порядку
Написать комментарий...
50

Жаль, в моем детстве не было SkyEng - приходилось крапиву палкой во дворе бить..

Ответить
12

Пять баллов бро.
У нас был карбид, сера, порох, банки, мяч, болото, плот, деревья, цирий, шпульки,... А у тома сойера только стеклянные шарики и дохлая кошка..

Ответить
5

Крыши, стройки, снежные крепости, хоккей во дворе, ледяные горки, магний с марганцовкой. Нам очень повезло.

Ответить
2

Дымовухи из коричневых расчесок - спасибо легпрому СССР.

Ответить
0

Вот этого я не знал. Делал из шариков для пинг-понга.

Ответить
1

И из неваляшек.

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9qZWN0SWQiOiI1ZTRmZjUxODYyOGE2YzcxNDUxNWY0ZGEiLCJpYXQiOjE1ODI1MzY0NDB9.AwBBnUWMy3RR1xtAoaXVr81WvqxdlD4C8CBpwFiONzw", "release": "44bde710" } { "page_type": "default" }