Как мы работаем в Productbox.

Productbox — инженерная студия, основанная в мае 2019 года. Культура и окружающая среда всегда играют важную роль в развитии каждого. Если инженер решил присоединиться к нам, мы должны убедиться, что он идет в ногу с современными тенденциями, и его время стоит потраченного времени.

Наши ценности

Общение
 –
Общайтесь открыто и делитесь информацией.
 – Ищите и давайте отзывы.
 – Поддерживайте друг друга и участвуйте в ретроспективах, чтобы повысить общую эффективность команды.< br /> - Помогите новым инженерам быстро освоиться.

Гордость за свою работу
. Возьмите на себя полную ответственность за продукты, которые вы разрабатываете.
 – Создавайте удобочитаемый, простой для понимания код, подкрепленный тестовыми примерами.
 – Ставьте четкие обязательства, стремитесь к их выполнению и своевременно и часто сообщайте о проблемах.
 – Признайте, что PR — это возможность научить , изучайте и делитесь, а не как резиновый штамп.

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

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

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

Коммиты
— Ежедневно коммитьте свой код. День без фиксации - день потраченный впустую.
— Пишите осмысленные сообщения с коммитами.
— Объясните изменения в описании созданного вами PR.

Наш технический стек

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

Веб-интерфейс: React.js , Angular и Vue.js
База данных: Express.js
Язык интерфейса: Node.js
Мобильные устройства: React Native, Flutter или Swift
База данных: MySQL / NoSQL
Облачные сервисы: AWS
ORM: Sequelize.js

Так что это в основном Javascript с несколькими другими фреймворками!

Как мы координируем

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

Slack
Многие обсуждения, даже если они начинаются устно в офисе, намеренно переносятся в Slack.

Увеличить
«Увеличить?» должно быть наиболее используемым словом на слабину. Мы координируем работу с партнерами/клиентами и между собой.

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

Календари Google
Мы сохраняем порядок, регистрируя наши события и обязательства с другими в Календаре. Это помогает обеим сторонам.

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

Гибкость
Работая с партнерами в разных часовых поясах, мы гибко подходим к нашим инженерам. Они могут работать из дома, если у них есть какие-то личные дела или они плохо себя чувствуют. Пока вы получаете поставленные перед вами задачи, у нас все готово!

PR:

JIRA и Github идут рука об руку. Для каждого тикета может быть один или несколько запросов на включение. Проверка кода — это норма, и мы любим это делать. Это не только позволяет нам иметь вторую пару глаз на написанный код и избавляет нас от некоторых действительно серьезных проблем, но также помогает нам многому научиться у других инженеров. Обзоры кода в основном предназначены не для проверки того, является ли код чистым и аккуратным, а иногда просто для того, чтобы узнать что-то от другого инженера, поэтому для утверждения PR вам нужен один утвержденный рецензент, и это вполне может быть ваш младший сотрудник. Для идеального PR нам нужно увидеть массу значимых коммитов.

Некоторые вещи, которые мы учитываем при рассмотрении PR:
1. Будьте милыми, все здесь, чтобы учиться и стать частью волшебства, каждый делает все возможное.
2. Не просто оставляйте комментарии, лучше оставляйте фрагменты кода.
3. Самопроверка. Убедитесь, что написанный вами код идеально подходит для вас. Не оставляйте такие вещи, как «console.logs».
4. Просмотрите более крупные PR с инженером рядом с вами, протестируйте его на своей системе.
5. Не сливайте свой PR.
6. Подкрепите его тест-кейсами, linting и красивее.

И это в значительной степени подводит итог общей картине процессов, которые у нас есть.