Всем привет! Пишу свой первый пост на Хабре, так как поймал вдохновение рассказать о небольшой истории своего пути становления разработчиком. Моя цель - помочь таким же, как и я молодым ребятам сделать свой путь чуть проще и дать советы, исходя из моего собственного опыта.
Мне на данный момент 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 отключился и чат перестал работать. Я скоро уберу приложение из рустора, но вам оставлю пока ссылку и также ссылку на гитхаб с кодом приложения, сразу скажу я делал его, когда не знал многих вещей и как что-то лучше написать, не судите строго.
Наше время
В июне мне исполнилось 16.
Дня три назад я начал разрабатывать свое новое приложение. Это был как проект, закрепляющий мои некоторые знания, такие как работа в фоне (уведомления, ежедневный и еженедельный сбор статистики), например. Это приложение для медитации, с очень красивым дизайном:) Сегодня я отправил его на проверку в Google Play и оно скоро выйдет, я провел много тестов, также сделал закрытое тестирование с 2мя тестировщиками. Мне очень зашел этот опыт.
К сожалению, пока не могу дать ссылку на приложение, так как оно не опубликовано, как опубликуют прикреплю комментарий с ссылкой, кто захочет - затестит.
Могу показать пару скриншотов из него:
Итог
Итак, хочу дать пару советов молодым, начинающим разработчикам.
Учитесь на актуальных данных
Тщательно подходите к выбору сферы, затем углубляйтесь и изучайте, легко не будет, это я вам могу сказать точно
Программирование - это не про деньги, тут на одной мотивации про деньги долго не протянешь. Программист это такая же профессия, как и пожарный или полицейский, например. К профессии, какой бы она ни была, должна, в первую очередь лежать душа, а если вы в душе дизайнер, но хотите стать программистом из-за большей зарплаты, то ничего не выйдет.
Чем больше практики, тем лучше. Нет, даже не так, чем меньше практики, тем меньше шансов, что ты станешь разработчиком:)
Не сдавайтесь
И еще раз не сдавайтесь!!
Огромное спасибо, если вы прочитали мою небольшую историю до конца, я извиняюсь, если это было немного тяжело читать, так как это мой первый пост тут, надеюсь вы смогли получить какую-то полезную информацию из моего текста.
В моих планах найти интересную команду и работать над не менее интересными проектами.
Я пойду учиться дальше и придумывать новые проекты, ведь знаниям в разработке нет предела :)
P.S.: для связи, если кому-то нужно, мой тг: @igordudka
UPD: https://play.google.com/store/apps/details?id=com.igordudka.medita - ссылка на приложение
Комментарии (27)
AndreyBN95
14.07.2023 11:08Хороший результат для 16 лет, мало кто в этом возрасте знает кем хочет стать и что хочет делать. Продолжай развиваться и будет успех!
MichaelSkirda
14.07.2023 11:08С самого начала своего пути я привык не копировать чужой код
Без этого никак, это важная часть программирования. Но если учишься главное понимать скопированный код.
Понял, что надо как-то двигаться дальше и наткнулся на канал Хауди Хо, спасибо ему огромное
Хауди слишком пафосный и не разбирается в некоторых вещах о которых говорит. Лучшие уроки по программированию на YouTube это "C# для маленьких и тупых".
Молодец, что смог сам обучиться программированию.
Fdored Автор
14.07.2023 11:08+1спасибо большое, по поводу хауди согласен, это скорее как видосы для фона, но не как пример для подражания или обучения.
MVS366
14.07.2023 11:08-10Так как мой отец - программист, меня тянуло ко всем технологиям еще с детства
Ты хотел сказать, тебя туда отец тянул, не?
Лет в 12 я решил попробовать начать кодить
Опять же, вопросы к семье. Мальчик 12 лет должен физически развиваться, а не кодить. Играть в футбол, бегать, заниматься спортом. Потому, что этот возраст определяющий, дающий физическую основу на всю жизнь вперёд. Я вот, в 10-12 лет не кодил (это очень давно было), но пока родители строили из себя прогрессивных иммигрантов за границей, советская бабушка отдала меня в изостудию и в музыкальную школу, где я вечерами гнил, пока другие пацаны в футбол играли и физически развивались. В итоге музыканта из меня не стало, от живописи тошнит, но выросло физически не развитое недоразумение.
Лет в 13 я метался между созданием сайтов и созданием мобильных приложений
Осталось только понять, зачем все это нужно было. Пока ты выучишься и устроиться на первую работу, половина всего этого уже устареет или станет не нужно на рынке труда. Да и приоритеты могут поменяться, в 16 лет ты кодишь, думаешь это на всю жизнь, а потом выгораешь от IT раз и навсегда и в 18 понимаешь, что хочешь быть строителем.
Fdored Автор
14.07.2023 11:08+7Нет, отец меня не тянул, мне с детства было интересно самому.
Насчет футбола и друзей, с этим у меня все отлично, я гуляю и отдыхаю не реже чем кто-либо, в свободное время обучаюсь - главное уметь совмещать.
Насчет востребованности технологий, все меняется очень быстро, главное делать, что по душе. В 16 хочу быть разработчиком, программирую, в 18 - строителем, пойду строить дома. Главное делать то, что нравится и будешь счастлив.
Сравнивать игру на пианино и разработку приложений, которыми пользуются миллионы - неправильно.
Я надеюсь вы найдете свое счастье в жизни и работу, которая вам по душе, желаю добра!
MichaelSkirda
14.07.2023 11:08+1Мальчик 12 лет должен физически развиваться, а не кодить.
Кому должен? Я не спорю, что это важно, но автор сам написал, что не 24/7 сидел за компом, а 2-3 часа на это тратил. А еще и пандемия началась как автор сам пишет и уже тогда точно не до футбола стало. И если человеку это нравится почему он не может этим заниматься.
Пока ты выучишься и устроиться на первую работу, половина всего этого уже устареет или станет не нужно на рынке труда.
Основы программирования не устареют. Какая-то конкретная технология за 5 лет может и устареет, но уже со знаниями ты легко выучишь новую технологию. Начал бы он тогда учить .NET все что устарело бы можно за недельку выучить.
Fdored Автор
14.07.2023 11:08+1все абсолютно по факту, даже если что-то устареет, то если ты знал это уже, то тебе будет в 100 раз легче все это догнать, так как есть фундамент и понимание
mstaoru
14.07.2023 11:08+1Мальчик 12 лет должен физически развиваться, а не кодить
Да ладно. Наоборот - тоже ок! Я кодил с 6-7 лет, в 13 продал первое приложение, в 16 клепал сайты, в 22 управлял своей командой в среднего размера компании, в 25 сделал свой небольшой, но приятный бизнес и т.п. Параллельно немного занимался истфехом, пару раз ходил в качалку, но в целом был задротом где-то до 30. В 30 пришло просветление, стал бегать, качаться, сейчас (38) периодически бегаю Спартан, приседаю 150, вроде все норм. С работой тоже все в порядке. :-)
Polaris99
14.07.2023 11:08За простое приложение, которое я делал 2-3 часа 4500р
То неловкое чувство, когда почасовая ставка у 15-летнего недоразработчика выше, чем у инженера с многолетним опытом.
Fdored Автор
14.07.2023 11:08+1Приложения, к сожалению далеко не раз в день такие
Ну а вообще, мое мнение если у инженера с многолетним опытом, ставка ниже 1000 час, то вы плохо себя оцениваете)
kulanoteDev
14.07.2023 11:08Салют!
У меня достаточно похожая история, в 14 лет первый раз сел за HTML, а после переключился на JS, из-за какой то тупой сложности , мол "не мое", хотя к тому времени познания за всякие алгосы уже были.. В итоге прыгая от к сферы к сфере с 15 до 17 лет, я решил вернуться в кодинг. Сейчас мне 18, активно изучаю флаттер и уже делал тестовое задание для одного стартапа.
Ты чем то напомнил меня, но не сдавшегося)) Статья оч классная, спасибо, и сил тебе во всех начинаниях.Fdored Автор
14.07.2023 11:08спасибо тебе огромное! Но почему ты сдался? Ты не сдался, ты просто перезагрузился и нашел силы изучить флаттер, это очень круто. А тебе всего лишь 18, успехов!
Fdored Автор
14.07.2023 11:08Ссылка на мое приложение https://play.google.com/store/apps/details?id=com.igordudka.medita
Видимо модерация Хабра и Гугла работают синхронно
debug45
14.07.2023 11:08Молодец. ???? Я тоже в своё время начал заниматься программированием в 14 лет, в 16 уже выпускал первые собственные мобильные приложения (для Windows Phone), в 18 получил первую официальную работу — ВКонтакте, тогда ещё при Дурове.
Fdored Автор
Ссылка на мое приложение https://play.google.com/store/apps/details?id=com.igordudka.medita
Видимо модерация Хабра и Гугла работают синхронно