Что лучше: узкая специализация или широкий профиль — отвечают эксперты
Программисты часто задаются вопросом: "что лучше: довести свою специализацию до совершенства или изучать другие области и стать специалистом широкого профиля?". На этот вопрос отвечают эксперты.
9К открытий9К показов
Нам пришёл вопрос от подписчика:
Что лучше: иметь более широкие знания или более глубокие?
Мы обратились за разъяснением к нашим экспертам, а полученные ответы представляем вашему вниманию.
Что лучше для программиста: узкая специализация или широкий профиль?
Иван Михеев
заместитель технического директора @AGIMA
Мир digital production сейчас настолько разнообразен, что однозначно на этот вопрос ответить нельзя. Под разные задачи подходят разные специалисты. Существуют задачи, в которых специалисту необходимо понимать принципы работы всех компонентов системы, и тут, естественно, нужен широкий кругозор технологий. Бывают задачи высокой сложности, которые касаются какой-то одной технологии, и в этих случаях нужен узкий специалист. Более того, у нас есть задачи, где требуется специалист широкого профиля с углубленными знаниями по технологиям. В общем, однозначно сказать нельзя. Мы у себя для каждой задачи стараемся подбирать соответствующего специалиста с соответствующим уровнем.
Василий Федосеев
директор «Хобби Центра»
Программист обязан иметь хорошую логику и навыки алгоритмизации. Всё остальное — особенности конкретного языка или фреймворка — можно изучить на практике. Продолжая историю моего опыта общения с программистами, могу отметить, что два лучших разработчика в моей практике (включая девушку) закончили факультет ВМК МГУ, где получили именно фундаментальные знания.
Евгений Чернов
совладелец ParketMe
Для меня однозначной ценностью обладают более глубокие знания. Чем выше специализация, тем круче продукт. Но из программистов с широким пулом знаний получаются прекрасные управленцы.
Александр Павлов
ведущий разработчик AndersenLab
Думаю, что нужны оба типа специалистов. Все зависит от потребностей конкретного проекта и компании. Профессионалы своего дела всегда востребованы, но иметь широкий технический кругозор в смежных областях лишним не будет. Для программиста главное постоянно изучать что-то новое и развиваться. Нужно следовать своим интересам, чтобы программирование доставляло удовольствие.
Андрей Макаров
эксперт IT-конференции «Стачка»
Лучше иметь глубокие знания в одной-двух основных для вас областях и базовые знания еще в нескольких. Это так называемые Т-образные знания. Глубокие знания помогут стать действительно востребованными профессионалом, способным решать сложные задачи в конкретной области. Общие знания остальных дисциплин помогут быстрее понять и решить задачи на стыке областей, помогут находить нестандартные решения задач. Также они помогут с пониманием других людей и общего смысла работы. Хотелось бы также отметить, что кроме технических знаний желательно изучать: управление проектами, эмоциональный интеллект, переговоры, финансы и ораторское искусство. Эти знания помогают, даже если нет желания расти по карьерной лестнице. При их наличии начинаешь лучше понимать происходящее и перестаешь застревать на вещах, не связанных с программированием.
Алексей Натекин
Founder, Firekeeper @ DM Labs, Open Data Science
Говоря о том, что лучше, в анализе данных вопрос стоит по-другому. Ширина и глубина знаний идут рука об руку — разобрался в одном вопросе и сразу появляется множество не менее интересных сопряженных задач и методов. Важно не переусердствовать, ведь во всем разобраться невозможно. В какой-то момент будет достигнута достаточная глубина, и дальше надо будет расширять кругозор и активно следить за происходящим в отрасли. Однако, без этой глубины, понять что происходит будет затруднительно. Самое важное здесь то, что нужно, уметь быстро учиться, переучиваться и осваивать новые методы и технологии. Сейчас прогресс движется очень быстро, и если долго копать одну и ту же тему, то, вылезая наружу, может оказаться, что про нее все уже забыли.
Дмитрий Дударев
технический директор компании thePSYCHO
Набор необходимых программисту знаний зависит от области, в которой он работает. Конечно, если задача состоит в написании программ для встраиваемых систем и устройств на микроконтроллерах, то необходимо иметь знания в области схемотехники и простейшей физики электрических цепей.
Для задач в области управления или моделирования физических процессов необходимо хорошее знание математики.
Я считаю, что, в любом случае, для профессиональной работы необходимо глубокое знание своего языка программирования, общее представление о других языках и как минимум знание математики уровня первого курса. Это позволит найти решение для практически любой поставленной задачи или понять, где это решение искать.
Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на admin@tproger.ru, мы расскажем как это сделать.
9К открытий9К показов