Найти тему

Насколько сложно поменять стек разработки?

Моя грубая оценка такая. Выход на тот же уровень производительности в другом стеке в том же направлении, например, беке или фронтенде займет полгода. Что входит в это время?

Самое простое это изучение нового языка. Для опытного разработчика, переход на соседний язык (та же парадигма) довольно простая задача. Пару недель на основы и еще пару месяцев на то, чтобы постичь более сложные концепции, которые будут встречаться в работе. Сюда же можно отнести адаптацию к новым подходам, которые приняты в языке или являются следствием его дизайна. Например в Ruby много метапрограммирования, в Java шаблонов проектирования, в JavaScript асинхронности, а в Go флоу построенного на горутинах.

Дальше идет экосистема. Вот эта часть пожалуй одна из самых сложных, так как количество библиотек и особенностей их использования в каждой экосистеме невообразимое количество. Чем более навороченная экосистема, тем сложнее и дольше будет этот процесс. Например переход на Spring Boot с фреймворков Rails, Django или Laravel это сложное занятие из-за количества компонентов и их глубины. По некоторым типа Spring Security пишут целые книги.

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

Вы меняли стек? Сколько заняло время и откуда куда?
1 минута