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

Мне на данный момент 16 лет, я еще учусь в школе и умею разрабатывать приложения под Android. Тяжело оценивать свой уровень, когда ты еще не можешь устроиться на работу, но посмотрев требования и выполнив разные тестовые задания, я понял, что на джуна я могу точно (я знаю, что также важен опыт работы в команде и т. д.).

Разделю свою историю на 3 части.

Начало пути

Так как мой отец - программист, меня тянуло ко всем технологиям еще с детства. Я шарил за винду уже лет в 9-10 (не помню точно), во 2-3 классе я уже спокойно сносил пароль админа. Помню даже снес пароль от родительского контроля на айфоне:)

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

Лет в 12 я решил попробовать начать кодить, понять что это такое. Помню, было приложение SoloLearn, там были текстовые уроки к разным языкам программирования. По классике, я начал с Питона. Мне все казалось таким простым, быстрым к изучению, но я, к сожалению, еще не понимал очень многих вещей в мире программирования. Я не понимал для чего учат тот или иной язык, для меня было изучение синтаксиса языка = устройство на работу.

Понял, что надо как-то двигаться дальше и наткнулся на канал Хауди Хо, спасибо ему огромное, так как автор канала привил огромный интерес к программированию. Я смотрел его очень часто, но не как обучающие видео, а как видео о программировании, к примеру типы программистов, сферы и т. д.

Обучающие видео я смотрел на канале Гоши Дударя. Также, огромную благодарность я хочу выразить своей учительнице информатике, которая привила мне интерес к олимпиадам по информатике.

Лет в 13 я метался между созданием сайтов и созданием мобильных приложений, мне было очень трудно определиться что изучать. Немного посидев с JavaScript, Django и HTML я решил, что мне это не очень интересно и я буду пробовать себя в разработке приложений под Android. Почему не под IOS? Скажу честно, цена за аккаунт разработчика(Google 25$, Apple 100$ ежегодно), а также не было возможности иметь Macbook. Но даже сейчас, меня не тянет к яблоку больше, чем к Андроиду, мне интересны обе платформы одинаково.

Муки и тяготы

Определившись с направлением разработки, я выбрал язык, им стала Java. Это было начало пандемии, весна-лето 2020 года, мне было 13 лет. Kotlin тогда еще только становился стандартом Андроид разработки, а все обучение было по прежнему на Джаве.

Я искал в инете, где мне учить Джаву, фаворитом стал JavaRush, читать книжки я не мог, мне просто становилось слишком скучно(об этом позже). Моя главная ошибка была в том, что я не купил курс с кучей практики, а просто смотрел уроки, я ничего не понимал, знания не закреплялись, практики не было, мне было тяжело и непонимание 80% вещей тянуло меня закончить все это.

Почему то я решил, что знаю Джаву достаточно хорошо, чтобы начать учить Android. Я скачал книжку Head First Android. Скажу честно, моего знания Джавы хватило на ту книжку, но к сожалению, я ее не дочитал. Я думаю всему виной моя вторая ошибка. Берусь за изучение чего-то и не доучиваю до конца. Немного Питона, немного Джавы, немного Android, а в итоге получается какой-то перочинный нож.

Период 2020-2021 год был, наверное, самым тяжелым до сегодняшнего момента в моем изучении мира айти. Я вроде что-то умел, но знал только базовые вещи (такие как Activity, Intent, XML разметка). Я помню, в это время я начал опять скитаться, задавал 10000+ вопросов на Хабре, что делать, как учить, где учить. Я делал все, кроме того, чтобы учиться. Ну и, конечно же, мне мешал возраст, 13-14 лет это все таки не так много для того, чтобы понять сложный мир Android разработки.

Я немного подзабил на Android и сделал упор на олимпиады. Кодил на Питоне, даже стал первым в городе (на регион тогда не поехал, потому что 8й класс).

Становление на путь верный

Я считаю, все изменилось в тот день, когда я узнал о Jetpack Compose. Это была осень 2022 года, кстати на тот момент я уже изучил Котлин, не помню как и когда, но знал я его уже более-менее.

Я понял, что это очень круто, когда код можно не разделять на интерфейс и бэкенд, а просто писать все на одном языке. Я считаю, этот момент сыграл ключевую роль. Насчет обучения, все было очень просто, я просто зашел на сайт google.developers.com и увидел там курсы для начинающих на джетпаке. (тогда они были еще не такими классными, как сейчас, так было раздела 4 и они были в тестовом режиме)

Было очень много практики, каждый коделаб состоял из теории (20-30%) и практики (70-80%). Я скажу так, эти курсы - просто подарок, причем бесплатный, так что, если кто не знает с чего начать карьеру Андроид разработчика, то учите Котлин и бегом туда.

Я учился каждый день по 2-3 часа, иногда меньше из-за школы, мне очень нравилось и мне было очень интересно. Каждый день изучал что-то новое и подкреплял приложением.

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

Я изучил много вещей, таких как, DI(Hilt), Room, DataStore preferences, States, Flows, анимации, Retrofit, интеграция с Firebase, MongoDB, Broadcast Services(Alarm Manager) и продолжаю учиться дальше. Свои основные знания и их структуризацию я получал, когда делал проекты.

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

Немного фриланса

Я хотел поработать над реальными проектами и заработать первые деньги, вообще понять как это. Создал профиль на Кворке и сделал объявление. Примерно через 3 недели мне написал заказчик, мы договорились по цене и я начал делать какую-то игру. За игры я не шарил и мне это не особо нравилось, но платили они очень неплохо для ру фриланса. За простое приложение, которое я делал 2-3 часа 4500р. Но я все равно считаю, что я получил опыт из этого, так как в требуемых приложениях/играх были вещи, которых я еще не знал и мне приходилось их изучать(работа с файлами, звук).

Я до сих пор работаю с этими заказчиками, я понимаю, что скорее всего это перекупы и платят мне гораздо меньше, но, к сожалению апворк в России не работает(

Разработка своих приложений

Именно из-за фриланса, я понял, что могу делать приложения. Моим первым большим проектом был чат с Chat GPT. Я делал его около двух дней и решил выложить в RuStore(сейчас там 250+ скачиваний). Отзывы были очень хорошие, я был очень рад, что смог сделать что-то полезное.

Изначально приложение было подключено к Firebase для аутентификации и хранения сообщений, но потом запросы достигли своего лимита и Firebase перестал работать, а оплатить без зарубежной карты я не мог. Вскоре и openai API отключился и чат перестал работать. Я скоро уберу приложение из рустора, но вам оставлю пока ссылку и также ссылку на гитхаб с кодом приложения, сразу скажу я делал его, когда не знал многих вещей и как что-то лучше написать, не судите строго.

Rustore

Github

Наше время

В июне мне исполнилось 16.

Дня три назад я начал разрабатывать свое новое приложение. Это был как проект, закрепляющий мои некоторые знания, такие как работа в фоне (уведомления, ежедневный и еженедельный сбор статистики), например. Это приложение для медитации, с очень красивым дизайном:) Сегодня я отправил его на проверку в Google Play и оно скоро выйдет, я провел много тестов, также сделал закрытое тестирование с 2мя тестировщиками. Мне очень зашел этот опыт.

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

Могу показать пару скриншотов из него:

Также тут есть много анимаций
Также тут есть много анимаций
Экран медитации
Экран медитации

Итог

Итак, хочу дать пару советов молодым, начинающим разработчикам.

  1. Учитесь на актуальных данных

  2. Тщательно подходите к выбору сферы, затем углубляйтесь и изучайте, легко не будет, это я вам могу сказать точно

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

  4. Чем больше практики, тем лучше. Нет, даже не так, чем меньше практики, тем меньше шансов, что ты станешь разработчиком:)

  5. Не сдавайтесь

  6. И еще раз не сдавайтесь!!

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

В моих планах найти интересную команду и работать над не менее интересными проектами.

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

P.S.: для связи, если кому-то нужно, мой тг: @igordudka

UPD: https://play.google.com/store/apps/details?id=com.igordudka.medita - ссылка на приложение

Комментарии (27)


  1. Fdored Автор
    14.07.2023 11:08

    Ссылка на мое приложение https://play.google.com/store/apps/details?id=com.igordudka.medita
    Видимо модерация Хабра и Гугла работают синхронно


  1. ohno1052
    14.07.2023 11:08

    Мотивирует) В свои 16 знаю разве что немного линуха и в железках иногда ковыряюсь.


    1. MountainGoat
      14.07.2023 11:08
      +11

      В 16 главное не чихать. Пару раз чихнул, и уже 36.


    1. Fdored Автор
      14.07.2023 11:08

      Я очень рад, что моя статья мотивирует, главное потерпеть, напрячься и все получится. 16 - для кого-то даже не начало


  1. vsecoder
    14.07.2023 11:08

    Молодец, развивайся, так держать!


    1. Fdored Автор
      14.07.2023 11:08

      спасибо)


  1. AndreyBN95
    14.07.2023 11:08

    Хороший результат для 16 лет, мало кто в этом возрасте знает кем хочет стать и что хочет делать. Продолжай развиваться и будет успех!


    1. Fdored Автор
      14.07.2023 11:08

      спасибо большое


  1. MichaelSkirda
    14.07.2023 11:08

    С самого начала своего пути я привык не копировать чужой код

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

    Понял, что надо как-то двигаться дальше и наткнулся на канал Хауди Хо, спасибо ему огромное

    Хауди слишком пафосный и не разбирается в некоторых вещах о которых говорит. Лучшие уроки по программированию на YouTube это "C# для маленьких и тупых".

    Молодец, что смог сам обучиться программированию.


    1. Fdored Автор
      14.07.2023 11:08
      +1

      спасибо большое, по поводу хауди согласен, это скорее как видосы для фона, но не как пример для подражания или обучения.


  1. MVS366
    14.07.2023 11:08
    -10

    Так как мой отец - программист, меня тянуло ко всем технологиям еще с детства

    Ты хотел сказать, тебя туда отец тянул, не?

    Лет в 12 я решил попробовать начать кодить

    Опять же, вопросы к семье. Мальчик 12 лет должен физически развиваться, а не кодить. Играть в футбол, бегать, заниматься спортом. Потому, что этот возраст определяющий, дающий физическую основу на всю жизнь вперёд. Я вот, в 10-12 лет не кодил (это очень давно было), но пока родители строили из себя прогрессивных иммигрантов за границей, советская бабушка отдала меня в изостудию и в музыкальную школу, где я вечерами гнил, пока другие пацаны в футбол играли и физически развивались. В итоге музыканта из меня не стало, от живописи тошнит, но выросло физически не развитое недоразумение.

    Лет в 13 я метался между созданием сайтов и созданием мобильных приложений

    Осталось только понять, зачем все это нужно было. Пока ты выучишься и устроиться на первую работу, половина всего этого уже устареет или станет не нужно на рынке труда. Да и приоритеты могут поменяться, в 16 лет ты кодишь, думаешь это на всю жизнь, а потом выгораешь от IT раз и навсегда и в 18 понимаешь, что хочешь быть строителем.


    1. Fdored Автор
      14.07.2023 11:08
      +7

      Нет, отец меня не тянул, мне с детства было интересно самому.

      Насчет футбола и друзей, с этим у меня все отлично, я гуляю и отдыхаю не реже чем кто-либо, в свободное время обучаюсь - главное уметь совмещать.

      Насчет востребованности технологий, все меняется очень быстро, главное делать, что по душе. В 16 хочу быть разработчиком, программирую, в 18 - строителем, пойду строить дома. Главное делать то, что нравится и будешь счастлив.

      Сравнивать игру на пианино и разработку приложений, которыми пользуются миллионы - неправильно.

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


    1. MichaelSkirda
      14.07.2023 11:08
      +1

      Мальчик 12 лет должен физически развиваться, а не кодить.

      Кому должен? Я не спорю, что это важно, но автор сам написал, что не 24/7 сидел за компом, а 2-3 часа на это тратил. А еще и пандемия началась как автор сам пишет и уже тогда точно не до футбола стало. И если человеку это нравится почему он не может этим заниматься.

      Пока ты выучишься и устроиться на первую работу, половина всего этого уже устареет или станет не нужно на рынке труда.

      Основы программирования не устареют. Какая-то конкретная технология за 5 лет может и устареет, но уже со знаниями ты легко выучишь новую технологию. Начал бы он тогда учить .NET все что устарело бы можно за недельку выучить.


      1. Fdored Автор
        14.07.2023 11:08
        +1

        все абсолютно по факту, даже если что-то устареет, то если ты знал это уже, то тебе будет в 100 раз легче все это догнать, так как есть фундамент и понимание


    1. mstaoru
      14.07.2023 11:08
      +1

      Мальчик 12 лет должен физически развиваться, а не кодить

      Да ладно. Наоборот - тоже ок! Я кодил с 6-7 лет, в 13 продал первое приложение, в 16 клепал сайты, в 22 управлял своей командой в среднего размера компании, в 25 сделал свой небольшой, но приятный бизнес и т.п. Параллельно немного занимался истфехом, пару раз ходил в качалку, но в целом был задротом где-то до 30. В 30 пришло просветление, стал бегать, качаться, сейчас (38) периодически бегаю Спартан, приседаю 150, вроде все норм. С работой тоже все в порядке. :-)


  1. Polaris99
    14.07.2023 11:08

    За простое приложение, которое я делал 2-3 часа 4500р

    То неловкое чувство, когда почасовая ставка у 15-летнего недоразработчика выше, чем у инженера с многолетним опытом.


    1. Fdored Автор
      14.07.2023 11:08
      +1

      Приложения, к сожалению далеко не раз в день такие

      Ну а вообще, мое мнение если у инженера с многолетним опытом, ставка ниже 1000 час, то вы плохо себя оцениваете)


      1. Polaris99
        14.07.2023 11:08
        -1

        Это Вам просто клиенты попадались адекватные


        1. Fdored Автор
          14.07.2023 11:08

          Я не думаю, просто возможно им платят гораздо больше 4500 за приложение(я думаю баксов по 200) и это зависит от удачи


  1. kulanoteDev
    14.07.2023 11:08

    Салют!
    У меня достаточно похожая история, в 14 лет первый раз сел за HTML, а после переключился на JS, из-за какой то тупой сложности , мол "не мое", хотя к тому времени познания за всякие алгосы уже были.. В итоге прыгая от к сферы к сфере с 15 до 17 лет, я решил вернуться в кодинг. Сейчас мне 18, активно изучаю флаттер и уже делал тестовое задание для одного стартапа.
    Ты чем то напомнил меня, но не сдавшегося)) Статья оч классная, спасибо, и сил тебе во всех начинаниях.


    1. Fdored Автор
      14.07.2023 11:08

      спасибо тебе огромное! Но почему ты сдался? Ты не сдался, ты просто перезагрузился и нашел силы изучить флаттер, это очень круто. А тебе всего лишь 18, успехов!


      1. kulanoteDev
        14.07.2023 11:08

        <3


  1. Fdored Автор
    14.07.2023 11:08

    Ссылка на мое приложение https://play.google.com/store/apps/details?id=com.igordudka.medita
    Видимо модерация Хабра и Гугла работают синхронно


    1. Kopilov
      14.07.2023 11:08

      Хабраэффект)))


      1. Fdored Автор
        14.07.2023 11:08

        Ага)


  1. AlexSky
    14.07.2023 11:08
    +1

    Эх, у меня в 16 лет только первый компьютер появился.


  1. debug45
    14.07.2023 11:08

    Молодец. ???? Я тоже в своё время начал заниматься программированием в 14 лет, в 16 уже выпускал первые собственные мобильные приложения (для Windows Phone), в 18 получил первую официальную работу — ВКонтакте, тогда ещё при Дурове.


    1. Fdored Автор
      14.07.2023 11:08

      Офигеть, это круто!