«Я робот», или история о том, как я начал учиться в IT, когда AI был только в кино. Это заняло у меня 10 лет

Всем привет! Сегодня я хочу поделиться историей, которая длится уже порядка 10 лет.
Это история не про успешный успех или очередное нытье о том, как сложно и несправедливо, это просто про меня и мой путь. Она началась много лет назад, в далеком 2016, когда Tilda только приобрела свою первую популярность и из всех кипятильников кричали: «Web‑разработчикам конец», «Убийца веб‑разработки».
В 2016 году мне было 22 года, и я толком не понимал, чем заниматься. У меня был закончен специалитет и бакалавриат по финансам и банковскому делу. Я застал кризис 2014 года, уйдя с хорошей должности в банке в армию на срочку. Вернувшись, я полгода обивал пороги во Владивостоке в то время, когда все банки массово сокращали персонал. В целом, если у тебя не было «волосатой руки», твой максимум составлял 50 тысяч рублей, и то с премией!
Работал я в тот момент в одном дочернем банке одного очень известного Зеленого Банка, на должности кредитного эксперта. Единственное, что занимало мою голову, был вопрос: «Что я вообще здесь делаю и какого будущего я хочу?»
Этот вопрос я задавал себе сотни раз, и единственный ответ, который находил: «Хочу создать что‑то свое, хочу помогать людям, хочу, чтобы это было красиво и супер удобно». Но что конкретно делать я не имел ни малейшего понятия.
1. Дизайн, верстка и кризис 24 лет
В поисках ответа я сменил несколько банков и по итогу осел в логистической компании обычным менеджером. И именно в тот момент ко мне пришли две четкие идеи:
Свалить из РФ. Меня всегда тянуло в Штаты, в те самые Штаты, которые мы представляли себе по фильмам вроде «Один дома» или «Плохие парни» (не путать с тем, как это выглядит сейчас)
Я точно должен создать что‑то свое!
Первая мысль в последствии привела меня в авиацию, где я отлетал 3 года бортпроводником, а после переехал в Бангкок работать учителем английского (дальше история не про это, просто для контекста рассказал)
А вот вторая мысль привела меня в IT. Я четко понял: денег на бизнес в классическом понимании у меня нет, связей или друзей, чтобы построить что‑то совместное, тоже нет. Все пацаны вокруг такие же простые ребята не из богатых семей, которые, как и я в тот момент, просто не знали, как найти себя. IT казалось единственной сферой, где твой главный капитал — это твои мозги и время, а порог входа не требует миллионов от инвесторов.
Но тут встала новая проблема: мне казалось, что я абсолютно далек от кода и всего, что с ним связано.
Тем не менее, интересным и доступным «по мозгам» мне показался дизайн. Я начал читать книги, проходил бесплатные курсы, смотрел туториалы на YouTube, и в целом у меня получалось вполне неплохо. Но сидя за макетами, листая FarPost и HH, я четко осознал: на одном дизайне много денег не поднимешь. И я решил сделать следующий шаг — объединить навыки дизайна с веб‑версткой (HTML, CSS, JavaScript)
План был простой и логичный: раз я уже нормально научился «рисовать» (а практики на макетах сайтов я себе набил прилично), то закрыв часть с кодом, я смогу делать сайты в соло без команды. А набрав базу клиентов на фрилансе, можно будет и свою веб‑студию замутить на этот же капитал!
Спойлер — не пошло ха‑ха
Пока я учился верстке, меня прям «корежило». Вроде делаю то, что нужно и интересно, но чувство такое «что‑то не то, не мое, не идет».
Плюсом к этому, работая на full‑time, категорически сложно поддерживать в себе мотивацию. Вечером после работы надо садиться за код и учиться. А мне‑то лет «хоспади!» 22–24 года! Самое время гулять летом по набережной, с друзьями, ездить на дачу на шашлыки. А когда ты вроде стараешься, но финансового выхлопа нет — мотивация испаряется с каждой написанной строчкой учебного кода, с каждым часом, проведенным за монитором вместо улицы.
И тут казалось бы многие скажут: «Ну а зачем ты сидишь, если тебе не в кайф, если тебе не нравится кодить, бабок на одном энтузиазме не заработаешь?» и в целом вы будете правы!
И так снова начались думки: «Че мне делать?» (не уверен, что на Хабре можно материться, но думаю, каждый прочитал этот вопрос с правильной интерпретацией и интонацией, ахах)
Я четко понимал, к чему у меня лежит душа: к продуктовой истории, к тому, чтобы придумывать свои проекты, дизайнить их, делать красивыми и удобными. Но ккоду — не лежит, не понимаю, не получается...
В итоге я отложил эту историю в долгий ящик. Порядка года я ничего толком не изучал. Просто делал макеты на заказ, дизайнил знакомым печатную продукцию, флаеры, логотипы, сам в конкурсах дизайнерских участвовал, но чисто по фану, чтобы какую‑то монету заработать да руку набить.
2. Перелом: Macbook Air 2013 и Apple
Я продолжал летать, делал мелкий дизайн, практиковался, но мечта о своем продукте меня не отпускала. И вдруг до меня доходит: всё это время мои проекты в дизайне, мои макеты, всё, что я пытался делать — продиктовано продуктовым примером Apple. Эта чистота, свежесть, философия Think Different, нативность и какое‑то неподдельное желание сделать продукт по‑настоящему доступным и понятным...
Я до сих пор помню слова Стива Джобса из фильма «Джобс: Империя соблазна», когда они обсуждали первый Macintosh:
“This thing is for the everyman. That’s our end user. It’s the school teacher. It’s the garbage man. It’s the kid. It’s some grandma in Nebraska. We need to make this thing simple. It’s got to work like an appliance”
Я не знаю, сколько нас таких, но мне кажется, сотни тысяч молодых парней и девчонок этот фильм точно мотивировал. Как Андрей Дороничев и ребята из выпуска про Кремниевую долину, как сам Джобс... Я не знаю, как правильно объяснить это чувство словамии, но думаю, вы поняли. Оно как будто даже немного щемит в груди, чувствуете?
Вот это чувство меня тогда полностью окутало и продолжало держать невероятно долго. Я думаю, держит даже до сих пор.
А дальше всё как в кино: покупка старенького MacBook Air 13 2013 года (только на него мне тогда и хватало!), старт буквально с учебников по программированию на Swift для детей, затем SwiftBook, официальная документация на русском и английском, знаменитый буткемп Анджелы Ю (Angela Yu), 100 часов видео с YouTube...
И десятки раз, когда руки опускались, мотивация полностью пропадала. Наверное, я держался только на какой‑то глухой вере в то, что однажды, сколько бы лет ни прошло, я обязательно дойду. Ведь иначе и быть не может... В конечном же счете все получится.
Так прошло несколько лет. Я бросал кодинг и возвращался к нему снова и снова, снова и снова...
3. Всё, что было в Бангкоке, не останется в Бангкоке...
А потом наступил 2022 год... В РФ произошло то, что произошло, а у меня в этот же период (как так совпало, даже не знаю) авиация буквально села на землю, и летать я больше не мог.
Сложилось всё как‑то само: в РФ меня больше ничего не держало, и я решил пробовать строить жизнь заново с билетом в один конец. Выбор пал на Таиланд.
Еще будучи в России, я искал способы зацепиться и нашел агентство в Тае. Причем, чтобы выйти хотя бы на кого‑то, я без шуток отправил больше 1000 писем с резюме! Отправлял спамом даже одним и тем же компаниям и школам. И лишь одна контора ответила...
Правда, с этим агентством мы попрощались уже через полгода. Я собрал вещи и уехал пробовать себя в Бангкок. И вот там жизнь тичера в Тае наконец‑то начала налаживаться: я довольно быстро нашел работу в школе, закрыл все старые кредиты в РФ и начал жить с чистого листа. У меня появился классический «набор каждого одинокого эмигранта»: свой проверенный интернет, тариф с симкартой, любимый врач, базовый ТЦ и тот самый парк где ты проводишь свои вечера.
Через год я познакомился с девушкой в ВК (спасибо Паше Дурову), и нам было настолько классно общаться, что я перевез ее к себе в Бангкок. Где мы и начали жить‑поживать, и вот живем вместе уже 3+ года «тьфу тьфу тьфу».
И этот контекст важен: я стал отвечать не только за себя, но и за другого человека. Это, как ни странно, придало сил. Я продолжил искать пути, как заработать денег и создать что‑то свое, крутое, реальное...
Так ко мне даже пришла грандиозная идея: создать онлайн‑сервис локальных перелетов на вертолетах и частных самолетах в Таиланде и Азии (что‑то вроде Aviasales, но для местных перевозчиков между городами, а не для туристов). Идея была отличная! Я бодро за нее взялся: нарисовал дизайн, сделал первые презентации и даже подготовил визитки, чтобы искать партнеров... Но в итоге сдулся.
Не знаю, то ли испугался, не был в себе достаточно уверен или просто перестал видеть перспективу. Но главное, идея разбилась о суровую юридическую сторону: оформление юрлица под такой бизнес стоило космических денег, и проект отправился в тот же долгий ящик, где уже пылилась куча других «гениальностей».
Очередной провал, очередная яма мотивации... Но свет где‑то далеко впереди все еще мелькал. Мне кажется, в тот период я прошел абсолютно все стадии: мне 29 лет, я толком ничего не добился (кроме того, что просто переехал жить в Тай), у меня куча каких‑то разрозненных навыков, но я вообще не понимаю, что делать дальше.
Потихоньку я пробовал возвращаться к коду, пробовал дизайнить, но на старом Air 2013 года делать это становилось всё сложнее и сложнее. Я продолжал и снова бросал...
Наступает мой 30-й день рождения.
Мои родители дарят мне 50 тысяч рублей на новый ноутбук, моя возлюбленная добавляет еще 30 тысяч, и я докладываю свои 40 тысяч. Итого у меня на руках оказывается 43 000 тайских батов. Я иду в Apple Store и с учительской скидкой (как раз хватило впритык!) покупаю новенький MacBook Air M2 (16/512).
«Тот самый момент когда дыхание перехватывает»
И вот наступает тот самый момент, когда назад больше путей нет. Отговорок больше быть не может. Самые близкие люди в тебя верят. Ты больше не можешь сдаваться. Ты больше не можешь отступать...
4. Я буду стоять там и презентовать новый iPhone, MacBook или что там дают
Заголовок возник не просто так. На самом деле можете назвать это какой‑то детской мечтой, но сколько быя ни смотрел презентаций Apple, сколько бы об этом ни думал, конечная точка, которую я фантазирую — это как мои родные смотрят новую трансляцию из Купертино, а там их сын, муж и отец стоит на сцене и с улыбкой рассказывает о новой фиче или о новом продукте как Product Owner...
Да это будет очень долгий путь...длиною еще в 10 или 20 лет, это не важно.
Главное, что сейчас вот уже 2 года я не переставал изучать и писать код, дизайнить и придумывать новые проекты. Буквально несколько дней назад я наконец‑то опубликовал свое первое нативное iOS‑приложение в App Store — FitCast!
И вместе с этим релизом я открылся для поиска работы как iOS‑разработчик.
Кстати, есликому‑то в команду нужен спец, который из миллениалов и может научиться любому навыку за 3 дня — то я тут и полностью открыт к предложениям! А еще я очень самостоятельный, так что можете не бояться я могу во всем разбираться сам, ну и спрашивать уж поверьте не боюсь ахах.
Я, конечно, нахожусь в вечной агонии: то ли я Junior, который ничего не знает, то ли я хороший Middle с продуктовым мышлением, глубоко изучивший Swift и UIKit, запустивший собственный проект в App Store и параллельно готовящий следующий... Но я точно знаю, что готов выкладываться на 100%.
Если вы дочитали до этого момента — дальше будет подробно о самом приложении. Пожалуйста, уделите еще 5 минут внимания!
5. FitCast: Продукт, Архитектура и Техническая кухня

Вообще приложение больше метчится с аудиторией Юго‑Восточной Азии, США и Южной Америки. По сути, это погодное приложение, но с рекомендациями по активностям на свежем воздухе.
В чём суть: Например, в Тае местные очень любят активно проводить вечера: джоггинг, бадминтон, баскетбол и так далее. Но погода здесь переменчивая, а в мегаполисе нужно постоянно планировать график. Тут моя прога и помогает.
Как это работает: Ты выбираешь свои любимые активности (всего их 18), комфортные погодные условия (5 вариантов) и удобное время суток (5 вариантов) для спорта.
На основе этого показывается:
Текущая погода и AQI (индекс качества воздуха)
Топ-3 подходящих активности на сегодня с учётом погоды и твоих фильтров
Прогноз на 4 дня
Умные пуши
Про уведомления: Одно приходит стабильно в 6 утра с прогнозом на день + приходят пуши под выбранные пользователем любимые временные слоты.
У меня, например, выбрано три интервала (с 5 до 8, с 8 до 12 и с 16 до 20), поэтому уведомления приходят в 5:00, 6:00, 8:00, 16:00 и крайнее в 21:00 на завтра.
В Бангкоке много праздников/выходных, плюс я выхожу с работы в 17:00 и за час уже точно знаю, будет ли дождь и стоит ли вообще двигать сегодня, например, в парк (в парках много бесплатных качалок). В пуше сразу видно текущую погоду + идеальные активности под неё.
Система баллов и скоринг (там схема на самом деле капец сложная, очень долго её писал)
Короче, в чём суть. Пользователь изначально может выбрать до 5 своих любимых активностей. Из них на основном экране мне нужно выводить максимум 3 подходящих, а в уведомлениях лучше 1 или максимум 2. Это нужно для того, чтобы рекомендации были более персональными и точными, а не просто рандомным выбором из фаворитов.
У каждой активности на основе статистики изначально есть скоринг с учётом её популярности. Также учитываются требования к погоде: например, нужна ли сухая погода или подойдёт лёгкий/средний дождь (в бассейне же можно плавать спокойно, а он тут в каждом кондо)? А может, это вообще сноуборд, и чем больше снега (осадков), тем лучше.
Соответственно, проверяются следующие условия:
Базовый скоринг (популярность)
Идеальная температура для конкретной активности
Требования к осадкам или их отсутствию
Предпочтения пользователя
На основе этого выстраивается бальная система, и пользователю показываются те активности, которые набрали наивысший балл.
Насчёт разделения на день/ночь: к активностям это вообще не относится.
Во‑первых, многие местные качалки работают по ночам, а они есть и с открытыми крышами.
Во‑вторых, баскетбольные кольца есть во многих кондо, и там можно играть до 11–12 ночи (просто как пример).
В‑третьих, на улице в Юго‑Восточной Азии постоянно тепло, поэтому бегать можно в любое время, что особенно актуально для удалёнщиков, работающих по графику США, да и на всю Южную и Северную Америку.
Ну и такие фишки, как список городов, я как бы вообще особо не включаю в список фич — это есть у всех. Но у меня сразу видно и время местное, и погоду, и AQI.
Моя личная гордость: «общение с пользователем с помощью ощущений погоды»
Помимо звуковых эффектов на каждую погоду (стандарт), есть также синхронизация с Taptic Engine в айфоне. И можно почувствовать: если идёт лёгкий дождь, то это лёгкие касания телефона, если сильный то сильнее и чаще, и так же с грозой, снегом и всякими подобными погодными явлениями и осадками.
Это один из способов дать людям почувствовать погоду и сделать приложение более живым. Плюс для людей с ограниченными возможностями это даёт больший интерактив: неважно, слабослышащий или слабовидящий человек — он сможет как увидеть, так услышать или почувствовать погоду:‑)
В общем, получился довольно большой проект, который я полностью собирал сам от идеи, дизайна и логики рекомендаций до UIKit, API, CoreLocation, BackgroundTasks, уведомлений, звуков и haptics.
Буду безумно рад, если скачаете, попробуете, и напишете свой честный фидбек.
App Store: FitCast: Weather & Activity
GitHub: Мой репозиторий
Спасибо всем 👋 Задавайте вопросы в комментариях, пишите мысли, а если вашей команде нужен iOS‑разработчик — я всегда на связи.
Контакты:
+66 62 450 53 12 (Telegram, WA, Line) | +7 908 449 12 16 (WA)
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.