Чи слід зосередитися на тому, щоб бути глибоким або широким [закритим]


10

Я був професійним розробником трохи більше півроку і був вражений тим, наскільки великий світ насправді поза коледжем. Я продовжував вчитися у вільний час, але мені цікаво, куди мені зосередитись?

Фокус 1) Стек розробки, який використовує моя компанія. Найшвидший окуп в моєму щоденному розвитку. # Найглибший

Фокус 2) Інша мова з тією ж парадигмою. Подивіться, чи можу я узагальнити свої знання та спосіб мислення.

Фокус 3) Різна мова, інша парадигма. Розширюйте мої кордони та вивчайте нові способи робити речі. # Найширший

Якщо хтось має інший фокус, сміливо покладіть це там.

Відповіді:


18

Так.

Я б сказав, що вам потрібно зробити і те, і інше. Почніть з №1, оскільки це має негайну виплату, і ви цим займаєтесь не дуже давно. Але вам обов'язково потрібно виконати деякі з №2 та №3.


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

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

1
Можливо, відповідь має бути "Обидва" замість "Так". Дивлячись на назву питання та відповідь, я розгублений.
Amr

1
Я виявив, що, вивчаючи нову мову чи парадигму, я стаю більш ефективним у №1 - я вважаю, що це тому, що наявність більш широкого досвіду дає вам різні точки зору, як вирішити певну проблему. Те саме заняття, яке було вивчено як: Якщо у вас є лише молоток, кожна проблема починає виглядати як цвях.
Брайан Ребейн

25

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

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

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

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


З огляду на те, ким ви є, ця публікація справді епічна. :)
ashes999

12

Бути фахівцем може зробити вас дорожче. Але можливості роботи, що вимагають такого високого рівня, будуть обмежені, як за їх кількістю, так і географічно.

Бути генералістом, можливо, платить менше, але відкриває вам широкий спектр можливостей для роботи, можливо, в усьому світі.

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


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

3

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

Якби я хотів бути спеціалістом, очевидно, глибина будівництва - найкращий перший вибір.

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

Caveat - я фахівець, тому я чітко віддаю перевагу глибині знань


1

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

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

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


0

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

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

http://lisperati.com/haskell/

http://learnyouahaskell.com/


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

F # добре поєднується з C # або іншими .net речами, над якими ви працюєте. Просто щось пам’ятати. Clojure добре працює з Java.
Theo Belaire
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.