Prefire iOS – Telegram
Prefire iOS
967 subscribers
81 photos
6 videos
91 links
Чат/блог о современной 🍏iOS разработке

Пробустить канал → https://news.1rj.ru/str/prefire_ios?boost

Автор: @barredewe
Download Telegram
💭 SwiftUI - боль?

Я недавно говорил, что SwiftUI - говно, но, чёрт возьми, я его люблю.

И одна из самых больших проблем - невозможность добавлять новые фичи на старых версиях iOS. Каждый апдейт - это тонны #available, которые захламляют код.

Недавно в канале «Мобильный трудоголик» наткнулся на классное решение - SwiftUI-Adapter.

Теперь вместо:
if #available(iOS 15.0, *) {
view.badge(5)
} else {
view
}

Можно просто:
view.adapter.badge(5)


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

Подробная информация и ссылка на GitHub доступны в исходном посте.
🔥23❤‍🔥7👍65🤡5👎3🤮3🥱3🤩1
🤖 Claude Pro vs ChatGPT Plus - заметки разработчика (и лида)

Попробовал платные версии обоих - впечатления очень разные.

💬 Claude
SwiftUI: пишет на супер-примитиве (GPT-5 заметно лучше).
Стиль кода: любит всё усложнять - тесты на всё подряд, даже на мелочи.
⚡️ Оптимизация: почти всегда выдаёт код, эффективный по производительности и памяти.
Языки: проблема скорее в Swift, в других — результат лучше.
MCP: есть интеграция, но реализовано странно:
• приложение на Mac виснет примерно раз в час;
• при правке файла перегенерирует его целиком → токены улетают, лимит съедается даже на Pro-тарифе.

🧠 ChatGPT (GPT-5)
Повседневное использование: лучший выбор —
• аккуратно меняет куски кода без полной перегенерации;
🎨 встроенная генерация картинок
• стабильнее в работе.
Код: пишет чище и удобнее, но не всегда максимально оптимально по ресурсам, масштабируемости и скорости.
MCP: отсутствует (есть только через Cursor, и то за отдельную подписку).

⚖️ Вывод
• Для каждодневных задач - GPT выигрывает без вариантов.
• Для кода - зависит от задачи: Claude чаще даёт более оптимальные решения, но в Swift (особенно UI) он слаб.

👉 Про то, как модели справляются именно со Swift-бенчмарками, я сделаю отдельный пост.
👍15🔥5🤡5🤔21
This media is not supported in your browser
VIEW IN TELEGRAM
🍏 FastVLM: Apple наконец-то врывается в AI?

На CVPR 2025 показали FastVLM - мультимодальную модель с акцентом на скорость и компактность. И это реально первый серьёзный шаг Apple в сторону открытых моделей.

- ⚡️ 85× быстрее по TTFT, чем аналоги, и 3.4× компактнее благодаря гибридному визуальному энкодеру FastViTHD.
- 🧠 Версия на базе Qwen2-7B обгоняет Cambrian-1-8B, выдавая 7.9× более быстрый ответ.
- 📦 Уже на HuggingFace - модели 0.5B, 1.5B, 7B (fp16 / int8 / int4). Есть экспериментальные Stage2/3 для видео и структурированного вывода.
- 🛠 Поддержка прямо в transformers - импортнул и поехали.
- 🍎 Некоторые версии уже работают через mlx-vlm на macOS/iOS.
- 💬 Пользователи отмечают: на Mac летает, а вот iPhone 14 пока не тянет. Но в WebGPU-демо выглядит бодро.

📌 Вывод
FastVLM = компактность + скорость + мультимодальность. Кажется, Apple реально начала собирать свой AI-стек - посмотрим, как это отразится на экосистеме iPhone/iPad/Mac. Очень надеюсь что увидим от Apple еще больше моделей.

👉 Модели на HuggingFace
👉 Официальный Github
7🔥5👍1👏1
🤖 Кто такой DimaTorzok?
(или как OpenAI не фильтрует данные обучения)

Делаю пет-проект с распознаванием речи на видео через whisper.cpp. Всё шло нормально… пока вместо музыки модель не стала писать:

👉 «Субтитры добавил DimaTorzok»

Я же распознаю голос, а не ищу какого-то Диму 😅


Оказалось, что в обучающих данных с YouTube полно видео, где при музыке так и было написано в субтитрах. Whisper это честно выучил и теперь считает: музыка = DimaTorzok.

⚡️ Фикс элементарный: заменяем эту фразу на music прямо в коде.

Два дня бился, но теперь знаю:
🎶 любая музыка для OpenAI - это DimaTorzok.

PS: Работет только по распознавании русского языка

📎 Обсуждение на GitHub: Who is DimaTorzok?
😁228👍2🫡2🤣1
🚀 Swift Subprocess - новый способ запускать процессы из Swift

В Swift появилась библиотека, которая закроет старую боль Foundation.Process.
swift-subprocess - свежий пакет от Foundation Workgroup, уже принят как proposal SF-0007 v0.1.

Зачем это нужно:
Swift Subprocess - это единый и безопасный способ дергать внешние утилиты.
И это не что-то нишевое: почти все наши любимые Swift-тулы делают это под капотом:

Tuist - дергает xcodebuild, swift build и десятки CLI команд
Sourcery - запускает генераторы, линтеры и скрипты
• и любые pet-проекты, где надо позвать git, ffmpeg, convert, jq

Сегодня они используют старый Foundation.Process.
Завтра почти наверняка перейдут на swift-subprocess.

Примеры

Простой вызов:
let r = try await run(.name("git"),
arguments: ["--version"],
output: .string())
print(r.standardOutput)


Логи «на лету»:
try await run(.name("bash"),
arguments: ["-lc", "ping -c 3 apple.com"]) { p in
for try await line in p.standardOutput.lines {
print("[OUT]", line)
}
}


Параллельные процессы:
async let a = run(.name("echo"), arguments:["A"])
async let b = run(.name("echo"), arguments:["B"])
let (ra, rb) = try await (a, b)
print(ra.standardOutput, rb.standardOutput) // A B


📱 На iOS запуск внешних бинарников запрещён.
Но код можно шарить с macOS/Linux-утилитами, а внутри iOS использовать те же async-паттерны для встроенных фреймворков.

Статус проекта
• Proposal SF-0007 принят (март 2025)
• Версия 0.1 уже доступна на GitHub
• Планируется 1.0 в ближайшие месяцы

💡 Итог: Swift Subprocess - новый стандарт для инструментов на Swift.
Очень скоро Tuist, Sourcery и многие другие утилиты переедут на него.

👉 Репо: github.com/swiftlang/swift-subprocess
🔥14👍332🙏1
🚀 Релиз Swift 6.2

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

Concurrency

👉 MainActor по умолчанию (как режим)
Раньше нужно было вручную ставить аннотацию @MainActor, чтобы не было ошибок при обновлении интерфейса. Теперь можно включить режим, где всё работает на MainActor автоматически - меньше лишнего кода.

👉 @concurrent для тяжёлых задач
Данные и состояние остаются на главном акторе, а ресурсоёмкие операции можно пометить как конкурентные - они выполняются параллельно и не мешают остальному коду.

struct ImageStore {
static var cache: [URL: Image] = [:]

static func image(for url: URL) async throws -> Image {
if let cached = cache[url] { return cached }
let img = try await fetchAndDecode(url)
cache[url] = img
return img
}

@concurrent
static func fetchAndDecode(_ url: URL) async throws -> Image {
let (data, _) = try await URLSession.shared.data(from: url)
return await decode(data)
}
}


Safe Systems Programming

👉 InlineArray - фиксированный массив, который хранится компактно (например, прямо внутри структуры), без дополнительных аллокаций.

struct Level {
var bricks: [40 of Brick] = .init(repeating: .init())
}


👉 Span - безопасный срез массива без копирования

let numbers = [1, 2, 3, 4, 5]
let part = Span(numbers, start: 1, count: 3)
print(part) // [2, 3, 4]


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

Workflows

👉 Официальное расширение Swift для VS Code: индексинг, LLDB, предпросмотр DocC.
👉 Настройка предупреждений компилятора (-warn-concurrency, -warn-unreachable).
👉 Быстрее работает сборка макросов.
👉 Удобнее отлаживать async-код: стек-трейсы стали понятнее, задачи теперь имеют имена.

Библиотеки

👉 Foundation: типизированные нотификации с явной моделью доставки.
👉 Observation: новый тип Observations - async-последовательность изменений.
👉 Swift Testing: тестирование выхода процесса, вложения (логи, скриншоты), новый формат имён.
👉 WebAssembly: расширенная поддержка Wasm-таргета.

Swift 6.2 помогает сократить ручную работу с потоками, добавляет безопасные инструменты для системного кода и делает разработку удобнее.

📌 Полный обзор
👍13🔥53🍾2
Хоть сама iOS и безопасная, приложения расковырять может практически кто угодно. Инструменты, атаки и костыли обновляются быстрее, чем выходит новый Xcode.

Если есть сомнения, что у тебя на клиенте всё перекрыто - Podlodka iOS Crew 22–26 сентября поможет найти дыры и заклеить их.

Что в программе

👉 Региональные ограничения. Как iPhone решает, что в стране можно, а что нельзя. Где он это проверяет и как воспроизвести поведение руками. Спикер - Светослав Карасев (hh ru).

👉 Обфускация в iOS. Какие подходы реально мешают реверсу, какие бесполезны, и как собрать свой пайплайн на SwiftSyntax. Павел Каретников (Газпромбанк).

👉 AppSec для iOS. Ландшафт атак, хранение данных, сеть. Практики, частые ошибки и как внедрить безопасную разработку в командах разного размера.

👉 Мини-CTF. Неделю собираем флаги, в пятницу - разбор находок и выводы для прода. Никита Краснов (Альфа-Банк).

🔗 Регистрация и подробности: https://podlodka.io/ioscrew
🔥7👍522
🧩 Repomix: как подружить репозиторий и ИИ

Есть такой инструмент - Repomix. Он умеет упаковать проект в удобный для LLM вид:
👉 дерево папок + список файлов
👉 содержимое

Плюс можно включить режим сжатия (оставляет только сигнатуры/структуру кода). Получаем большую экономию токенов. Еще repomix может работать как MCP-сервер → значит его можно подключить к Cursor, Claude, Codex и тд.

Установка:
brew install repomix


🔑 CLI режим

Хочется “скормить” ИИ весь проект, чтобы он перестал гадать, съедать кучу токенов и начал помогать.

Repomix делает из репо markdown/json файл → кидаем в ChatGPT, DeepSeek, Claude.
ИИ сразу понимает архитектуру, связи и где искать баг.

Пример запуска:
repomix —-include "**.swift"


👉 Для библиотек - работает отлично
👉 Для больших приложений - делим на модули и прогоняем их по отдельности (либо mcp подключение)

⚙️ MCP режим

Подключаете Repomix к Codex (или другому агенту), и он сам в нужный момент дергает pack_codebase, grep_repomix_output и т.д.

То есть ассистент сам спрашивает у Repomix “покажи структуру проекта” → и получает актуальный кусок.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94❤‍🔥32
🎁 Розыгрыш 2 билетов на Podlodka Teamlead Crew

6 октября стартует новый сезон Podlodka Teamlead Crew - неделя про продвинутое тимлидство: навыки и компетенции, которые реально помогают расти в профессии и карьере.

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

Как участвовать:
1. Подписаться на этот канал (если вдруг ещё не).
2. Нажать на кнопку "Учавствовать".

📅 Итоги подведу 18:00 4 октября в канале.

Удачи 🍀

Участников: 36
Призовых мест: 2
Дата розыгрыша: 18:00, 04.10.2025 MSK (завершён)

Победители розыгрыша:
1. Artem D. - 41umr3
2. Max - 41oqif
👍7🔥642
🚀 Swift Package Manager 6.2: маленький релиз, важные улучшения

Swift 6.2 уже вышел, и вместе с ним подтянулся Swift Package Manager (SPM).
На первый взгляд апдейт тихий, но внутри есть несколько полезных штук, особенно если вы активно работаете с пакетами, CI и макросами.

🧠 1. Новый SwiftSetting.strictMemorySafety

Теперь в Package.swift можно включить строгую проверку безопасности памяти, добавленную в Swift по предложению SE-0458.
.swiftSettings([
.strictMemorySafety(.complete)
])

💡 Это позволит SPM-проектам компилироваться с включённой защитой от “грязных” указателей и нарушений изоляции памяти.
Полезно для системного и серверного Swift - где безопасность важнее производительности.

⚡️ 2. Ускоренные сборки макросов

SPM теперь умеет использовать prebuilt swift-syntax зависимости, не пересобирая их каждый раз.

💬 Для тех, кто пишет или использует макросы (@Observable, @AutoMockable, @Equatable и т.п.), — компиляция стала ощутимо быстрее.
Теперь этот шаг больше не пересобирает swift-syntax из исходников, если система уже имеет готовый бинарный артефакт.

💾 3. Кеширование бинарных артефактов

Бинарные зависимости теперь кешируются рядом с checkout-ами репозиториев, чтобы SPM не скачивал их заново при пересборке в других проектах.

📈 Это особенно приятно, если вы работаете с монорепами, CI/CD или несколькими пакетами с общими зависимостями.

🧩 4. Управление предупреждениями прямо из Package.swift

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

💬 Вывод

Swift Package Manager 6.2 становится быстрее, безопаснее и дружелюбнее к большим проектам.

🧠 Главное новшество - строгая память, кеширование артефактов и ускорение макросов.
📦 Если вы используете Swift 6.2 в продакшне - обновляться стоит.
7🔥5👍3
🧩 AnyLanguageModel: подключаем любую LLM к Apple Foundation Models API

Apple добавила Foundation Models в iOS 26 и macOS 26. Теперь можно напрямую вызывать on-device LLM через Swift с помощью LanguageModelSession, Tool, @Generable, Guided Generation и других инструментов.

Проблема в том, что API работает только с системной моделью Apple SLM примерно на 3 миллиарда параметров. Если хочешь использовать GPT-4, Claude или локальную Llama 3.2, то стандартный API не поможет.

AnyLanguageModel повторяет API Foundation Models и позволяет выбрать любой бэкенд: Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic.

Достаточно заменить import FoundationModels на import AnyLanguageModel, и код продолжит работать.

⚙️ Под капотом
• Полностью совместим с FoundationModels
• OS 17.0+ / macOS 14.0+ (В отличии от FoundationModels)
• Использует Swift 6.1 traits для подключения только нужных движков
• Поддерживает Tools, Guided Generation и Streaming
• Гибкий: работает локально, в облаке или в гибридной схеме

🧠 Apple Foundation Models
• Доступны на iOS, macOS и visionOS 26+
• Встроенная on-device модель (~3B), работает оффлайн
• Поддерживают Tool-вызовы, Guided Generation и адаптеры LoRA
• Адаптеры можно устанавливать как Background Assets

Apple SLM уступает моделям уровня GPT по мощности, но выигрывает в приватности и скорости отклика. Guided Generation делает модель точной при типизированных задачах, например со структурами или enum.

🧩 Примеры
• Локально через Ollama: llama3.2, phi4, gemma2
• Через MLX на M-чипах: mlx-community/Qwen3-0.6B
• В облаке: OpenAI, Anthropic

🔗 Полезное
• GitHub: mattt/AnyLanguageModel
• Apple Docs: Foundation Models Guide
🔥9👍432
TOON вместо JSON: когда стоит, а когда нет

Token-Oriented Object Notation (TOON) - новый формат сериализации, который придумали в Duolingo, чтобы тратить меньше токенов при работе с LLM.
Грубо говоря - JSON на диете: без кавычек, без повторяющихся ключей, но со структурой.

Обычный JSON:
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"}
]
}

А вот TOON:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user

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

Когда TOON реально помогает
• Когда вы шлёте модели большие массивы однотипных данных
• Когда важно влезть в контекст или сократить стоимость
• Когда структура простая и не меняется

Когда лучше остаться на JSON
• В REST API и между сервисами - JSON всё ещё стандарт
• Когда данные сложные и вложенные
• Когда важна совместимость и схема

Что по цифрам
На плоских структурах экономия 30–60% токенов.
На вложенных почти нулевая экономия, иногда даже наоборот.

Итог
TOON - не замена JSON, а инструмент для LLM.
Если часто кормите модель большими таблицами - TOON даст экономию.
Если нет - JSON вас и дальше не подведёт.

PS: Бибилиотеки на swift еще нет, самое время залететь в open source и сделать Свифтун (SwiftToon)
1👍15🔥8🤝1
Наткнулся на статью The Year SwiftUI Died”.

Заголовок громкий, но мысль внутри любопытная.

Автор говорит, что 2025 стал моментом, когда SwiftUI перестал быть очевидным выбором.
Причины: Apple внезапно оживила UIKit, завезла удобный @Observable и другие фишки, причём они работают даже на старых iOS. Плюс ИИ теперь легко генерирует болванки под UIKit, снимая главный барьер входа.

Основные тейки:
• UIKit снова выглядит современно
• ИИ убирает боль шаблонного кода
• В основе SwiftUI слишком много магии, что бьёт по производительности
• Для крупных проектов UIKit может быть практичнее

Частично согласен, но “SwiftUI умер” звучит как драма. Он никуда не делся, просто перестал быть самым очевидным путём. Сейчас это вопрос выбора, а не похорон 💀

А что вы думаете? Используете ещё UIKit?
1👍14🔥63
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop ❄️

На днях откопал свой старый проект на Metal - снегопад для рабочего стола. Запустил, посмотрел в профайлер и схватился за голову.

Раньше я не смог освоить просчет логики на GPU 😬: вся математика считалась на CPU. Процессор в каждом кадре пересчитывал координаты тысяч частиц, удалял упавшие, создавал новые (привет, сборщик мусора) и каждый раз перегонял этот массив данных на видеокарту. Естественно, на большом количестве снежинок всё начинало захлебываться.

😊 Решил сегодня переписать.

Самое главное - убрал все просчеты с CPU. Перенес всю физику в Compute Shaders. Теперь процессор вообще не трогает частицы, он просто говорит видеокарте:
Прошло 0.016 секунды, обнови кадр


Как это работает внутри:
- Один буфер на старте. Вместо того чтобы постоянно создавать и убивать объекты, я один раз выделяю память под массив снежинок.
- Ресайкл. Когда снежинка улетает за нижнюю границу экрана, шейдер просто телепортирует её наверх с новыми параметрами. Никаких аллокаций памяти в рантайме.
- Параллелизм. Тысячи ядер GPU обновляют позиции снежинок одновременно, а не по очереди, как это делал CPU.

Результат забавный: ради интереса выкрутил счетчик до миллиона снежинок. Экран стал просто белым, но 60 FPS держатся стабильно.

В коде еще перенес на GPU мелочи вроде огибания курсора мыши и таяния снега на границах окон.

👉 Приложение open source и его код можно посмотреть в репозитории а скачать приложение прямо по ссылке

PS: Прямо сейчас приложение в ревью у Apple.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥32124👏2🎄2
This media is not supported in your browser
VIEW IN TELEGRAM
❄️ Snowflakes Desktop - снегопад на твоем Mac

Создай новогоднюю атмосферу на рабочем столе одним кликом. Легкое, нативное приложение, которое не нагружает систему.

Что умеет:

Реалистичная физика: Снежинки плавно падают поверх всех окон (или только на обоях).
🎨 Кастомизация: Настраивай количество снега, скорость и размер хлопьев под свое настроение.
🚀 Performance-friendly: Написано с использованием Metal. Ноль лагов, минимальное влияние на батарею.
🖥 Multi-display: Поддержка нескольких мониторов.

Это отличный способ добавить уюта во время работы или вечернего просмотра фильмов.


🌐 Скачать с сайта: Snowfall Desktop
🍏 Скачать с App Store: Snowfall Desktop
🐙 Скачать с GitHub: ZIP
2🔥1655🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop наконец-то в App Store! ❄️

Без долгих предысторий: просто захотелось снега на рабочий стол, написал, залил.
Но самое интересное было на этапе ревью.

Первый билд Apple реджекнули.
Причина убила 🍴

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

Пришлось немного поправить описание, чтобы не смущать Купертино своей “нативностью”. Считаю, это успех 😂

Пока ждал аппрув, навайбкодил еще и лендинг - там тоже идет снег, можно зайти просто залипнуть (рекомендую заглянуть туда).

PS: Зацените какую анимацию apple делает, когда выкладываешь новое приложение в AppStore

Все ссылки и инфо - в предыдущем посте 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥19❤‍🔥52🎄2👍1
Захотел сделать «жидкое стекло» как в iOS 26, но для iOS 14

Ожидание: Напишу шейдер, всё заработает
Реальность: Шейдер работает, но iOS не даёт нормально захватить фон

Оказалось, что Apple использует приватный CABackdropLayer с прямым доступом к буферу композитора. А нам приходится гонять данные по кругу GPU → CPU → GPU 🔄

Результат: визуально 1-в-1 как нативный эффект, но производительность страдает.

Разобрал все проблемы в статье на Хабре 👇
👉 Статья
💻 Open-source библиотека
🔥30👍10🎄31
Итоги 2025 года в разработке и Prefire

В целом ничего кардинально не поменялось. LLM все еще далеки от prod-ready решений. Swift развивается со стороны многопоточности.

Из моих проектов - Prefire почти набрал 500 звездочек и обзавелся поддержкой многих новых функций за счет вас (именно вы делали PullRequests 🔥).

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

Под конец года погрузился в Metal - вышла статья про LiquidGlass и еще вышло милое приложение с интерактивными снежинками ❄️.

Про ScreenCat тоже не забыл, но все еще не могу сделать так, чтобы он мне самому понравился. Иногда залетаю туда на пару часов - недавно обновил на новую версию llama.cpp с новым API, и котик стал быстрее отвечать 💪.

Всех с наступающим или наступившим Новым годом! Желаю стабильности в работе, хорошей зарплаты, классных проектов и больше времени на себя. Не забывайте про отличное от разработки хобби (мне очень зашли силовые тренировки).
🔥136🎄6
IT индустрия Всё? 😮

Я часто смотрю рынок вакансий (как лиду, по работе): iOS, Android, frontend, backend.
И в целом это дало мне понять, где мы находимся как индустрия.

Наблюдение простое: по зарплатам в классической разработке рынок встал.

Если смотреть на цифры, а не ощущения:
- Хабр Карьера (2024–2025): senior - в среднем 220–320к, лиды - 350–500к, выше - уже редкость; рост год к году ~5–7%, ниже инфляции
- Selecty прямо пишет о замедлении роста компенсаций и фокусе компаний на оптимизацию, а не на расширение штата
- Работа.ру + Сбераналитика: средняя зарплата IT-специалиста - около 146к, что хорошо показывает реальную «середину» рынка

Как это выглядит из найма
• senior в обычном продукте - 250–400к,
• lead / tech lead - 400–600к+, и это скорее потолок,
• по сравнению с 2021–2022 реального роста почти нет, если учитывать инфляцию.

На этом фоне зацепил один приземлённый факт.

Во «Вкусно и точка» - указывают доходы ~170к в месяц.
Без IT, без продакшена и архитектурной ответственности.

Разрыв между сложной инженерной работой и не-IT профессиями по доходу стал заметно меньше.

Другая часть рынка - AI

• LLM, ML-infra, Prompts
• CUDA / Triton / inference optimization

Там совсем другие цифры.
По реальным вакансиям и офферам AI-лиды - это 1 млн+, иногда существенно выше. И судя по всему это из-за дефицита и прямого влияния на деньги бизнеса.

Международные данные это подтверждают: AI-лиды и staff-инженеры получают кратно больше обычных software engineers

Вывод
- классическая разработка стала массовой и предсказуемой
- потолок по зарплатам там хорошо читается
- деньги сместились туда, где выше порог входа и ценность для бизнеса: AI и оптимизация

Как вы это видите?
Временная пауза или новая реальность для IT?
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔5👍3🤡2
This media is not supported in your browser
VIEW IN TELEGRAM
Попробовал Opencode

После Codex, Claude, Gemini и Continue ощущается как шаг вперёд — именно по качеству взаимодействия.
(Хотя, кажется, сейчас Claude Code уже умеет всё то же, но в момент моего тестирования - не умел)

Самое классное, это как он начинает диалог. Пишешь простой, даже ленивый запрос, а модель сама раскладывает его на точные параметры: что именно ты хочешь, какие ограничения есть, какие варианты возможны. А дальше просто выбираешь из предложенного. Честно, ощущается как RPG-игра: выбираешь реплику в диалоге 😎

Это сильно экономит токены/нервы. Меньше итераций «нет, не так», меньше переписывания, больше контроля над результатом.

Из минусов - пока слабовато с локальными моделями. Пробовал Ollama с Qwen 3 coder и GLM 4.7: ответы иногда обрываются, туллинг работает нестабильно, видно, что модель хочет вызвать инструмент, но система это не ловит. Тут явно ещё нужно дорабатывать.

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

Небольшая вставка про Apple Intelligence: вообще не понял, как они выкатили настолько «сырое» решение. В Xcode нет тулинга, нет понимания проекта — бесполезная вещь на данный момент.


Короче, инструмент реально крутой. Если подтянут поддержку локальных моделей и доработают туллинг, Opencode может стать одним из самых удобных решений для ежедневной разработки. Пока использую его как основной.
1🔥2033