Чи краще спеціалізуватися на одному полі, яке мені подобається, або розширити на інші поля, щоб розширити свій кругозір? [зачинено]


31

Це дилема, про яку я досить довго думав.

Я аспірант, і мої цікаві теми - це дизайн мови програмування, аналіз коду, компіляція тощо. Поки це поле було для мене дуже цікавим і корисним, тому я думав про те, щоб знайти роботу в цій галузі та продовжувати роботу спеціалізуватися на ньому. Я відчуваю, що це відносно міцне поле, яке не скоро «вийде зі стилю». Я завжди думав, що в таких складних сферах краще бути справжнім експертом, ніж просто інший хлопець, який поверхово розуміє, про що говорять експерти.

З іншого боку, я відчуваю, що спеціалізуючись таким чином, я дійсно обмежую свій майбутній варіант. Я завжди був впевненим у багатодисциплінарних підходах до проблем. Можливо, мені слід шукати загальну роботу з програмування, в якій я міг би отримати досвід в інших сферах, а також час від часу застосовувати своє улюблене поле для вирішення проблем. Спеціалізація лише на одній або двох сферах може завадити мені думати поза коробкою і викликати застій.

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


Добре йде. Я поручу за вас. Я також хотів би побачити інші коментарі
PradeepGB

Спеціалізуйтеся на програмуванні І щось інше, що не піде, наприклад, закон, податки, мова, біологія чи математика. Незважаючи на те, що ІТ-навички занадто швидко стають непридатними, деякі інші навички дотримуються. Важко знайти (як приклад) італійського + китайськомовного програміста, який спеціалізується на податках. Просто робіть свої ставки з розумом. Подумайте над цим: у наступні 20 років програмісту вам (сподіваємось) потрібно буде дізнатися набагато більше речей, ніж потрібно для виконання кандидатської дисертації. З цієї точки зору, ще 2 роки навчання в чомусь "більш статичному" не здаються страшною ідеєю.
робота

Відповіді:


21

Спеціалізуйтеся, якщо вам подобається

Як вам відомо, якщо ви спеціалізуєтесь, ви автоматично несете альтернативну вартість, оскільки не матимете прямого доступу до інших технологій (наприклад, програмісти Java часто не приймаються відразу до завдань з оптимізації компілятора). Однак ви повинні збалансувати це своєю любов'ю до складності, властивої обраній дисципліні.

Ви кажете, що хочете бути експертом - добре продовжуйте і знайдіть час, щоб вивчити обрану дисципліну. Нам як громаді завжди потрібні нові експерти. Однак моя рада - дотримуватися практичної рекомендації програміста "Вивчай нову мову щороку" . Таким чином, поки ви займаєтесь глибоким лексичним аналізом алгоритмічного кодування, ви також можете викручувати невеликий додаток для iPhone, яке вас цікавить. Ніколи не знаєш, що перехресне опитування різних парадигм може викликати у вас деяке розуміння, яке розширить вашу спеціалізацію на нові сфери.


Що стосується вашого першого речення - також є страх, що одного дня я набридне тієї речі, яку я люблю, і тоді мені, як спеціалісту, важко буде змінити поле. З іншого боку, мій інтерес до цієї галузі вже сильний рік.
Дуб

1
@Oak ти ніколи не можеш передбачити, коли ти будеш щось втомлювати, тож вибирай поле, в якому ти майже впевнений, що ти задоволений і максимум. Якщо ви відчуваєте вигорання, відверніть свою увагу на іншу роботу. Якщо вибране вами поле досить розвинене (і це, звичайно, звучить так, як є), у вас повинно бути достатньо навичок, щоб мати можливість підібрати що-небудь. Гаразд, ти будеш нобі, але присвяти себе, і незабаром полетиш.
Гері Роу

2
Оскільки Дуб цікавиться мовами та мовним дизайном, я думаю, що він уже знає багато мов, а вивчення нових мов в основному підпадає під його спеціалізацію (більш-менш). Для когось, хто вже цікавиться мовами, я пропоную зробити щось нове і нетривіальне на мові, яку ви знаєте: спробуйте свої сили в AI або машинному навчанні або NLP або написанні ОС ...
Tikhon Jelvis

20

Я думаю, це залежить від того, що ти хочеш від своєї кар'єри ...

На технічному рівні : бути джеком усіх торгів означає, що ти можеш подати заявку на більшу різноманітність ролей, ніж хтось із надзвичайно спеціалізованих. Якщо ви хочете бути пристосованими, рухатися і не бути прив’язаними до певної ніші, це, мабуть, не так вже й погано. Однак недоліком є ​​те, що ви, ймовірно, обмежуєтесь порівняно молодшим / проміжним рівнем ролей, якщо тільки ви не заглибитеся в певну область.

Спеціалізація в даній області є майже протилежною вищесказаному. Ви, швидше за все, зможете командувати більш високим статусом і доходом (якщо ви хочете в хорошій ніші з великим попитом, звичайно), але ви, швидше за все, значною мірою пограєте в цю спеціальність.

Тож у широкому розумінні ці два - це вибір на технічному рівні.

На політичному рівні : Якщо ви говорите про "кар'єрний прогрес" з точки зору переходу до менеджменту та іншого, то це, як правило, не має значення, чим займаєтесь технічно. Практично всі, кого я знаю, хто перейшов до управління з ролі програміста, зробили це, дуже добре познайомившись з людьми та бізнес-процесами в їх організації. Деякі були спеціалістами, а деякі - загальними (з точки зору технології, з якою вони працювали) - але ВСІ були дуже глибоко вбудовані в організацію, добре знали людей і процеси, і в основному їм стало просто логічно почати володіти цими обов'язками.

Отже, в основному сенсі, якщо ви хочете просунути свою кар’єру в плані просування вгору за ієрархією управління, все стосується політики. Бути спеціалістом-генералістом проти спеціаліста не має великого значення (лише можливо, стати дещо фахівцем з процесів та технологій, якими ви керуєте).


4
Я не точно впевнений, чому ви повинні бути дуже спеціалізованими, щоб бути класифікованим на старшого.
Джон

@Jon: Добре. Я це відредагував.
Столи Бобі

3
Крім того, Jack-of-all-trades може мати унікальну перспективу, коли стикається з проблемою, оскільки вони можуть передбачити додаткові рішення, які хтось, хто знає лише одну технологію, навіть не може уявити.
wildpeaks

10

По-перше, відправлення на роботу часто перебільшує необхідну кількість спеціалізації. Жодна компанія не ставить «нам потрібен хлопець, який трохи знає Javascript, тому що ми нічого не знаємо» у роботі; вони ставлять там "експерта Javascript", тому що, за інших рівних, вони б хотіли знайти когось, хто був насправді експертом. Це не обов'язково означає, що тільки фахівці кваліфіковані для того, що потрібно зробити компанії в Javascript (і ви здивуєтеся, як часто вони навіть не знають, що їм потрібно зробити). Тому не переживайте занадто сильно про те, щоб бути "експертом"; подайте заявку на вакансії, де ви володієте вміннями, які рекламуються, і подивіться, як проходять справи на співбесіді. Бути хорошим на роботі - це набагато більше, ніж просто скільки років [вставити мову] у вас під поясом. І якщо робота корисна,

Це про "влаштування" на роботу; для "збереження" роботи, бути РОБОТОМ може бути дивовижним. Якщо ваша компанія почне вивчати різні мови та платформи, ви будете випереджати гру. Якщо вашій компанії, що базується на MS, раптом потрібен хлопець UNIX для чогось, ви будете їхнім відвідувачем (чи то тим самим хлопцем, чи то займатися наймом для "експерта"). Втримати роботу - це бути незамінним, незалежно від того, що трапиться, і JOAT - це хороший спосіб стати цим хлопцем.

Крім того, це робить нову роботу, коли ваша компанія стає набагато простішою :)


1
"Якщо вашій компанії, що базується на MS, раптом потрібен хлопець UNIX для чогось ... ... о, ми можемо мріяти, чи не можемо ми :)
Jordan

@Jordan - не потрібно мріяти; Я був там. Я роками працював у магазині MS, але ми врешті-решт виявилися клієнтами, яким потрібна підтримка на MySQL та Linux. Ті з нас, хто знав Linux з інших робочих місць та домашнього використання, мусили вступати, поки ми не могли найняти адміністратора Linux. Це трапляється :)
EZ Hart

7

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

З іншого боку, коли керівництво вирішить, що вони не можуть дозволити собі багато програмістів, вони не звільнять вас , щоб утримати його . Гнучкість має свої переваги.

Я Джек, і в моєму відділі за останні 4 роки спостерігається зниження на 80%. Все ж ось я. Частково це тому, що я більш зосереджений, ніж більшість. Мені подобається отримати завдання, про яке я нічого не знаю, а моїм начальникам подобається те, що я кажу "Звичайно!" незалежно від того, яке дивне дурне лайно вони придумують. І коли ви розумієте велику картину, це такий собі рок-звезди, якого більшість фахівців ніколи не досягає, і це може бути прибутковим.

Отже, якщо ви хочете бути рок-зіркою, вам потрібно зосередитись, адже ніхто не може бути кращим за всіх. Але якщо ви шукаєте стабільності, вибирайте гнучкість, адже бути гнучким - це більш продажно, ніж погано.


3

Generalist vs. Specialist - це стаття з CIO.com, але, мабуть, є десятки подібних статей чи дописів у блогах людей, які намагаються зрозуміти, чи краще одна з інших. У кожного є свої переваги та недоліки. Кожен, хто хоче сказати, що один повністю козирить інший, може бути певним чином упереджений.

Не забувайте, що можлива ілюзія з кожного боку на ваш вибір. Те, що ви бачите як спеціалізацію, може мати різні смаки до цього. Наприклад, чи вважаєте ви веб-розробників загалом спеціалістами або загальними фахівцями? Деякі могли бачити, що це спеціалізація, а інші все ще можуть сприймати це як досить широке, оскільки багато веб-додатки в наші дні можуть містити всілякі компоненти, які потребують певної міри різних знань.

Хоча з перелічених вами областей змушують мене думати, що ви хочете працювати в програмній компанії, можливо, є деякі частини інформаційних технологій, які можуть певним чином використовувати подібні навички. Ви можете дізнатися, скільки налаштувань робиться на різних позаштатних програмних програм, щоб змусити його працювати і наскільки добре це інвестиція для більшості компаній, щоб дати приклад без манжети.


3

З іншого боку, я відчуваю, що спеціалізуючись таким чином, я дійсно обмежую свій майбутній варіант.

Пам'ятайте. Ваше майбутнє тягнеться через десятиліття.

Сучасна технологія значно зів’яла, коли з’являться нові можливості.

Спеціалізація зовсім не шкода.

Я почав спеціалізуватися на штампуванні паперових карток для написання програм COBOL. Тепер я пишу Python і не торкаюся картки з перфорованим папером протягом десятиліть.

Технологія приходить і йде. Що б ви зараз не спеціалізувалися, через десятиліття піде, і ви будете спеціалізуватися на чомусь іншому. Або ви застарієте.

Турбуватися про "досвід в інших галузях" - це марна трата часу. Ви отримаєте цей досвід, хочете ви цього чи ні.


3

Це залежить від вашої кар’єри. Я думаю, що це повинно допомогти вашій кар’єрі, якщо ви хочете бути генеральним консультантом, розпочати власну справу, працювати в малому бізнесі або в будь-якій іншій ситуації, коли цей тип гнучкості є визнаним перевагою. Я перебуваю в тій же ситуації, і зараз працюю консультантом, хоча я домагаюся спеціалізації в .NET / C # / SQL / ASP.

В той же самий спосіб, чи можна зробити кар’єру, не будучи універсальною з технологіями, маючи широкий спектр (хоча і неглибокого) досвіду, але не спеціалізуючись на певній технології?

Так, я думаю, ви можете шукати малий бізнес, який не може найняти когось для кожної галузі спеціалізації, або бути консультантом.

(Це також не погана ідея вибрати область, на якій ви будете спеціалізуватися, а також зберегти більш загальні навички.)


2

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

Сам я хоч і завжди був прихильником усіх професій і мав багато різних найменувань роботи в тій же компанії, де працював більшу частину своєї кар'єри. І все-таки я щось бояюся, що мені потрібно шукати роботу, і я не думаю, що я міг легко влаштувати іншу роботу на своїй теперішній зарплаті (що є цілком задовільним, але люди тут мене знають).


2

як завжди...

Це залежить

Це залежить від того, що ви маєте на увазі під "кар'єрою". Більш суттєво, це залежить від того, що, на вашу думку, маєте на увазі під "кар'єрою".

У ці дні я дуже багато працюю з веб-додатками. Коли я розпочав цю кар’єру, всесвітньої павутини не існувало. Отже, в значній мірі відповідь @ Satanicpuppy знаходиться прямо на позначці.

Існує чотири переваги, які поставляються з територією джек-оф-торгів (JOT):

  1. Готовність та здатність вчитися тому, що необхідно, щоб виконати роботу
  2. Мудрість знати те, чого ти не знаєш
  3. Смирення сказати так і попросити допомоги, коли це потрібно.
  4. Великий мішок хитрощів через декілька меж домену

Основний недолік: це потребує набагато, набагато більше часу , тому що ви просуваєте криву навчання на декількох фронтах.

Я такий хороший DBA, як деякі друзі, які не робили нічого, крім цього протягом 15 років? Звичайно, ні. Чи можу я побачити рішення в одну мить, яку вони ніколи не уявляють за два тижні? Так.

Найкраща порада, я думаю, - продовжувати бути JOT, поки ви не знайдете щось таке захоплююче, настільки переконливе, що ви хочете це зробити і тільки це до кінця часу. Те, що "воно" буде вашою спеціальністю.

Мені подобається вирішувати нові, важкі проблеми, шукати інновації, щоб вбити людей, і постійно навчатись - це моє "це", і це причина, що я люблю ІТ

Бути генералістом - це моя кар’єра.


+1: Бути генералістом - це теж моя кар’єра. :-) Знаючи матеріал, крім вашої проблемної області або основної технології є корисним , оскільки він дозволить вам матиме ящик для інструментів з можливих рішень . Це може не зробити вас суперспеціалістом, але ви поцікавитеся новими іграшками - я маю на увазі технологію.
Spoike

2

Я думаю, що одна з причин, по якій компанії шукають і цінують спеціалізованих людей, більше повертається до непрохідних абстракцій . Проблема полягає в тому, що за останні 30 років або близько того, інженери програмного забезпечення збільшили кількість шарів абстрагування експоненціально і настільки, наскільки ми хотіли б переконатися, що немає побічних ефектів, вони завжди з’являються. І це, як правило, недокументовані ідіосинкразії.

Можливо, ви зможете швидко почати використовувати нові технології, читаючи специфікації та приклади в Інтернеті, але ви коли-небудь помічали, коли починаєте щось нове, витрачаєте 20% свого часу на написання коду на функцію, а 80% часу шукаєте самих дивних помилок ви коли-небудь бачили? Коли ви стаєте експертом в одній області, цей раціон змінюється з 20/80 на 95/5 (я складаю цифри, але загалом вони, мабуть, близькі) спеціально в цій галузі. Це означає, що ви можете доставити роботу набагато швидше і уникнути підводних каменів / звичайних помилок, перш ніж вони навіть трапляться. Наприклад, раніше сьогодні один з наших старших інженерів (новачок у команді / продукт) витратив більше половини дня на пошуки проблеми із пошкодженням стека, що знадобилося мені 5 хвилин, щоб визначити, оскільки це сталося моєю домашньою землею.

Як ви станете експертом у своїй галузі, ви станете більш помітними та цінними для менеджменту. Я не знаю про інші компанії, але в тих, де я працював, ваша компенсація (принаймні частково) залежить від того, наскільки важливі ваші обов'язки. JOAT, як правило, не несе постійних обов'язків. Натомість менеджери використовують їх як рухомі / взаємозамінні ресурси (наш віце-президент називає їх швейцарськими армійськими ножами), які можна переміщувати з однієї команди в іншу на основі попиту. Тож ви можете пробути в компанії 10 років, потім озирнутися назад і зрозуміти, що жодного разу не відповідали. У мене дуже хороший друг (який також є чудовим розробником C ++ / C #, але, здається, він також є дуже хорошим JOAT, оскільки він візьме на себе будь-яку роботу), який був набраний такою роллю. Я знаю, що він не радий, тому що, хоча у мене дуже симпатичний і веселий шматок товару, як мій майданчик, він здебільшого тимчасовий гість на чужій землі. Але тепер він не може з цього вийти.

Сказавши, що володіння навичками JOAT не менш важливо, тому, хоча я не обов'язково намагаюся позиціонувати себе як JOAT, я думаю, що важливо продовжувати читати / вивчати / вивчати нові речі, оскільки технологія змінюється, і навіть якщо ви ви сьогодні експерт, можливо, вам доведеться завтра стати експертом у чомусь зовсім іншому.


Справа вашого друга - саме те, що я переживаю зараз! +1
Html Tosin

1

Я б сказав абсолютно.

Але вам доведеться вийти і отримати його, це не збирається з’являтися в газеті або в Інтернеті, розміщуючи роботу (ймовірність невелика). Отже, замість того, щоб дивитися на спеціалізовані робочі місця, можливо, вам слід шукати роботу, яка відповідає вашим різним сильним сторонам. "Незначно добре" є суб'єктивним, можливо, ви занадто суворо ставитесь до себе, також скромно, але це гарна річ (-:

Крім того, хоча ваш досвід та досвід є важливими, роботодавці більше зацікавлені у вашій здатності досягти результатів. Запитайте себе: що я можу зробити зі своїм різноманіттям знань та досвіду, що покращує підсумок цієї компанії ? Якщо ви бачите ваше резюме, деякі заголовки, які я можу придумати, - це інженер рішень, архітектор (мережа, додаток тощо) або навіть загальний директор.

І нарешті, моя порада - зробити кар’єру того, що вам подобається. Вам доведеться робити це протягом 8 годин на день протягом багатьох років, і вам може сподобатися те, що ви робите з такою швидкістю (-;

HTH та найкращі побажання,

КМ


1

Це правда, що більшість працівників, які займаються посадою, грають проти них, будучи занадто конкретними або занадто вимогливими. Вони написані як реклама (напевно, щоб показати іншим, наскільки вони потужні), але це заважає застосовувати деякі чудові профілі через причини, про які ви заявляєте у своєму питанні.

Ось робота, яку я використовую:

Опис роботи та особи

Принаймні 4 роки досвіду роботи з .NET Framework. Знання конкретних технологій не потрібно. Кандидати повинні швидко навчатися та вміти демонструвати ентузіазм до вивчення нового. Ми хочемо людей, які:

  • цікавляться цифровими ЗМІ
  • бачити труднощі як можливості
  • зробити справи, а не керовані резюме є
  • зацікавлений у бізнесі
  • їх роботи мають дух запуску Мова: Французька АБО Англійська

Навички (не потрібно, але кожне буде корисним):

  • .NET Framework 4.0
  • nГібернатна чи суб'єктна система
  • Компоненти DevExpress
  • LINQ
  • WCF
  • HTML / CSS / Javascript
  • ExtJs

Як ви бачите, крім загального досвіду роботи з .NET, ніяких інших знань насправді не потрібно. Однак потрібне вміння накладати нові речі.

Оскільки ви не можете контролювати, як компанії пишуть свою посадову інструкцію, ви повинні бачити їх як можливості навчання.

Коли я бачу роботу, яка дуже вимоглива, я бачу це як можливість вивчити нові речі. Під час співбесіди (якщо я її отримаю) я пояснюю, що оскільки моя мотивація вчиться та виконувати справи, мене не надто постраждає відсутність досвіду в одній із перерахованих вище технологій.

Насправді, я так швидко навчився: підбираючи вимогливі роботи .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.