📉💼 Грейдинг умер, ИИ захватил собесы: 5 трендов IT-найма 2025
Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.
🔗 Читать статью
🐸 Библиотека мобильного разработчика
Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.
🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4❤1
Проблема
Пользователи удаляют приложения из-за:
• Долгой загрузки экранов
•Подвисаний интерфейса
•Высокого потребления батареи
Мониторинг производительности помогает выявлять и исправлять проблемы до того, как они повлияют на рейтинг приложения.
• Время запуска приложения (Cold/Warm/Hot start)
• Частота кадров (FPS) на основных экранах
• Потребление памяти (RAM)
• Использование CPU и батареи
• Скорость загрузки данных (сеть)
1. Firebase Performance Monitoring (Android/iOS)
// Android: добавьте в build.gradle
implementation 'com.google.firebase:firebase-perf:20.5.1'
// iOS: добавьте в Podfile
pod 'FirebasePerformance'
2. Создание кастомных трейсов:
// Android
val trace = Firebase.performance.newTrace("screen_load")
trace.start()
// Выполнение работы...
trace.stop()
// iOS
let trace = Performance.startTrace(name: "screen_load")
// Работа...
trace.stop()
3. Отслеживание скорости загрузки экрана:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val trace = Firebase.performance.newTrace("main_activity_create")
trace.start()
setContentView(R.layout.activity_main)
// Инициализация UI
trace.stop()
}
}
Android (Choreographer)
class FpsMonitor : Choreographer.FrameCallback {
private var frameCount = 0
private var startTime = 0L
override fun doFrame(frameTimeNanos: Long) {
if (startTime == 0L) {
startTime = frameTimeNanos
}
frameCount++
val elapsed = (frameTimeNanos - startTime) / 1_000_000
if (elapsed >= 1000) {
val fps = (frameCount * 1000 / elapsed).toFloat()
// Отправка метрики
frameCount = 0
startTime = frameTimeNanos
}
Choreographer.getInstance().postFrameCallback(this)
}
}
iOS (CADisplayLink)
class FpsMonitor {
private var displayLink: CADisplayLink?
private var lastTimestamp: CFTimeInterval = 0
private var frameCount: Int = 0
func startMonitoring() {
displayLink = CADisplayLink(target: self, selector: #selector(step))
displayLink?.add(to: .main, forMode: .common)
}
@objc func step(displayLink: CADisplayLink) {
if lastTimestamp == 0 {
lastTimestamp = displayLink.timestamp
return
}
frameCount += 1
let delta = displayLink.timestamp - lastTimestamp
if delta >= 1 {
let fps = Double(frameCount) / delta
// Отправка метрики
frameCount = 0
lastTimestamp = displayLink.timestamp
}
}
}
• Firebase Console – готовые графики и отчеты
• Custom dashboards – Grafana, Data Studio
• Оповещения – при падении FPS ниже 50 или росте потребления памяти
• Мониторьте в продакшене – реальные данные пользователей
• Сегментируйте данные – по устройствам, версиям ОС, сетям
• Установите целевые показатели – например, 60 FPS, холодный запуск < 2 сек
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Переворачиваем календарь — а там скидки, которые уже закончились.
Но мы их вернули на последний день 🤔
До 00:00 третьего сентября (цены как до 1 сентября):
▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽
👉 Хватаем скидки из прошлого
P.S. Машину времени одолжили у дяди Миши
Но мы их вернули на последний день 🤔
До 00:00 третьего сентября (цены как до 1 сентября):
▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽
👉 Хватаем скидки из прошлого
P.S. Машину времени одолжили у дяди Миши
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3😢1🥱1
Хотите monetize ваше приложение, но запутались в правилах App Store и Google Play? Этот промпт поможет реализовать покупки без головной боли.
Implement in-app purchases for a mobile app that includes:
— Set up products in App Store Connect/Google Play Console
— Initialize billing clients for [Android/Kotlin/iOS/Swift]
— Implement purchase flow with proper error handling
— Restore purchases functionality
— Validate receipts on backend/server
— Handle subscription management and status tracking
— Manage consumable/non-consumable products
— Добавьте
Implement local validation for offline purchases
для проверки при отсутствии сети— Добавьте
Add grace period for subscription renewals
для улучшения пользовательского опыта— Добавьте
Handle price changes and introductory offers
для гибкой монетизации#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
😎 Сколько баллов набрали вы?
Голосуйте, какой у вас уровень разработчика:
😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)
Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.
👉 Научим, как быстро прокачаться от стажера до сеньора
Голосуйте, какой у вас уровень разработчика:
😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)
Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.
👉 Научим, как быстро прокачаться от стажера до сеньора
ARC (Automatic Reference Counting) - это метод подсчёта ссылок на объекты, который используется Apple для управления памятью в Swift.
Автор разберёт, что такое ARC на самом деле, посмотрит, как он работает на уровне SIL, и заглянет немного в историю управления памятью в iOS.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью упростить себе жизнь в Visual Studio Code.
Windows — Ctrl + Shift + \
macOS — Shift + Command + \
Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl + Shift + \ — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.
Windows — F2
macOS — F2
Писали, писали, а старший разработчик пришёл и сказал, что ваши переменные a, b и c — дурной тон. Чтобы не выискивать их по всему документу и не менять руками, есть F2.
Windows — Shift + Alt + F
macOS — Shift + Option + F
VS Code предложит установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки и скобки, сделает строки кода читаемыми.
Windows — F12
macOS — F12
Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости и где она объявлена. F12 перенесёт вас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.
Windows — Alt + Z
macOS — Option + Z
Если строки кода или текст не вмещаются в редактор по ширине, включите перенос.
Windows — Ctrl + KZ
macOS — Command + KZ
Лучшее решение для тех, кто входит в состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться в реальный мир, нажмите Escape.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Что произойдет, если несколько пользователей одновременно начнут менять одни и те же данные? Скорее всего — потеря изменений и ошибки.
Чтобы этого избежать, в системах используются блокировки: пессимистические — когда конфликтам не дают случиться, и оптимистические — когда система проверяет их только перед сохранением.
Разбираемся, как работают блокировки и какая из них лучше подойдет вашему приложению.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🌚1
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»
⮕ Твой стартовый набор искателя данных:
⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»
Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽
☞ Что ждет тебя в этом квесте
📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)
⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»
Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽
☞ Что ждет тебя в этом квесте
— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников
📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9😢2
Какие приложения написаны на Kotlin?
Anonymous Quiz
55%
Netflix, Pinterest, Duolingo
16%
Instagram, Spotify, Waze
20%
WhatsApp, YouTube, Gmail
9%
Minecraft, Subway Surfers, Angry Birds
🤔6❤2
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!
Кто нужен?
Но если вы пока джун — я бы предложил:
- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL
🔗 Старт 9 сентября
Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.
Но если вы пока джун — я бы предложил:
- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL
🔗 Старт 9 сентября
👍1
Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.
SF Symbols позволяет легко создавать мощные и гибкие анимации и эффекты. По мнению автора, для разработчиков, ориентирующихся на последние версии ОС, этот инструмент становится предпочтительным выбором по сравнению с написанием большого объема кастомного кода.
Понимая и используя эти функции, вы сможете создавать более адаптивные и визуально привлекательные пользовательские интерфейсы в Jetpack Compose.
Работа с NFC в Android всегда была непростой задачей. Нативный API требует от разработчика понимания низкоуровневых протоколов и механизмов обработки данных. Новый TAO NFC SDK (Android) призван решить эту проблему, предоставляя высокоуровневую абстракцию, которая значительно упрощает взаимодействие с NFC-метками.
Статья об использовании мультиплатформенного решения на Compose с минимальным количеством сторонних beta библиотек.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1👏1
Какие потенциальные улучшения вы здесь видите?
Вы просматриваете пулл-реквест и столкнулись с этим методом:
func turnTo(direction: String){
if direction == "North" {
northAction()
} else if direction == "East" {
eastAction()
} else if direction == "South" {
southAction()
} else if direction == "West" {
westAction()
} else {
print("No valid direction specified")
}
}
Какие улучшения вы можете предложить автору кода?
• Использование жестко закодированных строк типа (например, "West") - плохая идея. Что если кто-то неправильно напишет это слово? Чтобы решить эту проблему, следует отказаться от жестко закодированных строк и вместо них использовать перечисление.
• Кроме того, как насчет использования оператора switch вместо длинного оператора if-else?
Благодаря этим улучшениям код станет более безопасным и читабельным:
enum Direction {
case North
case East
case South
case West
}
func turnTo(direction: Direction){
switch direction {
case .North: northAction()
case .East: eastAction()
case .South: southAction()
case .West: westAction()
default:
print("No valid direction specified")
}
}
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Зовём на 2ХАКАТОН от 2ГИС
4–5 октября, офлайн, Москва
Два дня, чтобы общаться, кодить, вдохновляться и менять городские сервисы к лучшему!
Три трека: городские данные с ЦОДД, инклюзия с фондами «Антон тут рядом», «Продвижение», «ЛизаАлерт» и носимые устройства — часы, браслеты, AR и другие гаджеты.
Призовой фонд: 1 000 000 рублей
и шанс, что проект попадёт прямо в 2ГИС!
Регистрируйся с командой от 3 до 6 человек или соло — поможем найти команду в чате!
Реклама. ООО 'ДУБЛЬГИС', ИНН 5405276278, Erid: 2VSb5xSUckq
4–5 октября, офлайн, Москва
Два дня, чтобы общаться, кодить, вдохновляться и менять городские сервисы к лучшему!
Три трека: городские данные с ЦОДД, инклюзия с фондами «Антон тут рядом», «Продвижение», «ЛизаАлерт» и носимые устройства — часы, браслеты, AR и другие гаджеты.
Призовой фонд: 1 000 000 рублей
и шанс, что проект попадёт прямо в 2ГИС!
Регистрируйся с командой от 3 до 6 человек или соло — поможем найти команду в чате!
Реклама. ООО 'ДУБЛЬГИС', ИНН 5405276278, Erid: 2VSb5xSUckq
Мобильный разработчик (React Native / другие) — от 150 000 до 350 000 ₽, удалёнка
Старший iOS-разработчик — от 300 000 до 540 000 ₽, гибрид (Москва)
Мобильный разработчик (Flutter) — от 100 000 до 300 000 ₽, удалёнка
Разработчик мобильных приложений (React Native + Kotlin) — от 250 000 ₽, удалёнка
Mobile Application Security Еngineer [Кибербезопасность] —
от 250 000 ₽, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Иногда реально ощущение, что нас держат в Матрице.
Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.
❗ Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.
Кто готов вырваться из симуляции и ворваться в сезон найма?
👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно
Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе
Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.
❗ Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.
Кто готов вырваться из симуляции и ворваться в сезон найма?
👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно
Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе
👾 Облегчаем жизнь больших экранов на Compose
В декларативных UI-фреймворках, таких как Jetpack Compose, принятым подходом является state hoisting. Это означает, что чаще всего мы стремимся управлять состоянием в родительском компоненте, а не хранить state прямо в UI-компоненте. Но всегда ли state hoisting так хорош?
На примере сложных экранов разобрались, как stateful-подход может существенно облегчить разработку больших экранов.
Но как же сделать stateful-компонент в большом проекте, если у нас:
🔘 API/Impl-архитектура;
🔘 dependency injection;
🔘 важна скорость сборки.
Автор рассказал про удобный способ создания stateful-компонентов в условиях большого проекта в рамках API/Impl-архитектуры. Это поможет разгрузить сложные экраны и делать переиспользуемые UI-компоненты в условиях API/Impl и DI.
👀 Смотреть доклад
🐸 Библиотека мобильного разработчика
#свежак
В декларативных UI-фреймворках, таких как Jetpack Compose, принятым подходом является state hoisting. Это означает, что чаще всего мы стремимся управлять состоянием в родительском компоненте, а не хранить state прямо в UI-компоненте. Но всегда ли state hoisting так хорош?
На примере сложных экранов разобрались, как stateful-подход может существенно облегчить разработку больших экранов.
Но как же сделать stateful-компонент в большом проекте, если у нас:
Автор рассказал про удобный способ создания stateful-компонентов в условиях большого проекта в рамках API/Impl-архитектуры. Это поможет разгрузить сложные экраны и делать переиспользуемые UI-компоненты в условиях API/Impl и DI.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4