Pull to refresh

Comments 26

Затем на ее основе создается базовый код приложения при помощи генератора gogi.

Это какой-то ваш внутренний тул? Не смог сходу найти его в open source.

Да это наш внутренний инструмент, пока он не доступен в open source.
тоже сначала поддал загубить но по названию понял — точно проприетарный! Гоги же :)
Вызывают сомнения по поводу пунктов 2, 3,4

2 — Человек, хорошо знающий PHP может вполне достаточно быстро по google + man + stackoverflow разобраться с go на уровне чтобы понимать код, и чинить какие-то баги. PHP и go не на столько отличаются, как например переход с go -> haskell.

3 — вам не жалко время непонятно на что тратить? можно же давать какие-то задачи с продакшина. И челоек заодно и с продом будет разбираться.
А говнокод, который по плохому знанию языка должен отсекаться на code review.

Вообще по своему опыту в индустрии могу сказать, что качественный code review очень быстро натаскивает ньюкамера на правильные подходы и требования к коду.
Понимаю, что качественно ревьювить — это долго и нудно, и оно занимает много времени у других, более опытных разработчиков. Но оно того стоит! Это дает очень крутой фидбэк и вливание в процессы.

4 — это решается простенькой статьей на внутренней wiki о особенностях вашей build системы и типичных use-cases.

итого, wiki радел для ньюкамеров + code review + ментор творят чудеса.
Отвечу по индексам:

2 — Стоит помнить, что переход на Go это еще смена парадигмы языка, не достаточно изучить синтаксис и менять foreach на for. Также стоит учитывать наши практики, которые могут отличаться от принятых на stackoverflow =)
3 – Важно понимать, что программисты тоже люди, новое место работы — это стресс. Мы тратим время на комфортную прокачку будущего коллегу без усталости и антидепресантов)
Задачи на «прод» крайне редко охватывают все стороны микросервиса, нам важно чтобы новичок изучил и попробовал как мы делаем сервисы в целом. Знал зачем тот или иной «файлик» присутствует в проекте и на что влияет, имея полную картину проще дополнять и улучшать. Про code review полностью согласен он присутствует на всех этапах и на онбординге тоже, но даже самое крутое ревью может пропустить bug который будет стоить денег простоя.
4 – Да это и есть простенькая статья на внутреннюю вики. Важно, что новичек потрогает это в безопасном режиме и будет знать базу. В будущем на своих первых деплоях он будет увереннее и конечно не один)

«wiki радел для ньюкамеров + code review + ментор» Все так только на тестовом проекте чтобы снять напряжение с новичка и нагрузку с лида.
Тяжело в учении легко в бою.
Какой же всё-таки колоссальный хайп создали вокруг go ) Не могу поверить, что компания готова тратить столько времени зря
Очередные модные тренды и забивание микроскопом гвоздей. Я помню времена когда «модно» было писать бизнес логику на NodeJS. Слава Богу мне не пришлось поддерживать такие проекты.

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

Не могу сказать что этого стало меньше


он лучше подходит для этого чем NodeJS, который асинхронный по своей природе.

ИМХО, но то что нода аснихронная это наименьший ее недостаток а скорее плюс(как посмотреть).

Go новый инструмент который очень хорошо ложится в парадигму микро сервисной архитектуры. Мы попробовали нам понравилось. Отказались ли мы от PHP и все делаем на Go? Нет. Это просто еще один инструмент.
Раскажите поподробнее, почему основная причина в микросервисной архитектуре? Изолированный сервис идеологически решающий одну (наверное, как правило одну) конкретную задачу может ведь быть написан на чем угодно
Я не называл это основной причиной, но да она весома.
Например, PHP код представляет собой набор текстовых файлов, для исполнения которых необходимо: php, php-fpm, nginx, OS … Это уже немалый такой овер, так как Go сервис это исполняемый файл и нужна только OS при этом достаточно малая ее часть. Контейнеры легче и количество их меньше, поддерживать и масштабировать проще. Да можно писать на C или C++ но уровень вхождения в язык по сравнению с Go достаточно высок, а значит вероятность ошибок больше, тут Go выигрывает потому что проще.
Go не идеален и возможно использовать равные подходы и языки для микро сервисов он оптимальнее, по крайней мере для нас)
Ну если с php сравнивать, то да, значительно лучше в качестве микросервиса, можно было и не минусовать за вопрос))
Для работы микросервиса на PHP не нужен Nginx / PHP-FPM :)
Достаточно интерпретатора на сервере и современного фреймворка вроде Comet:
github.com/gotzmann/comet

По быстродействию и латенси будет скорее всего лучше и быстрее чем Go на базе стандартных библиотек. По удобству поддержки и наглядности кода — сильно выиграет у Golang.
На самом деле, стоит попробовать, и уже не отороваться, эта штука великолепна.

Есть ряд объективных причин, по котороым PHP (за питон не скажу) процессы стоит перевести на Go.

суть
Увидишь — обомлеешь.

Всё зависит от задачи, особенно если принимать во внимание требование к резервированию сервисов

Пробовал, Оторвался с облегчением. Правда никакого менторов не было, код-ревью не было, структуры проекта и/ или фреймворка не было. Десятки решений принято и, вероятно, велосипедов сделано без особого понимания это go-way или пытаюсь Symfony best practices затащить туда где они полностью не уместны

попробовал, не понравилось. как будто на php 4 пишешь.

А объясните почему это время потрачено зря? По различным докладам из интернета складывается впечатление что Го решает задачи бэкэнда эффективнее решений на Python, php, Ruby, с точки зрения ресурсов. Может это все пыль в глаза, расскажите поподробнее почему это не так.

А как ищите таких кандидатов? Точнее интересует как искать подобные вакансии?)

Как правило, мы указываем, что от такого кандидата мы ожидаем «опыт разработки на Go или желание изучать язык", например: job.lamoda.ru/vacancies/senior-go-developer-1
В общем стоит смотреть описания если компания готова к обучению она должна это обозначить.

В названии вакансии что? PHP или Go?

В нашем случае так и называется Go/PHP developer.
А Delivery переписали на Go? Или старичок PHP все еще справляется :)
Delivery не так прост и на Go полностью не перейдет, но нагруженные части уже на Go и прекрасно справляются =)

Спасибо за статью! А не могли бы сказать, сколько времени было потрачено на подготовку материалов для такого онбординга, и сколько человек проходят такой онбординг в месяц или в год?

Конкретного времени создания нет, обычно его дополняют те кто его проходит и лиды время от времени. Проходят его все новобранцы в OnlineShop за прошлый год примерно 10.
Sign up to leave a comment.