![прототипы прототипируем прототипы прототипируем](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/594/bba/f4d/594bbaf4d01fd4fd870204359fca17f0.jpeg)
![переговоры переговариваем переговоры переговариваем](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/b19/557/18e/b1955718e9193d7b2a7564351273bff8.jpeg)
![удаленную работу работаем удаленно удаленную работу работаем удаленно](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/48d/206/6fd/48d2066fdc4b3fb4e629d8f7be3f6601.jpeg)
![но офисную работу тоже работаем, когда захотим но офисную работу тоже работаем, когда захотим](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/bcc/cf7/17b/bcccf717bb01632a056c29a911be4d5c.jpeg)
![прототипы прототипируем прототипы прототипируем](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/594/bba/f4d/594bbaf4d01fd4fd870204359fca17f0.jpeg)
![переговоры переговариваем переговоры переговариваем](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/b19/557/18e/b1955718e9193d7b2a7564351273bff8.jpeg)
![удаленную работу работаем удаленно удаленную работу работаем удаленно](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/48d/206/6fd/48d2066fdc4b3fb4e629d8f7be3f6601.jpeg)
![но офисную работу тоже работаем, когда захотим но офисную работу тоже работаем, когда захотим](https://webcf.waybackmachine.org/web/20240711044346im_/https://habrastorage.org/getpro/habr/upload_files/bcc/cf7/17b/bcccf717bb01632a056c29a911be4d5c.jpeg)
Основной язык — PHP. Для хранения используем MySQL/Mongo/Clickhouse, для полнотекстового поиска и фильтрации контента — Sphinx/Manticore, для кэширования — Memcache/Redis, очереди работают на Beanstalk. Реализация: REST API. Много легаси, потихонечку перевариваем.
Современный Хабр это изоморфное Vue.js-приложение с server-side рендерингом. Используем Webpack для сборки приложения и Gitlab CI для его доставки. Критически важная часть покрыта unit и e2e-тестами. Часть логики вынесена в отдельные микросервисы на на Node.js.
Тестирование на Хабре в основном автоматизировано — end-to-end на js-фреймворке Playwright. Новые и сложные фичи тестируем руками.
Стараемся придерживаться принципов гибкой разработки, работаем в джире по канбану, внедряем OKR. Проводим стендапы и ретроспективы. Документация в конфлюенсе. Пробуем разные методики приоритезации задач. Две основные продуктовые команды — Хабра и Хабр Карьеры.