Skip to content

Commit

Permalink
vacancy
Browse files Browse the repository at this point in the history
  • Loading branch information
3y3 committed Feb 16, 2024
1 parent f2fa6bd commit f52fba7
Show file tree
Hide file tree
Showing 6 changed files with 177 additions and 0 deletions.
1 change: 1 addition & 0 deletions ru/_images/camera.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ru/_images/highload.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ru/_images/subbotnik.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions ru/presets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
default:
algorithms: |
- Массив - и его отличие от списков
- Связный список - и его реализации на js
- Двусвязный список - и где его применяют
- Hash-map - почему эффективен
- Дерево, бинарное дерево, AST - красно-черные не нужны, мы про другое
servers: |
- NodeJS - основная среда исполнения кода
- S3/S3 API - хранилище контента
- PostgreSQL - хранилище пользовательских данных
- OpenSearch/ElasticSearch - индекс по документациям
- Redis - кеширование серверных ответов
- Kubernetes/Kubernetes like - управление контейнерами
- Terraform + Helm - автоматическое разворачивание инсталяции, автоматический деплой
- ALB/API Gateway/Nginx - балансеры
- Serverless - внутренние задачи инсталяции
5 changes: 5 additions & 0 deletions ru/toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,8 @@ items:
href: contribution.md
- name: Релизы YFM
href: changelog.md
- name: Вакансии
hidden: true
items:
- name: Старший разработчик
href: vacancy.md
153 changes: 153 additions & 0 deletions ru/vacancy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# Веб-разработчик в Платформу документации

<style>
.photo {
padding: 4px 8px;
border: solid 1px #555;
border-radius: 20px;
}
.photo i {
border: none;
}
.photo svg {
width: 20px;
}
</style>

## Специфика нашей работы

Мы занимаемся разработкой программной платформы документации в парадигме [documentation as a code](https://yandex.ru/search/?text=documentation+as+a+code&clid=1955453&win=547&lr=2).

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

На нешей платформе создана вся документация [Облака](https://cloud.yandex.ru/ru/docs), [Diplodoc](https://diplodoc.com/docs/ru/), страница, которую вы сейчас читаете, и много других продуктов, которые вы пока не сможете увидеть.

Концепция documentation as a code предполагает, что написание документов следует **[принципам написания кода](*documentation-as-a-code-rules)**, целью которых является создание четкой структуры для легкого понимания и чтения.

### Минимум верстки

В плане интерфейса документация - простой сервис.

Основные интерфейсные компоненты мы берем из open source библиотеки [@gravity-ui/uikit](https://gravity-ui.com/libraries/uikit).

Для сложного пользовательского контента мы предоставляем интеграцию с [@gravity-ui/page-constructor](https://gravity-ui.com/libraries/page-constructor).

### Максимум логики

Большая часть нашей работы связана с процессингом текстов, расширением синтаксических [конструкций маркдауна](https://github.com/diplodoc-platform/transform/blob/master/src/transform/plugins/table/index.ts), созданием новых [расширений](https://github.com/diplodoc-platform/mermaid-extension) для платформы.

Важно не теряться в инкрементах циклов, не создавать излишней вложенности. умело выбирать **[структуры данных](*data-structures)**.

### Сервера{#servers}

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

Основные технологии с которыми мы работаем на серверах:
{{servers}}

Со всеми перечисленными технологиями мы работаем лично. Следим за стабильностью серверов. Прорабатываем архитектуру. Выстраиваем процессы для обеспечения стабильности.

{% note info %}

Суммарно на наши сервера заходит больше одного миллиона уникальных пользователей в день.

{% endnote %}

{% note warning %}

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

{% endnote %}

### OpenSource

Большая часть нашей платформы [размещена в open source](https://github.com/diplodoc-platform/diplodoc).

Поддержка open source является важной частью нашей ежедневной работы:

- Общение в issues и pull requests в GitHub на русском и преимущественно английском языке.
- Презентация/продвижение продукта на разных **![i](./_images/camera.svg) [конференциях](*conference)**{.photo} и **![i](./_images/camera.svg) [митапах](*meetup)**{.photo}.
- Разработка продукта не под конкретную компанию, а под совокупный опыт/ожидания сообщества.

## Ожидания от кандидата

Мы ожидаем что вы уже знаете или вам было бы **интересно** быcтро изучить:

{% cut "Алгоритмы и структуры данных" %}

Ничего экзотического не требуется. Но в базовых нужно разбираться хорошо. Умело их применять.

{{algorithms}}

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

Потому что мы разбираем тексты на кусочки, а потом собираем из них что-нибудь новое и прекрасное.

{% endcut %}

{% cut "Серверные архитектуры" %}

{{servers}}

Потому что [мы много работаем с серверами](#servers)

{% endcut %}

{% cut "Форматы" %}

**CommonMark** спецификаци маркдауна.

**GitHub Flavored Markdown** спецификаци маркдауна.

**JSONSchema** - работаем со схемами чаще среднестатистического разработчика

{% endcut %}

{% cut "Open Source технологии" %}

**Git** - чуть глубже чем просто создание коммитов. Мы используем его на программном уровне.

**GitHub** - так же глубоко интегрирован в наш продукт. Пишем gh-actions, gh-extensions дл внешних потребителей платформы документации.

**Webpack** - на уровне написани собственных плагинов.

{% endcut %}

{% cut "Литература" %}

Мы будем лучше друг друга понимать, если вы уже читали:

**Чистый код** Роберта Мартина

**Чистая архитектура** Роберта Мартина

**Site Reliability Engineering** Бетси Бейер и др.

{% endcut %}

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


[*documentation-as-a-code-rules]:
- **DRY (Don’t Repeat Yourself)**: важно избегать дублирования информации в документах.
- **KISS (Keep It Simple, Stupid)**: необходимо избегать ненужной сложности и стремиться к простоте изложения информации.
- **SRP (Single Responsibility Principle)**: каждый блок документации должен быть ответственным только за одну часть функциональности для сохранения четкости. структуры.
- **SLAP (Single Level of Abstraction Principle)**: необходимо разбивать большие документы на уровни абстракции и делать для каждого уровня отдельные лаконичные документы.
- **LoD (Law of Demeter)**: необходимо делать ссылки только на релевантные документы.
- Система ориентирована на пользователя, в ней ценятся не только читаемость, но и визуальная составляющая. Поэтому использование визуальных средств, таких как диаграммы, графики и видеоруководства, также становятся все более важными.
- **Проверка качества**: система предполагает единый стиль кодирования, включая структуру текста, отступы, пробелы и т.д. для облегчения понимания.
- **Версионирование**: система интегрирована с популярными vcs.
- **Локализация**: система доступна пользователям на нескольких языках. Это обеспечивается интеграцией с [автоматическими](https://cloud.yandex.ru/ru/docs/translate/?from=int-console-empty-state) и [полу-автоматическими](https://ru.smartcat.com/) сервисами перевода.
- **Доступность**: система доступна плохо видящим пользователям.

[*data-structures]:
{{algorithms}}

[*meetup]:
![i](./_images/subbotnik.jpg)

[*conference]:
![i](./_images/highload.png)

0 comments on commit f52fba7

Please sign in to comment.