«Уже несколько раз получил повышение»: как я стал фронтенд-разработчиком в 17 лет
Это история из Сообщества. Редакция задала вопросы, бережно отредактировала и оформила по стандартам журнала
Я начал программировать в 12 лет, в 15 создал первые игры, а в 17 получил оффер на позицию джуниор-фронтенд-разработчика.
Я родился и вырос в Свободном — это город неподалеку от Благовещенска на границе с Китаем. Ходил в самую обычную школу, а с десятого класса начал углубленно изучать математику, информатику и физику.
Расскажу, как я пришел в ИТ, как искал работу и получил оффер и почему решил не поступать в университет.
Первые шаги в программировании
Как появился интерес к ИТ. Мой брат Саша — программист, поэтому я с детства наблюдал за его работой, но не интересовался подробностями.
В 2014 году Саша поступил в Благовещенский государственный педагогический университет, БГПУ, и съехал от нас с родителями. Мы старались поддерживать связь. Как-то брат рассказал, что вместе с командой студентов его вуза разрабатывает систему автоматизации школ в регионе «Пионер». Ученики получают универсальную карточку, по которой проходят через турникеты в школу, оплачивают еду в столовой и проезд в общественном транспорте. Я посмотрел их презентацию, изучил сайт «Пионера» и загорелся идеей программирования: понял, что хочу тоже создавать полезные сервисы.
Как учился программировать. В 2017 году мне было 12 лет. Я окончил шестой класс и ушел на летние каникулы. У меня было много свободного времени, так что я решил создать что-то похожее на игру Geometry Dash .
Я спросил у брата, как он делал программы и какую среду разработки использовал. Он сказал, что Java и NetBeans. Я все это скачал и приступил к делу.
Почему-то тогда мне не пришло в голову посмотреть гайды — я работал методом тыка. Конечно, ничего не вышло, и я забросил это дело. Тогда же решил попробовать сделать сайт.
На «Ютубе» я наткнулся на видеоуроки Гоши Дударя. Это блогер, который пытается охватить абсолютно все языки программирования, и у него полно обучающих роликов. Не все из них понятные и корректные, но тогда и контента на эту тему было не так много, как сейчас. Мне было скучно, но с горем пополам я посмотрел его видеокурс «Создание сайта от А до Я» и приступил к своему первому проекту.
Я только начал погружаться в HTML и CSS , поэтому у меня не было знаний и опыта, чтобы делать достойные проекты. Получалась, откровенно говоря, фигня — жалкое подобие сайтов.
Естественно, никаких серьезных курсов я не проходил, просто смотрел бесплатные уроки в интернете. Занимался программированием как хобби, которое доставляло большое удовольствие. Параллельно, как и любой подросток, общался с друзьями, смотрел видео, играл в компьютерные игры или просто отдыхал.
Мои проекты
Социальная сеть. В 2018 году я продолжил обучаться по видео Гоши Дударя. Прошел его курсы по Java, Kotlin, C++, C#, Unity .
В комментариях к одному ролику я познакомился с Даниилом, который, как и я, недавно увлекся программированием, и мы решили вместе создать свою соцсеть. Назвали ее MSN — Mini Social Network. Там можно было публиковать посты с текстом, фото и видео.
Аудитории у нас не было, и мы не знали, как ее набрать. Тогда у нас нашлись другие идеи, и мы переключились на них. В 2021 году вспомнили о соцсети, освежили дизайн, сделали рефакторинг кода и снова забросили. Зато добавили проект в портфолио и продолжили создавать проекты вместе.
Платформа для тестов. Нашим следующим творением стала программа TUK — Testing Universal Kit, в которой можно было создавать тесты. Мы написали ее на JavaScript для десктопа.
Сначала сделали интерфейс, а потом осознали, что не хватает опыта, чтобы написать корректный код. Было много трудностей — например, не получалось сделать тесты, где было бы разное количество вопросов и несколько вариантов ответов. Поэтому мы оставили этот проект, а позже создали аналог. О нем расскажу позже.
Игры. Когда я смотрел стрим, мне пришла идея сделать игру, что-то вроде тамагочи, но с персонажем-стримером. Написал девушке с небольшой аудиторией — до нее достучаться было проще, чем до популярных блогеров — и объяснил, что хочу сделать симулятор стримера, где нужно играть за персонажа с ее именем. Она оценила предложение и согласилась включить игру во время одного из эфиров. Я обрадовался и подумал, что наконец смогу собрать хоть какую-то аудиторию.
Мы с Данилом написали сайт-симулятор. Игрок должен был выполнять задания, например, угадывать героев из Dota или вести стрим, и зарабатывать монетки, чтобы поднимать статистику еды, здоровья и энергии.
Когда мы отправляли ссылку блогеру, надеялись, что она сыграет в нашу игру во время эфира, но та просто рассказала, что про нее сделали симулятор, и закинула ссылку в чат. Она затерялась среди других сообщений, и никто не обратил внимания на игру. Не знаю, почему она так поступила. Вероятно, ей не понравился проект.
Хотя симулятор не оправдал наших надежд на аудиторию, мы его доработали: было интересно и хотелось пополнить портфолио. Мы обновили интерфейс, добавили новые мини-игры, статистику еды и здоровья, фоновую музыку и помощника, который подсказывал игроку, а еще сделали рефакторинг .
Спустя время мы захотели поработать в новом жанре и решили создать визуальную новеллу. К нам присоединился еще один начинающий программист — Аня, она тогда проходила курсы на «Степике».
Втроем мы разработали игру The First of Them — назвали по аналогии с The Last of Us. Мы хотели создать целую вселенную, как в Outlast и Resident Evil. Подготовили предысторию игры на три листа А4, а персонажей нарисовала знакомая художница, которой нужно было портфолио.
Игра состояла из четырех сюжетных глав и пяти тысяч строк кода — последние, честно говоря, были очень слабыми. Мы хотели переделать игру под мобильное приложение и выложить на «Гугл-плей», но не хватило знаний, чтобы настроить доступ к игре без интернета. В итоге остановились на программе для Виндоус, Мак-ос и Линукс, а еще сделали онлайн-версию. Сейчас мы убрали игру из открытого доступа, но ее можно скачать с «Гугл-диска».
Сайт для учебных тестов. У меня не было проблем с учебой из-за увлечения программированием. Учителя и одноклассники, наоборот, вдохновляли меня на новые проекты: благодаря им я решил создать сервис, который был бы полезен для моей школы.
В начале 2020 года, когда мне было 15 лет, мы с Даниилом взяли за основу наш предыдущий сайт для тестов Testing Universal Kit и сделали сайт Infinity Tests. У нас получилось доработать код, и теперь преподаватели могли создавать тесты для разных классов, причем сайт сам проверял ответы и сохранял результаты учеников.
Я показал разработку классной руководительнице, учительнице русского языка и литературы, и она согласилась ее протестировать. Первый запуск прошел успешно — все прекрасно работало! Мы несколько раз усовершенствовали проект, а потом преподавательница делала тесты на платформе, а мы проходили их всем классом.
Учительница информатики даже предложила опубликовать статью про Infinity Tests в книге Амурского института железнодорожного транспорта, посвященной ученическим проектам. Я отправил заявку, и информацию о моем сайте включили в книгу.
Платформа для школы. В свободное время я создавал приложения для составления перечня дел. Тогда я еще не знал про канбан-доску или систему Agile, так что получались обычные списки с заданиями. Еще учился делать чаты.
В 2021 году я посмотрел фильм «Социальная сеть» про «Фейсбук». Кино меня невероятно вдохновило — захотелось тоже создать что-то прорывное, я даже купил маркерную доску, на которой записывал идеи. Я хотел придумать что-то полезное, чтобы люди могли пользоваться моим сервисом и кайфовать.
Мне пришла в голову идея создать платформу для школы ILearn и объединить четыре сервиса: создание тестов, чаты, списки дел и социальную сеть. Задумка была такой: директор, завуч и другие руководители школы публикуют на сайте новости, а ученики и учителя могут их комментировать, лайкать или дизлайкать. У каждого школьника — свой профиль, включающий ФИО, номер школы, класс. У учителей есть доступ к списку учеников, у директора — к личным делам обучающихся и преподавателей. На этом же сайте педагоги создают тесты, а система ведет статистику и выставляет школьникам оценки. В отдельных вкладках — чат класса и список дел, как в ежедневнике.
Я подготовил мини-проект платформы и представил его на конкурсе научно-технологических проектов «Большие вызовы». На городском этапе занял первое место. Помню, в тот день ко мне подошел учитель информатики из другой школы и сказал: «Как классно сделано! Если хочешь, можем протестировать».
Мой проект даже показали городскому начальнику управления образования. Но ввести его в школе не получилось: чтобы хранить личные дела детей, система безопасности должна работать на высшем уровне.
За победу в городском этапе меня пригласили бесплатно поучаствовать в ИТ-смене во Всероссийском детском центре «Океан» во Владивостоке. Там же проходил областной этап конкурса проектов, где я прошел в финал.
Для последнего тура я усовершенствовал платформу: добавил функцию подготовки к урокам, чтобы учителя могли прикреплять тезисы к разным темам, ссылки на конспекты, тесты.
На защите комиссия задавала мне каверзные вопросы: что делать с безопасностью, почему я считаю свой проект важным этапом на пути к новой системе образования. Мои ответы их не убедили, и в итоге конкурс я не выиграл.
Помимо «Больших вызовов», я несколько лет подряд участвовал во Всероссийской олимпиаде школьников по информатике. Занимал первые места на школьном и муниципальном этапах, но дальше не проходил, да и не стремился. В олимпиадах часто нужна математика, а у меня не очень хорошо развито математическое мышление.
Поиск работы и собеседования
Резюме. В 2020 году, когда я учился в девятом классе, я решил, что пойду по стопам брата: после школы поступлю в тот же БГПУ на системного администратора. Родители меня поддержали.
После девятого класса я искал на лето подработку в ИТ. Вписал в резюме технологии и приложил ссылку на свой гитхаб с проектами. Откликался на всевозможные удаленные вакансии на «Хедхантере», но ответа ни от кого не получил. В итоге все каникулы отдыхал и решил попробовать снова после 10 класса.
Спустя год, перед 11 классом, я подошел к делу серьезнее и снова начал искать работу. Я составил хорошее резюме и тщательно продумал, чем хочу заниматься. В объявлениях проверял, чтобы от кандидата требовалось знать JavaScript, Vue.js, HTML, CSS, возможно, библиотеку Bootstrap.
Если в описании было что-то незнакомое — пропускал эту вакансию. Но затем стал откликаться, даже если требовался опыт работы или я не знал какие-то направления из стека. Всего отправил 400 откликов.
Собеседования. Первым приглашением, которое я получил, стала стажировка на фулстек-разработчика, где сначала надо было пройти бесплатное двухмесячное обучение, и только потом обещали полноценную работу с зарплатой. Я соскочил, потому что пришлось бы слишком долго ждать первых денег.
Вскоре меня пригласили на интервью на позицию фулстек-разработчика в стартап, который занимается логистикой. Я рассказал о себе и своих проектах и выполнил тестовое: сделал бэкенд и сервер, который должен хранить данные о пищевых продуктах. Фидбэка я не получил, но мне прислали следующее задание — олимпиадную задачу по математике. У меня с ней не очень хорошо, и я отправил ее другу, который учится в вузе на математика. Приятель прислал решение, но оно оказалось неверным. В итоге меня не взяли.
Через пару недель мне написал эйчар туристической компании и предложил вакансию фронтендера. Сперва мы обсудили мой возраст: все-таки мне было 17 лет. Я объяснил, что родители поддерживают мое стремление к работе, а гибкий график подходит к расписанию в школе. Меня позвали на интервью.
После первого собеседования пришлось снова сделать несколько тестовых заданий, которые проверял тимлид команды. Например, нужно было написать код, который бы обращался к серверу, получал от него список комментариев в формате JSON, обрабатывал его и выводил на сайт в красивом виде. Я делал задание на Vue.js с препроцессором CSS . Выполнил задачу за пару часов, и все очень удивились моей скорости.
Тимлид сделал ревью моего кода и попросил внести правки по его комментариям. Я офигел, насколько они были полезными, и очень вдохновился, представив, сколько еще узнаю по ходу работы.
Финальным этапом стало техническое собеседование. Мне задали вопросы по теории программирования на знание JavaScript, HTML, CSS и Vue.js и дали пару логических заданий. Конечно, я сделал ошибки и не все знал, но в целом справился неплохо. Одно задание мне не удалось решить полностью, но тимлид отметил, что я единственный из всех соискателей был близок к ответу. Мои навыки понравились, и мне сделали оффер.
Родители и брат были рады, а я целый месяц пребывал в эйфории. У меня появилась возможность развиваться в программировании, становиться профессионалом и зарабатывать деньги. Я немного переживал, что не смогу справиться со всеми рабочими задачами, но отгонял от себя негативные мысли.
Работа
В августе 2022 года, перед началом 11 класса я вышел на должность джуниор-фронтенд-разработчика. У меня была почасовая оплата, и в месяц в зависимости от нагрузки выходило от 25 до 65 тысяч рублей.
Поначалу мне давали несложные задания, например что-то поменять или починить в верстке сайта: вернуть на место кнопку, выровнять отступы. Со временем задачи усложнились и мне доверили собрать целую страницу сайта.
За первый месяц работы я узнал о нескольких технологиях: научился пользоваться фреймворком Nuxt.js, который создает универсальные Vue.js-приложения, и библиотекой Vue-property-decorator, версией JavaScript для разработки крупных приложений Typescript и препроцессором SCSS. Сам бы я изучил их нескоро, не дошли бы руки, а здесь пришлось.
Примерно через полгода, в феврале 2023, мне отдали в разработку первый полноценный проект — лендинг с анимацией, где требовалось применить много стилей CSS.
Я самый молодой сотрудник в компании, но это не проблема. Мы с коллегами-фронтендерами часто играем в компьютерные игры: Star Wars Battlefront II, Overwatch 2, Valorant, Counter-Strike. В общении с коллективом все офигенно.
Учеба
Подготовка к ЕГЭ. Я решил не бросать школу после трудоустройства. Пришлось бы ругаться с родителями, а мне этого не хотелось. К тому же от получения аттестата меня отделял лишь год, так что было бы неразумно отказаться от него на финишной прямой.
Расскажу, как выглядел мой типичный день в 11 классе. Я просыпался в семь утра, шел в школу, а к 13—14 часам возвращался домой. Немного отдыхал, затем работал с 15 до 19 часов, иногда дольше. Перед сном делал домашнее задание.
В школу я ходил всегда и из-за работы не пропустил ни одного занятия: гибридный график и частичная занятость позволяли.
Экзамены. В 2023 году после Нового года я начал готовиться к ЕГЭ. Планировал сдавать русский язык, профильную математику и информатику. На «Профи-ру» нашел репетитора математики за 1000 ₽, мы занимались два-три раза в неделю по вечерам.
На школьных уроках нам давали задания из КИМов, объясняли теорию — в общем, готовили хорошо. А последний месяц перед ЕГЭ мы часто писали пробники. Мои средние результаты казались неплохими: 60 баллов по математике, 70 — по русскому, 75 — по информатике.
Я планировал поступить в вуз на системного администратора, но мотивации особой не было, и готовился я нехотя. БГПУ — не самый престижный университет, на бюджет не нужны высокие баллы, так что мне казалось, что я легко туда пройду.
Результаты ЕГЭ меня немного расстроили. Русский язык я сдал на 69 баллов, информатику — на 46, а профильную математику — на 34. Из-за низких баллов не смог поступить на бюджет даже в БГПУ. В колледж идти не захотел, поэтому решил взять gap year . Я мог себе это позволить, потому что у меня отсрочка от армии по состоянию здоровья.
Итоги и планы
Я работаю в туристической компании год и два месяца. Должность не менял, но уже несколько раз получал повышение — теперь у меня полный рабочий день и зарплата 100 000 ₽ в месяц. Мне доверили новые, более объемные задачи. Я купил Макбук, игровую клавиатуру, телефон, стильную одежду. Теперь хочу рассказывать о своей работе в телеграм-канале.
В последнее время я сомневаюсь, что пойду в университет. С одной стороны, учеба могла бы принести мне опыт и новые знакомства. С другой — вряд ли в вузе я получу столько же практических знаний, сколько на работе.
Пока думаю пройти онлайн-курсы и продолжить развиваться в сфере фронтенда, чтобы стать мидл-разработчиком. Место работы менять не планирую, оно меня полностью устраивает.
Работаете или учитесь? Покажите любимое рабочее место и станьте героем следующего материала