Что лучше: узкая специализация или широкий профиль — отвечают эксперты

Нам пришёл вопрос от подписчика:

«Что лучше: иметь более широкие знания или более глубокие?»

Мы обратились за разъяснением к нашим экспертам, а полученные ответы представляем вашему вниманию.

Иван Михеев

Иван Михеев, заместитель технического директора @AGIMA

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

Василий Федосеев

Василий Федосеев, директор «Хобби Центра»

Программист обязан иметь хорошую логику и навыки алгоритмизации. Всё остальное — особенности конкретного языка или фреймворка — можно изучить на практике. Продолжая историю моего опыта общения с программистами, могу отметить, что два лучших разработчика в моей практике (включая девушку) закончили факультет ВМК МГУ, где получили именно фундаментальные знания.

Евгений Чернов

Евгений Чернов, совладелец ParketMe

Для меня однозначной ценностью обладают более глубокие знания. Чем выше специализация, тем круче продукт. Но из программистов с широким пулом знаний получаются прекрасные управленцы.

Александр Павлов

Александр Павлов, ведущий разработчик AndersenLab

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

Андрей Макаров

Андрей Макаров, эксперт IT-конференции «Стачка»

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

Алексей Натекин

Алексей Натекин, Founder, Firekeeper @ DM Labs, Open Data Science

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

Дмитрий Дударев

Дмитрий Дударев, технический директор компании thePSYCHO

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

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на admin@tproger.ru, мы расскажем как это сделать.

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?