Это дилемма, о которой я долго думал.
Я аспирант, и меня интересуют темы разработки языка программирования, анализа кода, компиляции и т. Д. До сих пор эта область была очень интересной и полезной для меня, поэтому я думал о поиске работы в этой области и продолжаю специализироваться на этом. Я чувствую, что это относительно прочное поле, которое не выйдет из моды в ближайшее время. Я всегда думал, что в таких сложных областях лучше быть настоящим экспертом, чем просто другим парнем, который поверхностно понимает, о чем говорят эксперты.
С другой стороны, я чувствую, что, специализируясь таким образом, я действительно ограничиваю свой выбор в будущем. Я всегда твердо верил в междисциплинарные подходы к проблемам. Может быть, мне стоит поискать общую работу по программированию, в которой я мог бы получить опыт в других областях, а также иногда применять свою любимую область для решения проблем. Специализация только в одной или двух областях может помешать мне мыслить нестандартно и вызвать застой.
Мне бы очень хотелось услышать больше мнений об этом выборе. Правда в том, что я уже склоняюсь к одному из вариантов, поэтому базовая психология говорит, что ничто не изменит мое мнение, но я все равно хотел бы услышать некоторые отзывы.
Ответы:
Специализируйся, если тебе это нравится
Как вам известно, если вы специализируетесь, вы автоматически несете альтернативные издержки, связанные с тем, что вы не будете иметь непосредственного права на использование других технологий (например, программисты на Java не сразу сразу принимаются на работу по оптимизации компилятора). Тем не менее, вы должны сбалансировать это с вашей любовью к сложности, присущей выбранной вами дисциплине.
Вы говорите, что хотите быть экспертом - продолжайте и потратьте время, чтобы изучить выбранную вами дисциплину. Нам как сообществу всегда нужны новые эксперты. Тем не менее, мой совет - следовать прагматичной рекомендации программиста «Учите новый язык каждый год» . Таким образом, в то время как вы занимаетесь глубоким лексическим анализом алгоритмического кодирования, вы также можете создавать небольшое приложение для iPhone, которое вас заинтересует. Вы никогда не знаете, что перекрестная пыльца различных парадигм может дать вам некоторое понимание, которое расширит вашу специализацию в новых областях.
источник
Я думаю, это зависит от того, что вы хотите от своей карьеры ...
На техническом уровне : быть мастером на все руки означает, что вы можете подать заявку на более широкий выбор ролей, чем кто-то, кто чрезвычайно специализирован. Если вы хотите адаптироваться, двигаться и не привязываться к определенной нише, это, вероятно, не так уж плохо. Однако недостатком является то, что вы, вероятно, будете ограничены относительно младшим / промежуточным уровнем ролей, если вы не углубитесь в конкретную область.
Специализация в данной области в значительной степени противоположна вышесказанному. Скорее всего, вы сможете получить более высокий статус и доход (если вы, конечно, находитесь в хорошей нише с высоким спросом), но вы, вероятно, в значительной степени попадете в эту специальность.
Таким образом, в широком смысле, эти два варианта на техническом уровне.
На политическом уровне : если вы говорите о «карьерном росте» с точки зрения перехода к менеджменту и тому подобному, то, как правило, не имеет значения, что вы делаете технически. Практически все, кого я знаю, кто перешел в управление с должности программиста, сделали это, хорошо познакомившись с людьми и бизнес-процессами в своей организации. Некоторые были специалистами, а некоторые - универсалами (с точки зрения технологии, с которой они работали), - но ВСЕ были очень глубоко укоренились в организации, хорошо знали людей и процессы, и для них просто стало логичным начинать владеть этими обязанностями.
Таким образом, в базовом смысле, если вы хотите продвинуться по карьерной лестнице с точки зрения продвижения вверх по иерархии управления, все дело в политике. Быть универсалом против специалиста не так уж важно (возможно, стать специалистом по процессам и технологиям, которыми вы будете управлять).
источник
Прежде всего, объявления о работе часто преувеличивают количество требуемой специализации. Ни одна компания не помещает «нам нужен парень, который немного знает о Javascript, потому что мы ничего не знаем» в публикации вакансий; они поместили туда «эксперта по JavaScript», потому что при прочих равных они хотели бы найти кого-то, кто на самом деле был экспертом. Это не обязательно означает, что только специалисты имеют право на то, что нужно этой компании в Javascript (и вы удивитесь, как часто они даже не знают, что им нужно). Так что не слишком переживайте за то, чтобы быть «экспертом»; подать заявку на работу, где вы знакомы с навыками, о которых рекламируют, и посмотреть, как идут дела на собеседовании. Быть хорошим на работе - это гораздо больше, чем просто сколько лет [вставить язык] у тебя за плечами. И если работа полезна,
Это о "получении" работы; для того, чтобы "сохранить" работу, быть JOAT может быть изумительным. Если ваша компания начнет изучать разные языки и платформы, вы будете впереди игры. Если вашей компании, основанной на MS, вдруг для чего-то понадобится парень из UNIX, вы станете их помощником (будь то парень или управляющий наймом «эксперта»). Сохранять работу - значит быть незаменимым, что бы ни случилось, и JOAT - хороший способ быть этим парнем.
Плюс, это делает получение новой работы, когда вашей компании становится намного легче :)
источник
Ну да и нет. Проблема в том, что ты никогда не будешь рок-звездой. Вы никогда не будете тем парнем, который может делать вещи с C, которые никто другой не может делать. Ваше отсутствие сосредоточенности исключает такого рода превосходство.
С другой стороны, когда руководство решит, что не может позволить себе кучу программистов, они не уволят вас , чтобы удержать его . Гибкость имеет свои преимущества.
Я Джек, и в моем отделе за последние 4 года произошло сокращение на 80%. И все же я здесь. Отчасти это потому, что я более сфокусирован, чем большинство. Мне нравится, когда мне вручают задание, о котором я ничего не знаю, а моим боссам нравится то, что я говорю "Конечно!" независимо от того, какое странное задницу они придумали. И, когда вы понимаете общую картину, это своего рода скала, которой большинство специалистов никогда не достигают, и это может быть выгодно.
Итак, если вы хотите стать рок-звездой, вам нужно сосредоточиться, потому что никто не может быть лучше всех во всем. Но если вы ищете стабильность, выбирайте гибкость, потому что быть гибким является более востребованным, чем плохая задница.
источник
Generalist vs. Specialist - статья CIO.com, но, вероятно, существуют десятки похожих статей или сообщений в блогах людей, пытающихся понять, лучше ли одно, чем другое. У каждого есть свои преимущества и недостатки. Любой, кто хочет сказать, что одно полностью превосходит другого, вполне может быть в какой-то степени предвзятым.
Не забывайте, что с каждой стороны по вашему выбору существует иллюзия. То, что вы видите как специализацию, может иметь различные вкусы. Например, считаете ли вы веб-разработчиков в целом специалистами или универсалами? Кто-то может увидеть это как специализацию, а кто-то еще может считать ее достаточно широкой, поскольку многие веб-приложения в наши дни могут иметь всевозможные компоненты, которые могут в некоторой степени требовать различного опыта.
Хотя перечисленные вами области могут заставить меня думать, что вы хотите работать в софтверной компании, могут существовать некоторые части информационных технологий, которые могут каким-то образом использовать подобные навыки. Вы могли бы узнать, сколько настроек выполняется для различных готовых программ, чтобы заставить их работать, и насколько хорошо это вложение для большинства компаний, чтобы привести пример с рук.
источник
Помнить. Ваше будущее простирается на десятилетия.
Нынешняя технология значительно угаснет по мере появления новых возможностей.
Специализация не приносит никакого вреда.
Я начал специализироваться на штамповке бумажных карт для написания программ на языке COBOL. Теперь я пишу на Python и не трогал перфорированную бумажную карточку десятилетиями.
Технология приходит и уходит. То, на чем вы сейчас специализируетесь, исчезнет через десять лет, и вы будете специализироваться на чем-то другом. Или вы устареете.
Беспокоиться об «опыте в других областях» - пустая трата времени. Вы получите этот опыт, хотите вы этого или нет.
источник
Это зависит от вашей карьеры. Я думаю, что это должно помочь вашей карьере, если вы хотите стать генеральным консультантом, начать свой собственный бизнес, работать в небольшом бизнесе или в любой другой ситуации, когда такой тип гибкости является признанным активом. Я нахожусь в той же ситуации, и в настоящее время работаю консультантом, хотя я преследую специализацию в .NET / C # / SQL / ASP.
Да, я думаю, вы могли бы искать малые предприятия, которые не могут нанять кого-то для каждой области специализации, или быть консультантом.
(Также неплохо выбрать область, в которой вы будете специализироваться, в дополнение к сохранению ваших более общих навыков.)
источник
Когда я нанимаю разработчиков, я склонен к людям, обладающим силой и опытом в тех навыках, которые я ищу. Рекрутеры собираются значительно усилить этот уклон. Это означает, что даже если бы я мог нанять вас (и мне нравятся люди с широкими навыками и хорошими базовыми знаниями, которые могут учиться), я вряд ли когда-либо буду говорить с вами.
Хотя я всегда был мастером на все руки и у меня было много разных должностей в одной компании, где я работал большую часть своей карьеры. Тем не менее, я действительно боюсь, что мне придется искать работу, и я не думаю, что смогу легко получить другую работу с моей нынешней зарплатой (что вполне удовлетворительно, но люди здесь знают меня).
источник
как обычно...
Это зависит
Это зависит от того, что вы подразумеваете под «карьерой». Более того, это зависит от того, что вы думаете под карьерой.
В эти дни я много работаю с веб-приложениями. Когда я начал эту карьеру, всемирной паутины не было. Таким образом, ответ @ Satanicpuppy в значительной степени прав.
Есть четыре преимущества, которые идут с территорией мастера на все руки (JOT):
Основным недостатком является то , что для достижения успеха требуется гораздо больше времени , потому что вы продвигаете кривую обучения по нескольким направлениям.
Являюсь ли я таким же хорошим администратором баз данных, как некоторые друзья, которые ничего не делали, кроме 15 лет? Конечно нет. Могу ли я в мгновение увидеть решения, которые они никогда не представят через две недели? Да.
Я думаю, что лучший совет - продолжать быть JOT, пока не найдете что-то настолько увлекательное, настолько убедительное, что вы захотите сделать это и только это до конца времени. Это «это» будет вашей специальностью.
Мне нравится решать новые, сложные проблемы, искать инновации, чтобы убить мирское, и постоянно учиться - это мое "это", и именно поэтому я люблю ИТ
Быть универсалом - моя карьера.
источник
Я думаю, что одна из причин, по которой компании ищут и ценят специалистов, больше связана с утечками абстракций . Проблема заключается в том, что за последние 30 лет инженеры-программисты увеличивали количество уровней абстракции в геометрической прогрессии, и, насколько нам хотелось бы убедиться в отсутствии побочных эффектов, они всегда возникают. И именно недокументированные идиосинкразии имеют тенденцию вас заводить.
Возможно, вы сможете быстро начать использовать новую технологию, читая спецификации и онлайн-примеры, но когда-нибудь вы замечали, что когда начинаете что-то новое, вы тратите 20% своего времени на написание кода для функции и 80% своего времени, выискивая самую странную ошибку ты когда-нибудь видел? По мере того, как вы становитесь экспертом в одной области, этот рацион меняется с 20/80 на 95/5 (я составляю цифры, но в целом они, вероятно, близки), особенно в этой области. Это означает, что вы можете выполнять работу намного быстрее и избегать ошибок / распространенных ошибок до того, как они произойдут. Например, ранее сегодня один из наших старших инженеров (новичок в команде / продукте) потратил более полдня на поиск проблемы с повреждением стека, на определение которой у меня ушло 5 минут, потому что это случилось с моим домашним газоном.
Становясь экспертом в своей области, вы становитесь более заметным и ценным для руководства. Я не знаю о других компаниях, но в тех, где я работал, ваша компенсация (хотя бы частично) зависит от того, насколько важны ваши обязанности. У JOAT обычно нет постоянных обязанностей. Вместо этого менеджеры используют их как подвижные / взаимозаменяемые ресурсы (наши вице-президенты называют их швейцарскими армейскими ножами), которые можно перемещать из одной команды в другую по требованию. Таким образом, вы можете остаться в компании на 10 лет, а затем оглянуться назад и понять, что вы никогда не брали на себя ни одной ответственности. У меня есть очень хороший друг (который также является отличным разработчиком C ++ / C #, но, как оказалось, он также очень хороший JOAT, потому что он возьмет на себя любую работу), который был приведен в такую роль. Я знаю, что он недоволен, потому что, хотя у меня есть очень значительный и забавный кусок продукта в качестве моей детской площадки, он в основном временный гость на чужой земле. Но теперь он не может выйти из этого.
Сказав это, обладать навыками JOAT одинаково важно, поэтому, хотя я не обязательно буду пытаться позиционировать себя как JOAT, я думаю, что важно продолжать читать / изучать / изучать новые вещи, потому что технологии меняются, и даже если вы Если вы сегодня эксперт, то завтра вам, возможно, придется стать экспертом в чем-то совершенно ином.
источник
Я бы сказал абсолютно.
Но вам придется выйти и получить его, это не будет отображаться в газете или онлайн-публикации вакансий (вероятность мала). Таким образом, вместо того, чтобы искать специализированную работу, возможно, вам следует искать работу, которая отвечает вашим разнообразным преимуществам. «Маргинально хорошо» - это субъективно, может быть, вы слишком суровы к себе, тоже скромны, но это хорошо (-:
Кроме того, хотя ваш опыт и знания важны, работодатели больше заинтересованы в вашей способности добиться результатов. Спросите себя: что я могу сделать с моими разнообразными знаниями и опытом, которые улучшают результаты этой компании ? Без вашего резюме, некоторые заголовки, которые я могу придумать, - это инженер по решениям, архитектор (сеть, приложение и т. Д.) Или даже технический директор.
Наконец, мой совет - сделать карьеру из того, что вам нравится. Вам придется делать это более 8 часов в день в течение многих лет, и вам может понравиться то, что вы делаете с такой скоростью (-;
HTH, и наилучшие пожелания,
KM
источник
Это правда, что большинство сообщений о работе играют против них, будучи слишком конкретными или слишком требовательными. Они написаны как рекламные объявления (вероятно, чтобы показать другим, насколько они мощные), но это не позволяет применять некоторые замечательные профили по причинам, которые вы указали в своем вопросе.
Вот объявление о работе, которое я использую:
Как видите, кроме общего опыта работы с .NET, никаких других знаний на самом деле не требуется. Тем не менее, что требуется, так это умение использовать новые вещи.
Поскольку вы не можете контролировать, как компании пишут описание своей работы, вы должны рассматривать их как возможности для обучения.
Когда я вижу, что объявление о вакансиях очень требовательно, я вижу в этом возможность узнать что-то новое. Во время интервью (если я его получу) я объясняю, что, поскольку моя мотивация состоит в том, чтобы учиться и добиваться цели, на меня не слишком бы повлиял недостаток опыта в одной из перечисленных технологий.
На самом деле, так я научился так быстро: выбирая сложную работу .
источник