Должен ли я сосредоточиться на том, чтобы быть глубоким или широким [закрытым]


10

Я был профессиональным разработчиком чуть более полугода и был поражен тем, насколько велик мир вне колледжа. Я продолжал учиться в свободное время, но мне интересно, на чем мне сосредоточиться?

ФОКУС 1) Стек разработки, используемый моей компанией. Самая быстрая отдача в моем повседневном развитии. #Deepest

ФОКУС 2) Другой язык с той же парадигмой. Посмотрим, смогу ли я обобщить свои знания и образ мышления.

ФОКУС 3) Другой язык, другая парадигма. Расширьте мои границы и узнайте новые способы ведения дел. #Broadest

Если у кого-то есть другой фокус, не стесняйтесь поместить это там.

Ответы:


18

Да.

Я бы сказал, что вам нужно сделать оба. Начните с № 1, так как это приносит немедленную отдачу, и вы делали это не очень долго. Но вам определенно нужно сделать некоторые из # 2 и # 3.


Хороший план, сделав себя более полезным, увеличит мою ценность в компании, а последние два увеличат мою ценность как разработчика в целом.
Боб Робертс

Точно. Хотя я думаю, что вы поймете, что за свою карьеру повышение собственной значимости как разработчика в целом также повысит вашу ценность в компании. Окупаемость может быть через пару лет.
Марси

1
Может быть, ответ должен быть «Оба» вместо «Да». Глядя на название вопроса и ответ, я запутался.
Amr

1
Я обнаружил, что, изучая новый язык или парадигму, я становлюсь более эффективным в # 1 - я полагаю, что это потому, что более широкий опыт дает вам разные взгляды на то, как решить конкретную проблему. Тот же урок, что и урок: если у вас есть только молоток, каждая проблема начинает выглядеть как гвоздь.
Брайан Ребейн

25

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

Когда я последний раз менял команды, у меня было две возможности: работать в команде разработчиков инструментов XBOX или работать в команде компилятора C #. Я понял, что это сводится к глубине против глубины. В команде XBOX я мог однажды поработать над системами безопасности, на следующий день - с аудиосистемами, с видео, сетями, с аппаратным интерфейсом. Конечно, некоторые люди являются экспертами, но каждый должен знать немного обо всем. В команде компилятора C # я мог бы погрузиться в один язык и один компилятор и по-настоящему глубоко понять все это.

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

Поэтому я советую перевернуть вопрос. Выясните, какой вы человек, а затем посмотрите, есть ли у вашей компании возможности для таких, как вы. Если нет, найдите тот, который делает.


Оглядываясь назад, кто вы есть, этот пост действительно эпический. :)
ashes999

12

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

Быть универсалом, возможно, платит меньше, но открывает широкий спектр возможностей трудоустройства для вас, возможно, по всему миру.

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


О, я даже не думал о том, что ушел из моей нынешней работы (хотя надеюсь, что это будет долгосрочное пребывание).
Боб Робертс

3

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

Если бы я хотел быть специалистом, очевидно, что глубина строительства - лучший выбор.

Если я хочу быть универсалом, сначала соберите глубину (перейдите хотя бы на промежуточный уровень) в один стек, а затем разветвитесь на другие языки. Если вы сначала создадите некоторую глубину, вам может оказаться проще построить глубину на нескольких языках, поскольку у вас есть больше концепций, доступных для вас, и вы знаете больше о том, что вы хотите изучить. Тогда я бы немного расширился во что-то другое. Затем вернитесь и углубите глубину до продвинутого уровня, затем снова разветвитесь и узнайте больше вещей, которые сильно отличаются от того, что вы уже знаете. Затем расширьте эту глубину в другой области до промежуточного уровня, изучите что-нибудь еще и т. Д.

Предостережение - я особенный, поэтому я отдаю предпочтение глубине знаний


1

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

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

Точно так же современные технологии устареют задолго до того, как большинство из нас будет готово уйти в отставку, поэтому изучение новых навыков и технологий необходимо.


0

Продолжайте изучать что-то вроде Хаскелла или Лиспа. Изучение функционального языка действительно требует от меня разделения кода, что упрощает его отладку в целом. Единственная проблема, с которой вы можете столкнуться, это то, что вы не хотите возвращаться.

http://book.realworldhaskell.org/read/

http://lisperati.com/haskell/

http://learnyouahaskell.com/


Это верно, изучите функциональное программирование, а я голосую за OCaml или F #
0xFF

F # будет хорошо интегрироваться с C # или другими вещами .net, над которыми вы работаете. Просто что-то иметь в виду. Clojure хорошо работает с Java.
Тео Белэр
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.