Когда я впервые решил создать свой open-source проект, мне казалось, что главное – это хорошая идея и рабочий код. Я взялся за разработку библиотеки для сетевых клиентов и UI-компонентов, вложил в неё два года работы и, наконец, выложил на GitHub. Но вместо успеха меня ждал холодный душ – библиотека получила всего 10 звёздочек.
Тогда я осознал ключевую проблему open-source: одна только идея не работает. Если проект плохо оформлен – его никто не найдёт. Документация и описание – не менее важны, чем сам код. В следующем проекте я учёл ошибки. Когда правильно оформил проект, он начал находить аудиторию, получать звёзды и фидбек от разработчиков.
Open-source – это не только код, но и способность донести свою работу до других. И эта история дала мне важный урок: если хочешь, чтобы твой проект заметили, помоги людям его понять. А ещё я понял, как важно участвовать в комьюнити и контрибьютить.

Привет, Хабр! Это Максим Гришутин, член программного комитета конференции AppsConf и контрибьютер в open-source. Я долгое время работал в финтехе, сначала в маленьких банках, потом в больших — как «Т-банк», даже писал приложение с кастомизацией для сотни финансовых компаний. Ещё успел запустить приложение для продавцов в «Озон». Сейчас работаю в Okko, руковожу командой, которая занимается смарт-TV, вебом и мобильной разработкой. Это для меня новый интересный опыт: возможность смотреть на индустрию шире, изучая новые подходы и технологии за пределами привычного мобильного мира. Расскажу про свой путь к мобильной разработке и open-source, самые интересные задачи и какую роль играет комьюнити в поисках работы и интересных проектов.
Как я пришёл в iOS-разработку: путь от хакинтоша до сложных проектов

Мой путь в программирование начался ещё со школы — мне всегда были интересны игры и 3D-графика. Я пробовал создавать простые игровые движки и мечтал когда-нибудь работать в этой сфере. Когда поступил в университет на программиста, обучение оказалось более классическим: C, C++ и другие академические языки.
На третьем курсе я осознал, что пора искать работу. Денег не хватало, а выбор был довольно прост: работать барменом или найти стажировку по специальности, пусть даже без хорошей зарплаты. Я решил попробовать второй вариант.
В университете нашлась единственная доступная стажировка — и это была iOS-разработка. На тот момент я совсем не знал мобилку. MacBook’а у бедного студента, конечно, не было. Поэтому приходилось выкручиваться: я устанавливал хакинтош и через него пытаться писать код. Это оказалось нелегко, на тот момент было много Objective-C кода, Swift только вышел, но к нему не водилось ни документации, ничего.
Сегодня ситуация намного лучше: есть мощные инструменты, туториалы, активное комьюнити. Но в тот момент приходилось разбираться самому, что, впрочем, дало мне хороший фундамент для будущей карьеры. Так, из интереса к играм я попал в мобильную разработку, и с тех пор этот мир меня не отпускает.

Самый сложный кейс в моём опыте — библиотека по роутингу SwiftUI. Таких библиотек довольно много, но они заточены под определённые архитектуру или проект. Нам тоже нужна была библиотека, заточенная под нашу архитектуру. Другие библиотеки нам не подошли, решили писать свою.
Так как в компании в тот момент было несколько приложений, решили это делать не только в приложении для селлера, но и в другом. В результате начали развивать две библиотеки, абсолютно не синхронизировавшись. Это обернулось большой проблемой, потому что в тот момент в компании было много зависящих друг от друга приложений. А мы писали, по сути, два абсолютно разных решения. Самое сложное было — выбрать, какое в итоге оставим. Больше года мы собирались, рисовали диаграммы и API, дорабатывали решения. Объективно в чём-то лучше была одна библиотека, а в чём-то — другая. В конце концов, мы эту проблему решили, но этот кейс — самый сложный в моей жизни.
Самый интересный кейс связан с шифрованием в банковских приложениях — нужно было сделать полностью зашифрованный чат. Тема для меня была новой: так я узнал несколько типов шифрования, очень много общался с безопасниками. Это, правда, оказалось очень интересно, вообще другой мир. Когда просто делаешь приложение, об этом не задумываешься. А так пришлось смотреть с другой стороны — на возможности его взломать, нужно было заранее их определить и заблокировать. А ещё нужно позаботиться о шифровании между бэкендом и мобилкой, потому что в бэкенде очень многие open-source библиотеки поддерживают любой формат шифрования, а в мобилке — нет.
Android-разработка спокойно подключила библиотеку, чтобы расшифровывать и зашифровывать в определённом формате сообщения чата. А в iOS такой библиотеки не было, и её невозможно самому реализовать за короткий срок, потребуется глубокое погружение. Я потратил три месяца, чтобы написать свою маленькую библиотечку, которая поддерживала нужный нам тип шифрования. Она была быстрой, классно работала с бэкендом и масштабировалась.
Со сложными задачами всегда так. Тратишь много времени и сил. Поэтому всегда проще, чтобы объяснил кто-то уже прошедший этот путь. Для этого я пошёл в ПК конференции. И топлю за то, чтобы программа была нацелена на реальный опыт. Чтобы каждый участник мог прийти со своим кодом и получить помощь. То есть прямо на конференции сказать: «У меня лагает этот код. Ребята, может, вы сталкивались?». И, скорее всего, кто-то из сообщества уже решал такую проблему и поможет её исправить.
Например, в программе AppsConf будут воркшопы, где можно настроить, доработать или починить свой код, обсудить ошибки, баги и архитектурные вопросы с разработчиками топовых компаний.
Как я пришёл в Open Source

С самого начала работы я использовал open-source инструменты, ведь они значительно упрощают жизнь. GitHub — настоящая сокровищница, где можно найти библиотеки для всего: UI-компоненты, утилиты для тестирования и многое другое. Например, в мире iOS есть Alamofire — библиотека для работы с сетью, которую используют почти все.
Но самое крутое, что open-source продвигают энтузиасты, и делают это безвозмездно. Эти люди редко получают деньги за свою работу, но их код используется в крупнейших компаниях. И это, пожалуй, самая ценная награда.
В какой-то момент я решил создать свои open-source библиотеки. Первый проект был связан с сетевыми клиентами и UI-компонентами. Я потратил на него два года, но получил всего 10 звёздочек на GitHub. Это разочаровало, но теперь я понимаю, в чём были проблемы: проект был плохо оформлен, отсутствовала хорошая документация и его просто никто не мог найти.
Когда ты создаёшь проект, идея — это ещё не всё. Важно грамотно оформить репозиторий, чтобы он был понятен и доступен для других разработчиков.
Мой следующий open-source проект — Prefire. Это инструмент, который генерирует снапшот-тесты и автоматизирует рутинные задачи. Мы начали использовать его в «Озон«, и он до сих пор там работает.
Но поначалу история повторилась: за полтора года — всего пара звёздочек (от меня, друга и мамы 😅). Тогда я решил разобраться, как делают успешные open-source проекты. Оказалось, что главное — это видимость проекта: понятное Readme, подробная документация и описание, которое облегчает поиск.
Как только я всё это добавил, GitHub сам начал предлагать Prefire. Люди начали ставить звёздочки, писать issue, предлагать улучшения и даже благодарить за проект. Это очень драйвило, и сейчас мне реально интересно им заниматься.
В мире разработки существует множество крутых идей и решений, которые могли бы помочь тысячам разработчиков, но остаются незамеченными. Многие проекты так и живут внутри компаний, а pet-проекты — в локальных репозиториях. Разработчики просто не задумываются о публикации.
Но представьте, насколько полезно было бы выложить хотя бы идею и минимальную реализацию? Это могло бы ускорить разработку в десятках команд, снизить дублирование кода и усилить индустрию.
Самая важная мотивация – это общение с другими разработчиками. Когда ты окружён людьми, которые занимаются open-source, то начинаешь по-другому смотреть на свою работу. Иногда достаточно одного человека, который скажет: «Слушай, ты ведь сделал классную вещь. Почему ты её не выложил?».
Почему конференции важны для индустрии и как справляться с вызовами

Я всегда интересовался конференциями и ходил на них как слушатель. Еще в 2019-2020 годах посещал AppsConf, а когда увидел пост о наборе в программный комитет, сразу захотел подать заявку. Мне хотелось привнести близкие мне темы и помогать формировать сильную конференцию, на которой можно решать реальные проблемы, а не просто слушать доклады. Конечно, это огромная ответственность, но ещё — шанс сделать что-то полезное для мобильных разработчиков.
Open-source — это сумасшедшие идеи, которые двигают индустрию вперёд. Не случайно это будет одной из ключевых тем конференции AppsConf. Много докладов посвящено работе с AI и LLM, а почти 99% инструментов, о которых пойдёт речь, — open-source. В числе тем работа с AI-помощниками и интеграция LLM в мобильные приложения, пример запуска open-source модели DeepSeek прямо на iPhone, обсуждение open-source комьюнити и его роли в развитии индустрии.
К нам приходят спикеры, которые рассказывают о своих технологиях. У многих отличные идеи, но они даже не задумывались о публикации кода. Я всегда спрашиваю, почему они не выложат идею в публичный доступ. И часто после этого разработчик начинает свой open-source проект.
Мобильная разработка продолжает развиваться, но сегодня в индустрии есть новые вызовы, которые касаются как релизов приложений, так и найма.
В Android-разработке появилось множество новых сторов, что усложнило процесс релиза. Теперь нужно учитывать разные API и требования в каждом из магазинов приложений. В iOS всё проще и сложнее одновременно: либо ты можешь зарелизиться, либо нет. Если нет — приходится искать обходные пути (которых, к слову, много). Заблокированные приложения почти всегда находят способ выйти. Поэтому переживать за iOS-разработку не стоит — ограничения не мешают рынку двигаться вперед.
С другой стороны, найти работу тоже стало сложнее, и это не только российский тренд — такая ситуация по всему миру. Компании стали осторожнее в запуске новых проектов. Раньше создавалось много рискованных стартапов, которые получали инвестиции. В такие проекты активно набирали и джунов, и сеньоров. Сейчас компании фокусируются только на прибыльных продуктах, а новые инициативы открываются реже.
Также возросла конкуренция за вакансии. Компании не спешат расширять команды, особенно если проект пока не приносит прибыль. При этом запросы к качеству кода и уровню кандидатов выросли. Например, на собеседованиях в некоторые компании спрашивают алгоритмы. Но они нужны, если работаешь с оптимизацией производительности, должен разобраться в шифровании, графах, сложных структурах данных. А ещё, если хочешь понимать сложность кода и писать эффективные решения. Учить их без привязки к реальным задачам — пустая трата времени.
Когда мне пришлось делать зашифрованный чат в банковском приложении, я не знал шифрования и разобрался на ходу. Сейчас требования по знанию алгоритмов такие: не нужно делать сложнейшую сортировку с жёсткими ограничениями, достаточно уметь развернуть строку задом наперед, отсортировать массив любым способом (даже пузырьком!), проверить, является ли строка палиндромом. Если твой код работает, ты пройдёшь собеседование. Если претендуешь на топовый грейд — решение ещё должно быть оптимизированным.
Среди базовых требований, необходимых в 2025 году:
Для iOS: Swift, SwiftUI, Combine, UIKit, CoreData, GCD и Async/Await.
Для Android: Kotlin, Jetpack Compose, Coroutines, Dagger/Hilt.
Общие технологии: Firebase, CI/CD, API-интеграции, мультиплатформенность (KMP/Flutter).
И поверьте, ужесточение требований — не значит, что работы нет. Просто искать её дольше и сложнее. Участие в комьюнити и нетворкинг на конференциях как раз помогают эти проблемы преодолеть. Вступайте в комьюнити и ищите там поддержку. Вокруг IT много классных людей, которые делятся опытом и помогают. Можно найти ментора, который подготовит к собеседованиям. Это не читерство, а реальная возможность подтянуть слабые места и повысить шансы на успех.
Общение на конференциях, митапах, в чатах открывает возможности. Реферальные программы помогают найти работу быстрее. Не бойтесь спрашивать! Многие готовы помочь, а отказ — это не трагедия. Мне в LinkedIn часто пишут: «Макс, можешь порекомендовать?». Если вижу, что кандидат достойный, с удовольствием отправляю рефералку. Главное — не бояться писать, спрашивать и искать возможности.
Приходите на AppsConf за новыми знаниями и знакомствами! Будем развивать комьюнити мобильной разработки вместе!