Обновить
133.57
МойОфис
Экосистема офисных решений
Сначала показывать

Когда-то вас было трое, а потом драйв кончился… Опыт проб и ошибок в мотивации команды от хэда разработки

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.6K

Любой тимлид когда-то был джуном, а многие крепкие команды начинали как стартап на энтузиазме. Пока вас трое-пятеро — всё просто: драйв, мемы, кофе на кухне и общее чувство плеча. Но команда растёт — и вот вместо «давайте быстро созвонимся» появляются OKR, аллхэндсы и три уровня согласований.

Главная задача руководителя при этом не меняется: как замотивировать людей, чтобы им было интересно работать. И, увы, универсальной кнопки не существует — то, что отлично работает в стартапе из десяти человек, не взлетает в корпорации на тысячи. Впрочем, если бы все было так просто...

Меня зовут Антон Дмитриев и я хэд разработки Почтовых систем МойОфис — гибкой системы с почтой, календарем, контактами, задачами и документами. Основное ядро продукта написано на Go, но технологический стек включает Python, C++, JavaScript/TypeScript и React.

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

Читать далее

Подстраиваемся под новые требования Google: переходим на 16 KB memory page (гайд для разработчиков React Native)

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.3K

Ну как, вы уже обновили свои приложения для поддержки новых требований Google? Если нет, то эта статья будет вам особенно полезна =) Напомню, что с 1 ноября 2025 года приложения, таргетирующиеся Android 15 и выше, должны поддерживать 16-килобайтные страницы памяти.

Как вы помните по предыдущим статьям, я работаю в МойОфис в команде разработки мобильной версии высоконагруженного корпоративного мессенджера Squadus (бэкенд на Node.js, NestJS и Meteor, а веб-интерфейс на React). Мы уже успешно перестроились на новые стандарты Google, и поэтому могу компетентно рассказать, что именно требуется, как адаптировать под это React Native-приложение и что делать, если используемая библиотека ещё не успела обновиться.

Читать далее

«Русскоязычных пособий по Lua катастрофически не хватает. Мы решаем эту проблему». Читаем главу о введении в стек

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.5K

Мы в МойОфис любим Lua. И сами активно его используем: в наших редакторах с помощью Lua работают макросы и надстройки. И помогаем разработчикам лучше узнать этот язык — при нашей поддержке вышли уже два издания классного учебника по Lua от Роберту Иерузалимски (кстати, сам автор считает, что этот язык в части задач даже более хорош, чем Си!)

А летом 2025 года мы выпустили целый трёхтомник по Lua. Первый том — новое издание книги Роберту. Второй и третий — вышедшие впервые учебники от Дмитрия Шульгина, старшего тренера по продуктам Учебного центра МойОфис.

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

Читать далее

Как часто вы думаете о Римской империи… (cтатическом анализе кода)

Время на прочтение9 мин
Количество просмотров3.5K

Привет! Нет, вы не ошиблись — это действительно историческая статья. Но не о Риме, а о статическом анализе кода. Хотя... чем он хуже? У него тоже есть свои императоры-родоначальники, войны с багами и даже падения (пожалуйста, не запускайте анализ на некомпилируемом коде).

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

Меня зовут Владислав Столяров, я руководитель команды анализа безопасности продуктов в мультипродуктовой экосистеме МойОфис. Кстати, идея статического анализа напрямую связана с компиляторами (разбор кода, как никак). Поэтому уместно вспомнить, что недавно мы открыли исходный код собственного компилятора tsnative, позволяющего использовать в одном приложении сразу два языка — TypeScript и C++. Скачать и поисследовать можно по ссылке (лицензия Apache 2.0).

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

Читать далее

От «раздражителя» к «гению»: работает ли знаменитый подход Патрика Ленсиони в IT?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.6K

Привет, Хабр! Меня зовут Павел Новиков. Я руковожу группой разработки мобильных редакторов приложения МойОфис Документы. Мы реализуем его на Kotlin и Swift, и всё это – на базе кроссплатформенного C++17-ядра.

Недавно наша команда решила внедрить подход, описанный в книге «6 гениев команды». Она делит рабочие предпочтения на три категории: «гений» — то, что вдохновляет и заряжает энергией, «навык» — то, что получается хорошо, но не приносит особого удовольствия, и «раздражитель» — то, что даётся с трудом и вызывает дискомфорт. Мы адаптировали этот подход под нашу команду и посмотрели, как он работает в реальной разработке. В этой статье расскажу, что получилось и какие выводы мы сделали.

Читать далее

Гонзо-репортаж, русская лингвистика и много плюсов: лучшее из хабраблога МойОфис за 10 лет

Время на прочтение6 мин
Количество просмотров1K

Ветеранам Хабра пора напрячься: время летит слишком быстро... В этом году нашему корпоративному блогу стукнуло 10 лет! За это время мы исследовали мир айтишки через самые разные сферы: от киберспорта и «фантазий о будущем» до классических технических «заглядываний под капот» с сотнями строк кода.

В честь юбилея вспоминаем 10 лучших (по версии редакции) текстов — по одному на каждый год. Это статьи, без которых невозможно представить нас как команду и блог.

Читать далее

Заходят как-то кардиолог, воспитатель и тренер в IT. Как non-tech бэкграунд помогает спецам сегодня

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.7K

Хабравчане, вопрос: а чем вы занимались прежде чем попасть в IT? Сразу попали в эту сферу, начиная с техвуза, или, может, несколько раз кардинально меняли род деятельности? (Это нативный призыв написать свою историю в комментариях, если что :)). За последние годы гибкость в переходе в индустрию стала уже настоящим мемом (хейтерам онлайн-курсов приготовиться).

Например, в «МойОфис» спецов с нетипичным бэкграундом не так уж и мало: тут и кардиологи, и спортивные тренеры, и даже детские воспитатели!

Мы пообщались с некоторыми из них и убедились: профессиональный (и не только) бэкграунд, вне зависимости от его сути, может влиять на рабочие процессы и позволяет по-другому посмотреть на свои задачи.

Читать далее

Маршрут перестроен: исповедь лида о том, куда расти дальше (и всегда ли расти)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

Я лид команды – и хочу идти дальше вверх! Точнее, не уверен, что хочу, но в айтишке надо ведь расти и развиваться, значит, следующая позиция для меня — менеджмент на уровень выше. Или нет?

Как пробиться на новый уровень, если компания нанимает на руководящие позиции извне? На чём фокусироваться? Как перестать скучать по разработке? А может, к ней надо вернуться?

Знакомы такие рассуждения? Тогда эта статья для вас:)

Меня зовут Максим Шульга, я руководитель департамента разработки Документы Онлайн в МойОфис. Наша команда работает с современными стеками: высоконагруженные бэкенды на Java и Python, фронтенд на React и TypeScript и другие.

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

Читать далее

Три совета, как не выучить C++ за 21 день (субъективный гайд с дополнениями)

Время на прочтение6 мин
Количество просмотров24K

Типичная проблема новичков при изучении языка программирования — они тонут в море учебных материалов. Интернет предлагает тонны статей, курсов и книг по C++, но как выбрать действительно стоящие?

Меня зовут Владислав Столяров, я руководитель команды анализа безопасности продуктов в мультипродуктовой экосистеме МойОфис. Наши решения — Документы Настольные и Документы Онлайн — во многом работают благодаря C++, так что мне есть чем поделиться. В этой статье расскажу, что делать, если вы вдруг решили залететь в плюсы, но уже чувствуете, как накрывает экзистенциальный кризис от обилия информации.

Читать далее

Как выжить в мире сложных интерфейсов в 2025-м: 7 работающих рецептов от React и CSS до дизайн-систем

Время на прочтение9 мин
Количество просмотров7.9K

Как говорил дядя Бен, большие продукты — это большая ответственность. И без сложных интерфейсов тут никуда: а с ними и исследования становятся труднее, и встречается больше препятствий на этапе кода — от нюансов реактивного программирования до риска утонуть в разнообразии CSS-спецификаций.

Для МойОфис как мультипродуктовой экосистемы со сквозными сценариями — все эти вопросы очень актуальны! Поэтому на прошлой неделе JS-еры, дизайнеры и UX-исследователи нашей и других компаний собрались на митапе под названием Frontend&UX Talks, чтобы обсудить эти и другие проблемы современного веба. Получилось интересно, драйвово и даже сказочно! (и я в прямом смысле этого слова :-))

Под катом расскажем в 7 тезисах, к каким выводам пришли и как именно: поехали!

О фронтенде в 2025-м году мы поняли, что...

Понятный и простой код — куда важнее, чем кажется

Примитивы это сказка! (причем буквально...)

Реактивное программирование актуальное и удобное! Но не для всех...

Следить за CSS обновлениями каждый квартал – базовый минимум

Темизация это нелегко, но есть лазейки!

Редизайны продуктов – это не страшно! (ну почти...)

За сложными интерфейсами – глаз да глаз...

Читать далее

BA + UX: смешать, но не взбалтывать. Как мы объединили дизайн и аналитику на примере очень запутанной фичи

Время на прочтение7 мин
Количество просмотров3.8K

Хоттейк: важная проблема работы с UX – нехватка коллективных процессов. Например, аналитики ставят задачи на реализацию интерфейсов без вовлечения дизайнеров, а команды работают изолированно, перебрасывая этапы по цепочке. Такой подход приводит к потере контекста, нестыковкам и лишним итерациям.

Но есть альтернатива — совместная работа над дизайном и аналитикой с самого начала, включая конкретные этапы исследований (подготовка гайда, интервью и тд). Спойлер: мы выбрали этот вариант:)

Меня зовут Света Самойленко, я старший дизайнер-аналитик пользовательского взаимодействия и лид пользовательских исследований в настольных редакторах МойОфис. Это сложный продукт на кросс-платформенном C++17-ядре (Qt5/QML для десктопов, Kotlin/Swift для мобильных платформ), веб-версия использует TypeScript/React с WASM-компиляцией ядра.

Сегодня расскажу, как мы вместе с бизнес-аналитиком наладили процесс проектирования через исследование — на примере одной (очень запутанной) фичи: фильтрации данных. Под катом разберем, из чего раньше состояла наша коммуникация с аналитиками — и к чему мы в итоге пришли.

Поехали!

React Native тормозит? Проверь эти 8 узких мест в производительности, прежде чем винить фреймворк [ЧЕК-ЛИСТ]

Время на прочтение14 мин
Количество просмотров4.9K

Идея этой статьи родилась во время задушевных разговоров на кухне и за утренним кофе с коллегами. Началось все с вопроса: «Что ты сказал бы себе прошлому, чтобы релизы стали легче, а спринты прекраснее?» Конечно, в тот момент я ничего дельного не ответил, но, кажется, наконец‑то сформулировал идеальную фразу: «Настоящий разработчик, Слав, это не тот, кто с сияющим макбуком и вкусным смузи. Разработчик — тот, кто делает то, что нужно сделать. И в легаси покопаться приходится, и memory leak дебажить, а он всё равно делает, потому что так надо».

Привет, Хабр! Меня зовут Вячеслав Чащухин, я — разработчик в МойОфис. Занимаюсь мобильной версией Squadus — цифрового рабочего пространства для совместной работы и деловых коммуникаций.

Обращаю ваше внимание на то, что эта статья — не инструкция по решению всех проблем. Скорее, чек‑лист причин, которые, по моему мнению, чаще всего приводят к тем или иным проблемам. Поэтому в некоторых пунктах будут ссылки или упоминания возможных решений. Я объединил проблемы по группам. Если вы обнаружили в своем приложении подлагивания или не хотите их обнаружить в будущем, рекомендую пройтись по пунктам :)

Читать далее

Между звездами и строками кода: у космонавтики и IT больше общего, чем вам кажется

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.7K

Как известно, ИТ-индустрия — это не только выпускники условного физтеха и самоучки-ветераны гитхаба. Это еще и те, кто раньше мог работать в сферах, казалось бы, мало связанных с продуктовой разработкой.

В Международный день космоса (21 мая — не путать с 12 апреля, знаменитым Днем космонавтики) мы поговорили с тремя коллегами, которые когда-то изучали орбитальные траектории и даже готовили космонавтов к полетам, а теперь создают цифровую вселенную в МойОфис: мультипродуктовую экосистему со сквозными сценариями. И космический бэкграунд им в этом помогает :)

Скорее ставьте фоном «Белое солнце пустыни» (если вы вдруг не в курсе, то вот откуда пошла эта традиция)...

... и поехали!

Разбираем древо ArangoDB «по веточкам». Подробный гайд по графовой БД

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3K

Давайте честно: совместный доступ к документам — одна из главных «болей» для всех, кто хоть как-то связан с базами данных. Вроде бы оба пользователя могут работать с файлом, но есть один нюанс: например, количество предоставленных доступов может быть больше, чем их есть на самом деле. Или у документа и вовсе появляется несколько владельцев. Для всего этого требуется решение – и мы его нашли!

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

В российских источниках не так много полезной информации по ArangoDB, и наша задача — исправить это недоразумение. Разберем главные нюансы работы с этой системой БД в разработке и тестировании, вспомним ее плюсы, минусы и потенциальные баги. Текст будет полезен как инженерам любых грейдов, которые связаны с работой над базами данных (сил вам...), так и классическим разработчикам продуктов.

Поехали!

Ближайшие события

Разговоры с мамой, остросюжетный роман и дофаминовые ловушки. Что и зачем читать продакту в 2025 году

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.6K

Продакт сегодня – настоящий человек-оркестр из мира IT: он и гипотезы проверит, и бизнес-модель выстроит, и с клиентом общий язык найдет. Понятно, что одной конкретной теоретической базой тут не обойтись: нужны компетенции и знания из разных сфер. И здесь вам помогут книги. Я Катя Ольхова, продакт-менеджер МойОфис Почта и… книжный червь :)

Расскажу про литературу, которая повлияла на развитие моих профессиональных компетенций: впереди и разговоры с мамой, и база по найму «тех самых» спецов, и бизнес-модели, без которых в нашем деле никуда. Одной идеальной книги для продакта нет, поэтому я собрала разноплановую подборку (есть даже одна художественная книга): от основ для новичков до продвинутых техник для тех, кто хочет прокачать конкретные навыки. Итак…

Что бы мне почитать, если:

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

Нужно детально разобраться, какая бизнес-модель у твоей компании, разрушить ее и построить заново

Хочу понять, как создать продукт, который формирует привычку

Учусь проводить с клиентом качественные интервью: не просто продавать идею, а слышать и понимать потребности собеседника

Необходимо научиться управлять проектами в сжатых сроках

Учусь всегда нанимать нужного человека на горящую позицию

Часто попадаю в конфликтные ситуации на работе и хочу лучше их прорабатывать

Читать далее

(Не)кладбище тикетов: воскрешаем бэклог без шаманов и танцев с бубнами

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.4K

Они копятся в темных уголках бэклога — тикеты, которые никто не решает. Сначала их было десять, потом сто, а через год вы с ужасом понимаете: это уже кладбище. Команда боится туда заглядывать, пользователи злятся, а продукт медленно тонет под грузом нерешенных проблем. Спойлер: чтобы спасти проект, не понадобятся ни святая вода, ни экзорцист. Только системный подход и наши инструкции.

Меня зовут Катя Орешкова, и я работаю над Mailion — корпоративной почтовой системой от компании МойОфис. Основное ядро продукта написано на Go, но в целом технологический стек включает множество языков и технологий: Go, Java, Python, PHP, C++, C# (бэкенд), а также JavaScript/TypeScript с React (фронтенд). Продукт состоит из десятков модулей, предоставляет сотни функций и поддерживает до миллиона пользователей, что требует глубокой проработки архитектуры, разработки и интерфейсов.

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

Читать далее

Rust: объясняем Владение и Субструктурные типы на пальцах

Время на прочтение14 мин
Количество просмотров5.9K

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

Новый перевод от команды МойОфис расскажет вам, как субструктурные типы и система владения в Rust помогают создавать безопасные и эффективные программы. Автор разбирает ключевые теоретические аспекты, выясняет, какие преимущества они предоставляют, и показывает, почему их использование становится неотъемлемой частью разработки современных языков. Вы узнаете, как субструктурные типы помогают обеспечивать безопасность и жизнеспособность программ, а также познакомитесь с идеями и проблемами их внедрения на практике.

Читать далее

Всё, что необходимо (и достаточно) знать о создании пользовательских интерфейсов в расширениях VS Code

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.9K

VS Code сам по себе не нуждается в представлении, однако многие программисты, привыкшие в нём разрабатывать, упускают одну очень полезную вещь. Благодаря встроенным возможностям по разработке расширений можно легко автоматизировать многие рутинные задачи — например, те, что выполняются в командной строке.

В этой статье, второй в серии материалов о нестандартных возможностях VS Code, разберём инструменты для создания интерактивных расширений, которые я применяю в работе над решениями productivity suite платформы МойОфис. Под катом мы рассмотрим веб-панели и их разновидность – веб-представления, а также другие стандартные средства VS Code API, такие, например, как элементы строки состояния (кнопки и сообщения).

Читать далее

Всё, что я узнал о запуске локальных языковых моделей

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров37K

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

В статье подробно разобраны разные виды LLM, их особенности и сценарии использования. Какие модели лучше подходят для программирования? Какие эффективнее справляются с переводами, генерацией текста или анализом больших объемов данных? Автор статьи Chris Wellons* протестировал популярные открытые модели — Mistral, Qwen, DeepSeek-Coder, Mixtral, Llama 3.1 и другие, — чтобы понять их сильные и слабые стороны. Также автор делится опытом и практическими советами, которые помогут вам запустить и использовать LLM на собственном оборудовании. Хотите разобраться, какую модель выбрать под свои задачи и как эффективно запустить её на локальном оборудовании? Тогда приступим!

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Самый странный лексический синтаксис, который я обнаружила, исследовав 42 языка программирования

Время на прочтение13 мин
Количество просмотров26K

Программирование — это не только алгоритмы и логика, но и удивительное разнообразие синтаксиса языков. Работая над новым средством подсветки синтаксиса для llamafile, разработчик Justine Tunney* исследовала 42 языка программирования — от классического C и экзотического Tcl до мощного Ruby. 

Justine делится своими открытиями о том, насколько причудливым и непредсказуемым может быть лексический синтаксис. Например, триграфы в C — устаревший инструмент для поддержки клавиатур с ограниченными символами, фиксированные длины строк в FORTRAN, вложенные комментарии в Haskell или строки с двойными квадратными скобками в Lua. Ruby вообще оказался чуть ли не самым сложным языком для подсветки из-за его контекстно-зависимого синтаксиса.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее
1
23 ...

Информация

Сайт
myoffice.ru
Дата регистрации
Дата основания
2013
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
vvanomad