То, какую сторону вы займете, во многом зависит от среды, в которой сформировался ваш опыт. Хотя и считается, что все технические директора склонны выбирать разработку, возможны разные варианты:
• Сторонники покупки. У таких CTO мало или совсем нет опыта управления командой разработчиков, и они считают, что потери в функциональности и гибкости более чем компенсируются стабильностью платформы.
• Сторонники разработки. Эти CTO имеют опыт управления командами разработчиков и знают, как создавать продукты под конкретные задачи. Обычно их раздражает негибкость больших готовых решений.
Успешные технические директора знают, как взять все лучшее из обоих миров, ничего не исключая и подробно изучая каждый вариант.
Заметки с полей
Создание систем уровня предприятия
При проектировании крупных систем я начинаю с предположения, что абсолютно все компоненты будут разрабатываться. Пока я не принимаю конкретных решений, но исхожу именно из этого, поскольку мне необходимо разбить каждую проблему на части, с которыми можно будет работать. Когда я узна́ю требования к каждой области, туман начнет рассеиваться и станет понятно, какие компоненты можно купить.
Мир не черно-белый – всегда есть оттенки, которые всё усложняют. В частности, существуют своего рода гибридные платформы, например Salesforce, включающая целую экосистему готовых компонентов, которая удовлетворяет потребности большинства организаций. Но помимо этого она предлагает полноценную среду для создания вашего собственного кода, а он может составлять значительную часть проекта.
Главное правило оценки таких решений возвращает нас к зависимости от поставщика, о которой мы говорили ранее: если вы не можете взять свой код, перенести его на другую платформу и запустить там, вы отдаете себя на милость поставщика и успешность вашей работы будет зависеть от него. Если у него случится сбой или все станет работать медленнее – вы ничего не сможете с этим сделать и вам останется только ждать.