О компании «SmartSites»

О компании

SmartSites - агентство диджитал-маркетинга, основанное в 2011 году в штате Нью-Джерси, США. Мы занимаемся интернет-маркетингом, веб-дизайном, созданием и поддержкой интернет-магазинов, SEO, PPC, хостингом. Реализовали более 900 проектов для более чем 500 клиентов. 

Команда SmartSites состоит из нескольких отделов, базирующихся по всему миру.

США - продажи, хостинг, SEO и PPC;

Россия - аналитика и бэкенд-разработка;

Непал - фронтенд-разработка;

Индия - дизайн;

Сингапур - контент-менеджмент.

 

Компания входит в рейтинг Inc. 5000 самых быстрорастущих компаний за 2017-2020 гг. Является бронзовым партнером Adobe (Magento). Маркетинговый партнер Microsoft, Google, Facebook, HubSpot, Shopify, сертифицированный партнер-эксперт Zapier.

FAQ по отделу бэкенд-разработки

========================================================

Общие вопросы

========================================================

Где вы находитесь?

Физически офис находится в Уфе, часть разработчиков работает удаленно из разных городов России - Бирск, Ульяновск, Екатеринбург, Чита, Новокузнецк.

Возможна ли удаленная работа?

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

График работы?

Большая часть команды работает 8:00 - 17:00 МСК. Желательно иметь 4 часа пересечения с этим временем. Работаем по производственному календарю РФ, 40 часов в неделю.

Как часто пересматривается/индексируется зарплата? 

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

Как рассчитывается зарплата?

Месячный оклад + (Месячная ставка)/(количество рабочих часов в месяце) x (количество затреканных часов). Таким образом, возможная переработка всегда будет оплачена.

Нужен ли опыт работы в сложных/высоконагруженных/т.п. проектах?

Нет.

Надо ли общаться с клиентами?

Нет, этим занимается проджект-менеджер.

Из каких сфер пришли ваши текущие разработчики?

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

Предоставляете обучение?

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

Переработки есть?

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

Предлагаете ли вы релокацию?

Нет.

Вы берете стажеров?

Берем.

Вы рассматриваете работу по ГПХ, с ИП/самозанятыми?

Да.

Вы работаете с иностранными разработчиками?

Нет.

В чем отличие удаленки и офиса?

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

Вы покупаете оборудование удаленщикам?

Это возможно, обсуждается индивидуально после продолжительного сотрудничества.

Какое оборудование стоит в офисе?

Настольные компьютеры с 32 Гб ОЗУ и двумя 24” мониторами. Мышь и клавиатуру разработчик выбирает сам.

Корпоративая культура

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

У вас есть трекинг времени?

Да, подробнее читайте в разделе Трекинг времени.

========================================================

Процесс найма

========================================================

Как проходит процесс найма и собеседования?

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

Процесс проходит примерно так:

 

  1. Вы откликнулись на вакансию.
  2. Если есть причины, по которым мы не можем рассмотреть вашу кандидатуру (например, вы без опыта откликнулись на сеньорскую вакансию), мы присылаем отказ в течение одного рабочего дня.
  3. Если в отклике/резюме нет примера кода на PHP, мы в течение одного рабочего дня связываемся через мессенджеры/почту/телефон и запрашиваем код. Подойдёт тестовое задание, которые вы могли делать для другой компании. Если вы не можете предоставить код, мы предлагаем сделать наше тестовое задание. 
  4. Мы делаем ревью предоставленного кода в течение одного рабочего дня. По результатам даем обратную связь и, в случае успеха, приглашаем на интервью с тимлидом. 
  5. Интервью проводится удаленно через Телеграм, голосом, без видео. Мы обсуждаем код, разные технические и организационные вопросы с обеих сторон. Обсудим ваш предыдущий опыт работы: стек и задачи. На собеседовании не будет вопросов о личной жизни, загадок, олимпиадных задач и психологических тестов. Обычно разговор занимает полчаса, у вас будет возможность задать свои вопросы.
  6. По результатам интервью в течение одного рабочего дня мы присылаем оффер.

 

Как проходит онбординг?

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

Как проходит испытательный срок?

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

========================================================

Технологии

========================================================

С какими технологиями вы работаете?

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

Мы занимаемся только веб-разработкой и наш основной стек это LAMP. Зачастую мы прибегаем к помощи Node.js для сборки и тестирования проектов. 

Часто используется: PHP7, Composer, Ubuntu, CentOS, MariaDB, MySQL, ElasticSearch, Sphinx, GitHub actions, Docker, WordPress, Yii, Magento, Webpack, Gulp, jQuery, RequireJS, Knockout, Cypress.

Реже: PHP5, Node.js, Swagger, SPA, PWA, Gitlab, Ngnix, Jmeter, Selenium, MongoDB, Redis, RabbitMQ, WebSockets, GraphQL, Symfony, Laravel, Drupal, Woocommerce, Angular.

Мы практически никогда не работаем на стеке, связанном с Go, Python, Ruby, .Net, C#, Java.

И не используем: 1C, Bitrix, Joomla, CS-Cart, Opencart, Django, Kubernetes, Ansible, Terraform, Kafka, PostgreSQL, MS SQL, Jira, Travis, Jenkins, CircleCI, Confluence, Slack, SVN, React, Vue.js.

Как проходит процесс разработки отдельной фичи в существующем проекте?

Мы используем GitHub Flow примерно так:

 

  1. Реализуете фичу в отдельной ветке;
  2. Создаете PR в мастер;
  3. При наличии замечаний со стороны CI-системы исправляете их;
  4. Отдаете PR на ревью другому участнику команды проекта;
  5. Обсуждаете/исправляете замечания;
  6. Клиент/проджект-менеджер проверяет фичу на отдельном поддомене дев-сайта;
  7. После одобрения заливки фичи на прод, ведущий разработчик мержит PR в мастер;
  8. Ведущий разработчик деплоит мастер на проду.

 

Почему Magento?

Magento это самый популярный движок для интернет-магазинов в США, сейчас Magento принадлежит Adobe, ранее - eBay. С технической стороны Magento 2 это развитая модульная система со стабильными релизами, свежей документацией и современным подходом к разработке. Тем не менее порог входа в разработку является достаточно высоким, и сертификацию пройти не просто.

Magento использует PHP 7.x, Elasticsearch, RabbitMQ, Redis, Varnish, Composer, RequireJS, Knockout.js, Laminas, Symfony, PSR-(0-4), PHPUnit и т.д.

Можно ли в работать на Windows?

Первое время - да, с помощью виртуальной машины с Линуксом, но настраивать всё придётся самостоятельно. Мы рекомендуем использовать Линукс как основную рабочую систему.

Легаси есть?

Есть проекты на Magento 1, Drupal 7, Zen Cart, кастомные разработки на PHP 5.6. Мы всегда рекомендуем нашим клиентам придерживаться более свежего стека, но не всегда это возможно.


========================================================

Работа

========================================================

Какие хард-скиллы нужны для работы?

Понимание стека веб-технологий - что такое браузер, сайт, интернет-магазин, домен, хостинг, сервер, панель управления, DNS, SSH, CMS, веб-сервер, СУБД, API, облако. 

Опыт работы с LAMP, git, composer, chrome devtools.

Умение писать и отлаживать код на PHP с использованием современной IDE.

Понимание основных принципов и паттернов ООП - они используются в современных фреймворках.

Это минимум для начала работы, остальные скиллы можно тренировать в процессе.

Какие софт-скиллы нужны для работы?

  • Навык поиска нужной информации
  • Самообучение
  • Внимательность
  • Эффективная удаленная коммуникация
  • Здравый смысл

Какой опыт нужен для работы?

От двух лет работы в коммерческой веб-разработке на PHP. Не обязательно при этом иметь опыт разработки чего-то сложного и высоконагруженного.

Обязанности разработчика?

  • Эстимейтить свои задачи
  • Выполнять и проверять свои задачи
  • Переназначать свои задачи
  • Ревьювить чужой код
  • Писать комментарии по задачам
  • Учиться

Какие задачи обычно стоят перед разработчиком?

Сами задачи зависят от уровня разработчика. Все разработчики занимаются ревью кода.

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

Миддлы разрабатывают полноценные модули, добавляют фичи в существующие модули, расследуют сложные проблемы, деплоят код на проду. 

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

Каковы перспективы карьерного роста?

Вы можете расти и как специалист, и как менеджер. Вся компания стабильно растёт уже несколько лет подряд.  

Надо ли знать JavaScript?

Желательно. Можно изучить в процессе работы.

Верстать надо?

Нет, этим занимается фронтенд-отдел.

========================================================

Внутренние процессы

========================================================

Методология разработки?

Зависит от проекта, но в основном это waterfall. С клиентами мы работаем по системе Time and materials.

Надо ли оценивать задачи?

Да, это входит в рабочее время.

Сколько человек работает над одним проектом?

От двух до четырёх бэкенд-разработчиков. Ещё в проекте участвуют проджект-менеджер, дизайнеры и фронтенд-разработчики.  Какие-то внутренние небольшие проекты может вести один единственный бэкенд-разработчик.

Как устроена команда проекта?

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

Вы пишете тесты?

Мы используем E2E-тесты (Cypress) и юнит-тесты там, где это целесообразно. Стопроцентного покрытия тестами у нас нет. 

Вы проводите рефакторинг?

Только если на это есть какая-то причина типа оптимизации скорости, обеспечения совместимости с другими библиотекам и т.п.

Вы проводите ревью кода?

Да, весь код проходит ревью другими разработчиками.

========================================================

Трекинг времени

========================================================

Что такое трекинг времени?

Трекинг времени это процесс учета времени, потраченного на определенную задачу. Разработчик  в специальном приложении на своем компьютере пишет название задачи, проекта и нажимает кнопку начала работы. Пока он не нажал на кнопку окончания работы, время “трекается” в эту задачу. Таким образом, всегда известно кто, когда и сколько времени потратил на задачу/проект.

Мы используем стороннее приложение timedoctor. Оно записывает в облако сколько времени потрачено на текущую задачу и делает скриншоты раз в 10 минут. Больше никаких данных не собирается. Скриншоты можно удалить самостоятельно через веб-интерфейс. Если забыли включить трекер - можно внести потраченные часы вручную.

Зачем это надо?

Согласно подходу time & materials клиент платит только за время разработчиков, но не за время менеджеров. По итогам месяца клиентам отправляются счета, сгенерированные на основе отчетов трекера (timedoctor). При желании клиент может попросить выгрузку скриншотов, это мы делаем в ручном режиме.

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

Это безопасно?

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

Когда нужно отключать трекер?

Только на обед. За восьмичасовой рабочий день в трекер попадает примерно 8 часов. 

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

Вы решили попить чай, размяться, посмотреть в окно, посмотреть мемы в смартфоне и т.д. - трекинг не отключается. Вы изучаете нужные для текущей задачи материалы - статьи, форумы, документацию, stackoverflow и т.д. - трекинг не отключается. Вы обсуждаете проект с коллегами в телеграме - трекинг не отключается.

Вы так контролируете разработчика? 

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

Вы так не доверяете разработчикам?

Это не является проявлением недоверия (трекер легко обмануть), это издержки подхода time & materials и привлекательный для клиентов маркетинговый ход.

Почему бы просто не записывать примерно потраченное время в табличку?

Мы так пробовали, это оказалось сложнее, чем нажимать на кнопку в приложении.

Что делать, если мне некомфортно работать с трекингом?

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

Востребованные в компании навыки

PHPООПGitSQL

Вакансии компании «SmartSites»

Полный рабочий день · Можно удаленно
от 80 000 до 110 000 ₽
Оценки и отзывы сотрудников о компании «SmartSites»
Пока никто не оценил компанию в 2021 году. Для демонстрации оценки нужно минимум 10 голосов.
Награды компании
У этой компании пока нет наград