Pull to refresh
17
0
Алексей Катаев @deusdeorum

Team lead

Send message

Итоги ежегодного опроса PHP-сообщества: результаты за 2023

Reading time5 min
Views8.9K

Привет! Как и в предыдущие три года, в декабре 2023 было запущено исследование русскоязычного PHP-комьюнити. По итогам получился срез данных: на каких версиях PHP сидят в командах, какой фреймворк выбирают для рабочих проектов, а какой для личных, как относятся к ИИ-инструментам для разработки, кого считают человеком года и многие другие аспекты. Опрос помогают составлять и распространять ребята, которые развивают городские и региональные PHP-сообщества, а также руководят каналами и подкастами про PHP.

Посмотрим, каким был 2023 для сообщества, в 1120 мнениях.

Результаты также можно найти на phpcommunity.ru. Вот итоги за 2022, 2021, 2020.

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments7

Распланировать бюджет компании и не поседеть: как мы автоматизировали процесс, который не любит никто 

Level of difficultyEasy
Reading time5 min
Views4K


Любой бизнес, хоть кофейня, хоть компания по производству космических шаттлов, планирует ресурсы и считает, что во сколько обойдется. А одна из главных статей расходов — это ФОТ, фонд оплаты труда. Нужно же знать, сколько заплатить сотрудникам, какие вакансии открыть, сколько на них можно потратить и как все это приблизит компанию к ее мечте. 

Полировать бюджет можно месяцами. Особенно если у вас 3 000 сотрудников. Нужно решение, которое позволит быстро запланировать ФОТ и не запутаться.

Меня зовут Марго Седова, я Head of HR Product в Skyeng. Планировать ФОТ в нашем случае вручную ― вообще не вариант. Расскажу, как мы боролись с нервным тиком при словах «планируем годовой бюджет» и пробирались через чащу ручных процессов к светлому автоматизированному будущему. Пристегните ремни, погнали.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments2

Standalone компоненты и tree-shaking

Level of difficultyEasy
Reading time5 min
Views7.5K

Уже сложно представить наши приложения без такой оптимизации, как tree shaking.
Tree-shaking — «встряхивание дерева», удаление неиспользуемого кода из бандла приложения.

А причем тут standalone компоненты в названии статьи?

Просто существуют некоторые нюансы при встряхивании, о которых стоит знать при работе с такими компонентами. Как говорится, предупрежден — значит вооружен.
Далее можете почитать немного теории или сразу перейти к основной мысли.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments2

Метаданные как обезбол при миграции

Level of difficultyMedium
Reading time5 min
Views3K

Привет! Меня зовут Наташа Красильникова, я старший аналитик команды Operations Analytics в Skyeng. Мы завязаны на работе с сотней сервисов компании: забираем данные из сервисов и интегрируем много локальных документов с бизнесовыми маппингами, таргетами, а иногда и просто какими-то дополнительными данными.

Когда пришло время мигрировать наше многолетнее легаси на новый DWH… что ж, мы пережили целый спектр острых эмоций. И, конечно, выработали ноу-хау, чтобы сгладить переход и сделать его менее болезненным. В статье расскажу, что придумали и как применяли.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments2

Не пропусти это при работе с Nx

Level of difficultyMedium
Reading time4 min
Views4K

Работая с монорепозиторием, ты наверняка слышал о наборе инструментов Nrwl Nx. Если вкратце, то Nx ускоряет и упрощает работу с монорепой, снабжает полезными утилитами. Держи документацию.

Часто работа с Nx заканчивается на имеющихся дефолтных настройках. Все остальное остается черным ящиком. Время сборки проектов начинает расти, а причины так и остаются неизвестными. Может, есть что-то, что способно улучшить работоспособность монорепы и хотя бы частично решить проблемы?

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

Итак, что же ты мог упустить при работе с Nx:

nx run-many
dependency graph + nx affected
nx-enforce-module-boundaries es-linting
computation cache
nx cloud
buildable libs 

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments8

Когда игра учит больше, чем уроки

Level of difficultyEasy
Reading time8 min
Views3.9K


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

Мы хотели проверить, что будет, если совместить игру-песочницу с образовательным контентом. Сможем ли мы научить ребёнка языку так, чтобы он этого даже не заметил? Примерно так, как дети учат первый язык в жизни: взаимодействуя со средой, слушая взрослых и решая свои собственные детские задачи в стиле «если я хочу получить что-то, мне нужно знать, как это называется».

Мы тестируем игру на целевой аудитории — наших учениках. Родители присылают нам видео и аудиозаписи детских игровых сессий, которые мы анализируем с командой. Кроме эмоциональной подзарядки, мы получаем подтверждение, что режим песочницы попадает прямо в сердечко детской аудитории, а фичи вроде «покорми меня» и «помой меня» — неубиваемая классика, по-прежнему работающая на малышей, хоть пластиковых пупсов заменили цифровые персонажи.

Что касается метрик, то мы работаем над временем сессии и средним временем, которое игроки проводят в игре за неделю. Эти метрики мы считаем опережающими к LT. И если ученики будут много играть и игра сильно увеличит среднее время в неделю, то мы сможем оставить игру бесплатной для наших учеников.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments9

Готовим версионирование API в PHP-фреймворках: разбор способов и работа с организацией кода

Level of difficultyEasy
Reading time13 min
Views8K

Привет! Меня зовут Олег Мифле. В Skyeng работаю над проектом Skypro. В IT я уже больше десяти лет, семь из которых пишу на PHP. За плечами десятки разных проектов: e-commerce, финтех, CRM, а недавно добавился и EdTech. Были и классические фуллстек-проекты, и проекты, где фронтенд и бэкенд «живут» отдельно и коммуницируют друг с другом по API. Боль от отсутствия версионирования я испытал на себе. Хочу поделиться, как избежать проблем, как всё структурировать и организовать.

Обсудим:

• Что такое API.

• Зачем версионировать API и нужно ли вообще.

• Какие способы версионирования существуют и как его организовать — и с точки зрения подходов, и с точки зрения кода.

• Разберёмся, когда избавляться от старой версии или как жить с легаси до конца существования проекта.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments11

Как мы перевели операторов на единую платформу и стали закрывать по 240 тысяч задач в месяц

Reading time11 min
Views4.9K

Так масштабировался сервис с марта 2020. Каждый цвет — группа операторов.

В Skyeng есть несколько отделов, которые сопровождают учеников. Например, отделы, отвечающие за входящую телефонную линию и техподдержку в чате на сайте. Есть группа Awake, работающая с учениками, которые брали перерыв в обучении. Есть группа Quality Control — она проверяет кейсы качества: например, что-то случилось на уроке и ученик оставил жалобу.

Путь обработки задачи для групп операторов одинаковый: взять задачу, выполнить, закрыть. Интерфейс взятия новой задачи идентичен: одна кнопка и большая автоматизация под капотом.

Но так было не всегда. Расскажу, как мы прошли путь от «завязанности» на ручном перетаскивании карточек задач и ручном выставлении приоритетов до единого сервиса, который экономит ресурсы операторов и разработки.

О жизни с внешними сервисами


Для работы с обращениями мы использовали такие системы как Usedesk, Omnidesk и Google Sheets. Это накладывало ограничения:

  • Операторам и менеджерам приходилось вручную создавать задачи. Такая рутина забирала много времени. Ошибиться проще простого.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments0

Как мы делали планшет

Reading time10 min
Views18K

В 2018-м в Skyeng появились онлайн-занятия математикой. Так мы столкнулись с тем, что наша платформа, адаптированная под устный английский, не очень подходила для письменных занятий с дробями, формулами и геометрическими фигурами.

Читать далее
Total votes 133: ↑131 and ↓2+129
Comments84

7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь)

Reading time12 min
Views21K
image

Привет, меня зовут Иван, я работаю руководителем горизонтали автоматизаторов в Skyeng. Занимаюсь менеджментом ресурсов автоматизаторов, внедряю процессы, которые упрощают работу ребят, пишу инструменты для команды (слак-бот, всякие интеграции с TMS и др.), менторю начинающих автоматизаторов и, иногда, пишу авто-тесты.


Ручные тестировщики и начинающие автоматизаторы из компании часто спрашивают у меня, как им определиться с дальнейшим развитием. Я выделил 7 проблем, с которыми сталкивался сам, постарался рассказать, как боролся с ними и как можно обратить некоторые из своих слабых сторон на пользу себе и окружающим. Учиться на своих ошибках — хорошо, а на чужих — еще лучше. Надеюсь, мой рассказ поможет вам пойти вторым путем :)

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments14

Как мы добавили букву “Э” в документооборот Skyeng

Reading time8 min
Views3.6K

Знакома ситуация, когда работа с документами в компании превращается в игру "Что? Где? Когда?" с непредсказуемым результатом? Внедрение электронного документооборота (ЭДО) раньше, чем бумажные процессы начнут тормозить бизнес - не самая тривиальная задача. А в условиях карантина и тотальной "удаленки" сотрудников она становится гипер-сложной!

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments3

Люди не меняют свою жизнь, потому что в глубине души знают — они фиговые специалисты

Reading time4 min
Views44K

Сколько людей в стране не любят свою работу и вообще ненавидят свою жизнь? Три года назад мне в руки попало одно очень занятное исследование Google: Barriers, motives & triggers of entrepreneurship. Три тысячи респондентов, очищенная выборка, больше ста российских городов, интервью дольше 20 минут. Там были несколько чисел, которые меня, мягко говоря, ошеломили.

Читать далее
Total votes 127: ↑84 and ↓43+41
Comments250

Как писать тесты, трейты vs ООП, разговоры про DevOps, KPHP и Go — превью большого PHP-митапа

Reading time4 min
Views3.1K

Привет! 15 мая мы проведем митап в смешанном формате: ты сможешь подключиться к ютуб-трансляции и задать вопрос текстом или голосом, а если ты в Казани или рядом - приходи в “Штаб”. Ребята из Skyeng расскажут, как и зачем допиливать Codeception, чтобы больше радоваться. Ребята из VK - как превратить PHP-скрипты в статические бинарники. Ребята из iSpring - как внедряли DevOps без Docker и Kubernetes. Ребята из FindMyKids - как переписали нагруженный сервис. Ну а автор Laravel Idea Адель Файзрахманов поднимет холиварную тему про трейты.  

Мы попросили докладчиков оценить темы друг друга и чуть больше рассказать о своем опыте.

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments0

Техники обратной связи для тимлида: разбор с примерами

Reading time7 min
Views39K

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

Но на практике, мы не всегда умеем. Боимся испортить отношения с теми, кто круто перформит, но не очень софтскилловый. Возможно, как-то выдали критику и она сработала не в ту сторону. Я изучил порядка 30 моделей, выбрал самые, на мой взгляд, понятные - о них и пойдет речь. 

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments34

Говорим, как структурировать код

Reading time3 min
Views5.2K

Привет! В эту субботу PHP-чат Нижнего Новгорода проведет свой четвертый офлайн-митап с интерактивной трансляцией. Доклады подготовят Валентин Удальцов из Москвы и Денис Юрьев из Новосибирска. Записаться на митап можно здесь, поставить колокольчик под трансляцией — здесь. Те, кто будут смотреть онлайн, смогут задать вопросы текстом или голосом прямо из браузера.

А под катом небольшое интервью с докладчиками про то, что не вошло в их выступления.

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments0

Как я на коленке делал бесплатный курс программирования, о котором мечтал 3 года (и что пошло не так)

Reading time10 min
Views16K

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

Читать далее
Total votes 61: ↑56 and ↓5+51
Comments27

Как дойти до CQRS, если у тебя PHP

Reading time8 min
Views8.4K

Недавно я посмотрел доклад «Как перестать бояться CQRS». Вроде бы простая идея, но есть нюансы. Так и появился этот выпуск.

CQRS vs CQS (не перепутай)

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments1

Хьюстон, у нас проблемы с интерпретацией ошибок

Reading time8 min
Views6.1K


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


В ожидании комбинаторного взрыва

Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments20

Трассировка и логирование в микросервисах: как мы втаскивали единый стандарт на 30 независимых команд

Reading time6 min
Views14K
Сервисы падали, падают и будут падать

Когда вы быстро растете, микросервисы начинают появляться буквально по щелчку пальцев и в самых неожиданных местах. В таких условиях каждая команда обычно на ходу решает, где, как и какие логи будет складывать. Когда сначала 10, потом 20, а там и более команд логируют по-своему, начинается хаос.



Например, наша команда сопровождения маркетинга в Skyeng знала: пользователь с таким-то айдишником нажал в личном кабинете кнопку «Сменить преподавателя» — постучался в наш сервис, дальше ушло три сообщения, в очереди было 2 вызова сервисов и эти сервисы ответили 200. Но на самом деле, что было у команд сопровождения учителей или биллинга, к которым мы стучались, не знал никто…

Тогда мы придумали инструмент, чтобы маркировать трафик

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments15

Как я помогал делать хакатон в Красной Поляне

Reading time5 min
Views3.4K
В начале марта я взял мотоцикл, вещи — и приехал в Поляну на «постоянную удаленку».



У мотоциклистов своё сообщество — люди легко идут на контакт: подъехал, пообщался, а там — заходишь в кафе, видишь знакомые лица, подсел, еще поговорили. Один из новых знакомых оказался гидом — так что большую часть весны мы гоняли по окрестностям. В общем, карантин прошел мягко) Летом я уехал на Алтай — тоже путешествовать. А когда вернулся…

Здесь зародилось ИТ-сообщество

Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments0

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Works in
Registered
Activity