Должна ли компания-разработчик программного обеспечения иметь специальную команду для исследований и/или полезных библиотек?

Должна ли компания-разработчик программного обеспечения иметь специальную команду для исследований и/или полезных библиотек?
Должна ли компания-разработчик программного обеспечения иметь специальную команду для исследований и/или полезных библиотек? - cheaousa @ Unsplash

Я работаю в компании, которая делает веб-приложения для различных банков и некоторых небольших электронных магазинов У нас работает около 20 разработчиков и в разработке одновременно находятся 4-5 проектов. Наши команды разработчиков мало взаимодействуют, и многие одинаковые задачи решаются разными способами (от хороших до плохих).

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

Насколько большой должна быть такая команда?

Также должны ли в нем быть постоянные члены, которые обучают других, или люди должны ротироваться?

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

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

Конечно, у органически растущего фреймворка есть и обратная сторона: его внутренняя целостность может быть не слишком хорошей, и он превращается в спагетти. Если ваша команда поддерживает хорошие внутренние связи, то вы можете объединить лучшее из обоих миров: отдельная команда архитекторов, поддерживающая целостность фреймворка, но создающая для реальных потребностей конечных пользователей (разработчиков).


LetsCodeIt, 25 мая 2023 г., 22:41