{"id":14274,"url":"\/distributions\/14274\/click?bit=1&hash=fadd1ae2f2e07e0dfe00a9cff0f1f56eecf48fb8ab0df0b0bfa4004b70b3f9e6","title":"\u0427\u0435\u043c \u043c\u0443\u0440\u0430\u0432\u044c\u0438\u043d\u044b\u0435 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"6fbf3884-3bcf-55d2-978b-295966d75ee2"}

Мне 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 классов, а там — или в сильный вуз вроде Вышки, или попробую поступить в иностранные университеты.

0
460 комментариев
Написать комментарий...
Pavel Ivanov

Очень грамотный PR от SkyEng :) эмоциональный отклик у статьи будет высоким – это уже сейчас понятно.

Теперь можно кидать в меня минусы: типа, парень молодец, статья вдохновляет, PR-команда SkyEng ни при чём – и всё такое.

Ответить
Развернуть ветку
Gleb Kudryavtcev

Очень даже при чем. Если бы не PR, то Жора бы работал, но вы бы этого не узнали :) 
Кстати, папа ни при чем. Парень сам по себе очень пробивной.

Ответить
Развернуть ветку
Bender Rodriguez

Ага, папа не нужен)

Ответить
Развернуть ветку
Pavel Ivanov

Кстати, здесь PR-отдел ская слегка перетрудился. Я понимаю, если бы сюда закинули какой-то один язык... но взять и смешать C++, Python, jQuery и ноду в одном посте восьмиклассника – это очень толстая провокация :) 

Ответить
Развернуть ветку
Nick Sidorov

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

Ответить
Развернуть ветку
Gleb Kudryavtcev

А в чем проблема? Я в 8-м классе знал два языка - Basic, Pascal и тогдашние фреймворки - Delphi и VB, хотя это было больше 20 лет назад. Что js, что питон постигается на начальном уровне примерно за день. 

Ответить
Развернуть ветку
Bender Rodriguez

Ну да, ну да, «знать» и «мочь писать» — это немного разные вещи.

Ответить
Развернуть ветку
Gleb Kudryavtcev

И где в статье написано про знание трех языков и десяти фреймворков? 

Ответить
Развернуть ветку
Kelerius

Я в универе тоже знал языков 5... А сейчас один c# и то, есть куда расти))))

Ответить
Развернуть ветку
Алёна Кузнецова

Я верю, что в восьмом классе можно всё это знать. Мне было 12 лет и вот вам мой проект, где технологий и поболее http://catnfit.com/section/about
Жора, я очень за тебя рада. Я тоже подрабатывала в 14, сейчас мне 15, и я только учусь - нет времени. Но у меня вообще ЛИНГВИСТИЧЕСКАЯ школа и все знания только из книг и Интернета (ну, java - помогли в Малой академии) А у тебя - крутая школа - повезло. Ещё повезло с окружающими тебя ребятами.
Всё бывает! Мир прекрасен! 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Nick Sidorov

Вы тоже мужик под полтос или просто в SkYeNg работаете?) 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Ivan Vishnyakov

Для призерства надо постараться. Вот тебе задача (на будущее)
Два куба с единичной гранью, программа получает на ввод координаты вершин в пространстве. Найти объем пересечения

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Ivan Vishnyakov

Сделать такое было бы в 8 классе уже очень хорошо.
Но кубы в пространстве расположены случайным образом

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Nick Sidorov

Давайте. 
Ну и чтобы все было честно, я пришлю справку, что хожу в детский сад

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Владимир Иванов

Слился сидоров! А ты - молоток!

Ответить
Развернуть ветку
Skyeng
Автор

Привет, Павел. На C++ они в школе пишут в классе информатики. На Python Жора как-то ради теста написал игру - в посте она даже показана. С jQuery многие начинают свои эксперименты с вебом. Node ему нужен сейчас для создания ботов.

Инструмент определяется задачей и желанием. Владеть хотя бы парой - маст для разработчика. А уж сколько он попробует на pet-проектах на этом пути... 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Anton Krichevskiy

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

Какая разница маркетинг это или нет, мальчик получает буст! И очень круто!

Ответить
Развернуть ветку
Skyeng
Автор

Павел, привет, так многие начинают шаблонные проекты при освоении технологии - там, начинающие художники рисуют яблоки и вазы, начинающие программисты пишут учебные проекты, чтобы освоиться с языком. Как бы, для 10-11 лет допилить до конца и не бросить - уже неплохо, нет?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Pavel Volyntsev

Вы интегралы в 10-11 классам сами изобрели?

Из учебника - норм. Так же писал в школе. Повторять чужое - не зазорно.

Ответить
Развернуть ветку
Okama

При чём тут интегралы? Списать с книжки готовый код игры - то же, что списать готовое решение задачи с интегралами. Да, по ходу списывания можно что-то понять и разобраться, но называть это "я написал"... Вы айтишник вообще?

Ответить
Развернуть ветку
Pavel Volyntsev

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

Давайте вопрос про "можно ли считать моим то, что я взял у других" оставим юристам. А сами будем творить :)

Вы со стекооверфлоу куски копипастите? Из гитхаба/npm/packagist/... готовые либы  форкаете/встраиваете? А если так, то конечно же все заработанные деньги и славу честно отправляете автору кода, который позаимствовали? Обычно нет, то есть таких случаях автор исходного кода остаётся в неведении использования своих решений. Почему?

Потому что программист решает задачу, которая в большинстве случает звучит как "реализовать программный алгоритм, который ..." . Если в данном случае задача была - реализовать простейшую игрушку на питоне - то она решена. Откуда код - неважно. Сегодня скопипастит, завтра напишет сам, послезавтра возьмёт чужую библиотеку с npm (модуль гугль-аналитики, например), потом даже может быть купит чужой код для встраивания в свой проект (какой-нибудь шаблон для оформления сайта) или закажет у другого программиста-фрилансера или будет весь код у аутсорсеров заказывать (а сам котиков на ютубе смотреть). Но всё это в целом, состоящее из обломков, фрагментов, кусков своего и заимствованного - это его творчество, его часы, его идеи, его силы, его нервы. Его результат. А за результат программист получает зарплату. Я достаточно понятно объяснил?

Ответить
Развернуть ветку
Pavel Ivanov

Привет, SkyEng. Хороший наброс :) но нет, я не буду дальше вовлекаться в это.

Ответить
Развернуть ветку
Причинно-следственная связь

Помню себя в 10-11м классе. 
Macromedia Flash, VB6... Потом поверил в свои силы и пошел по книжке учить С++. Ох и быстро ж я бросил эту затею. А малой 7-8 лет и он уже начал разбираться. Обидно. Но если правда - малой молодец. А я нет.

Ответить
Развернуть ветку
Степан Позняк

Отчасти соглашусь
Но всё-таки это вполне возможно
Я к девятому классу умел писать сайты, соответственно js тоже знал, на python простенькие игры мог делать, на c++ хорошо программировал. Ну хорошо для восьмиклассника, даже до джуниора, ясное дело, было далеко, но 2D игры с пиксельной отрисовкой, попиксельный вывод фото и простенькие алгоритмы по типу сортировок знал. Конечно не так всё классно, как у мальчика из поста, да и странные факты из статьи наталкивают на подозрения, но всё-же это вполне возможно.

Ответить
Развернуть ветку
Gleb Kudryavtcev

Главное, что папа его никуда не устраивал. Жора нас хейтил в чатах вполне самостоятельно - тыкал носом в верстку и не те скрипты :) Поэтому и предложили поработать, т.к. почему бы и нет. 

Ответить
Развернуть ветку
Bender Rodriguez

Глеб, атанавитесь! Если 14 летний пацан тыкал вас в вёрстку и не те скрипты, то у SkyEng всё очень хуёво :'D

Ответить
Развернуть ветку
Gleb Kudryavtcev

Haters gonna hate, что тут скажешь. 

Ответить
Развернуть ветку
Bender Rodriguez

Серьёзно, Глеб? Что за токсичное поведение? Даже обидно ...
Я же вас за язык не тянул и коммент писать выше не заставлял, это ваши слова, причем они НЕ вырваны из контекста — это буквально ваша цитата.

Ответить
Развернуть ветку
Gleb Kudryavtcev

Моя цитаты + ваши домыслы. Вот домыслы я и прокомментировал. 

Ответить
Развернуть ветку
Bender Rodriguez

Ну ясно. Эта песня хороша, начинай с начала. Могу предположить, что вы из тех людей, которые не умеют признавать свои ошибки.

Даю бесплатный совет, как выходить из подобных ситуаций: сделать глубокий вдох, успокоиться и написать, что на самом деле у вас лучший it-отдел на рынке, и ваши парни вкалывают аки волы, но у вас большая компания и какие-то косяки действительно просачиваются через ваш героический QA-отдел!

А еще можно добавить воды, мол, парница очень талантливый и вы горды, что смогли поработать с ним вместе. Ведь это делает и вас и его лучше: он ловит мелкие баги, а вы ... ну а вы, блядь, тупо пиаритесь за его счёт :'D

Ответить
Развернуть ветку
Gleb Kudryavtcev
Ответить
Развернуть ветку
Pavel Ivanov

🔥

Ответить
Развернуть ветку
Kelerius

Да нет. Просто в юности ты максималист+ отсутствия опыта и глубоких знаний позволяет задавать такие вопросы)) что сеньоры по полдня думают,а реально зачем нам этот скрипт?)))

Ответить
Развернуть ветку
Pavel Ivanov

Дело даже не в максимализме, а в целесообразности. В коммерческой деятельности ресурсов всегда меньше, чем задач/проблем.

Ответить
Развернуть ветку
457 комментариев
Раскрывать всегда