Почему перестал программировать на iOS

Ответ

Я начинал с iOS-разработки на Objective-C, а затем Swift, но около трёх лет назад перешёл на backend-разработку, в частности на PHP и Laravel. Основные причины:

1. Широта impact В iOS я влиял только на мобильный клиент, тогда как на backend мой код затрагивает:

  • Web-интерфейс
  • Мобильные приложения (iOS/Android)
  • Внешние API-интеграции
  • Фоновые процессы и очереди

2. Глубина технологий Backend открыл более сложные задачи:

// Проектирование масштабируемой архитектуры
class OrderService {
    public function __construct(
        private PaymentProcessor $payment,
        private InventoryManager $inventory,
        private EventDispatcher $events
    ) {}

    public function process(Order $order): void
    {
        $this->payment->charge($order);
        $this->inventory->reserve($order->items);
        $this->events->dispatch(new OrderPlaced($order));
        // Транзакция, ретраи, компенсирующие действия
    }
}

3. Рыночный спрос и карьерный рост В регионе больше вакансий для senior backend-разработчиков с возможностью роста до архитектора или tech lead.

4. Предпочтение open-source экосистемы PHP-сообщество и инструменты (Composer, Packagist) оказались более открытыми и collaborative по сравнению с проприетарной экосистемой Apple.

Что я взял из iOS-опыта:

  • Строгую типизацию (перенёс в PHP через Psalm/PHPStan)
  • Внимание к UX (даже в API дизайне)
  • Понимание мобильных ограничений (разрабатываю API с учётом кэширования, офлайн-работы)

Сейчас я не жалею о переходе — backend даёт более системный взгляд на разработку и больше архитектурных вызовов.

Ответ 18+ 🔞

Ну вот смотри, история как у многих — начинал с iOS, на Objective-C ковырялся, потом Swift подъехал. А потом, бля, взял и переметнулся на backend, конкретно в PHP с Laravel. И знаешь, почему? Сейчас объясню, а то некоторые думают, что я просто с ума сошёл.

Во-первых, широта влияния, ёпта. Сидишь ты на iOS, пишешь интерфейсы, кнопочки тыкаются — и всё, приехали. А на бэкенде? Тут, сука, твой код — он везде! Веб-интерфейс грузится — это твои данные. Мобилка на iOS или Android стучится — это твой API. Какая-нибудь внешняя система интегрируется — опять твои роуты. И даже эти все фоновые задачи, которые ночью работают — тоже твои. Чувствуешь размах? Овердохуища ответственности, конечно, но и кайф другой.

Во-вторых, глубина технологий просто пиздец. На фронте, бывало, голову ломал над анимацией или памятью. А тут, бля, задачи уровня "как не обосраться при тысяче заказов в секунду". Архитектура, масштабирование — это тебе не хуй с горы.

// Вот смотри, проектируешь сервис, а там уже не просто класс — там целая система
class OrderService {
    public function __construct(
        private PaymentProcessor $payment,
        private InventoryManager $inventory,
        private EventDispatcher $events
    ) {}

    public function process(Order $order): void
    {
        $this->payment->charge($order); // Списать бабки
        $this->inventory->reserve($order->items); // Зарезервировать товар
        $this->events->dispatch(new OrderPlaced($order)); // Уведомить всех
        // А ещё тут транзакции, откаты, ретраи если что-то пошло не так...
        // Короче, волнение ебать, но интересно.
    }
}

В-третьих, рынок и рост, ядрёна вошь. Посмотрел я вокруг — вакансий для сеньоров и архитекторов на бэкенде дохуя больше. Карьерная лестница чётче видна: от разработчика до того самого техлида, который решения принимает. А не просто "тимлид по iOS", которых на всю компанию один.

Ну и наконец, open-source экосистема. После проприетарного сада Apple, где каждое яблочко нужно лицензировать, попасть в мир Composer, Packagist, Laravel — это как глоток свободы. Сообщество, пакеты, инструменты — всё открыто, всё можно потрогать и изменить. Доверия ебать ноль к вендорам больше не было, честно.

Но и iOS-опыт, конечно, не пропал. Притащил с собой строгую типизацию — в PHP через Psalm и PHPStan её натянул. Понимание, что юзер — тоже человек, даже когда он API дергает: дизайню эндпоинты так, чтобы мобильщикам потом не хотелось плакать. Знаю, как важно кэширование и офлайн-логика, потому что сам через это прошел.

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