Програмування високого рівня проти низького рівня. Мені справді треба вибирати? [зачинено]


13

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

Я б дуже хотів би робити і те, і інше, навіть якщо це означає чергування між ними (я сумніваюся, що є роботи, які дозволять мені робити обидва одночасно), але я здогадуюсь, що галузь винагороджує фахівців більше, ніж загальних фахівців. Чи справді це буде кар’єрно проблематично, якщо я ніколи не вибираю одного за іншим? Чи практично чергувати це двоє в тому сенсі, що якби я залишив роботу, виконуючи одну з них, я не мав би відчувати «тертя», намагаючись влаштуватися на роботу іншим (якщо припустити, що я розумно перебуваю в циклі)? Чи є можливості кар’єри, де вам подобається робити обидва?

Чи мені справді доводиться вибирати одне над іншим?


Ви можете захотіти поглянути на це питання на SO: stackoverflow.com/questions/919568 / ...
user281377

Відповіді:


5

По-перше, який би шлях ви не вибрали, пам’ятайте, що ваше оточення може змінитися. :)

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

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

Я фактично стикаюся з цими проблемами на моїй нинішній роботі ..

Я спеціалізувався на C ++, OpenGL, 3D-моделюваннях, архітектурі ігрових двигунів і подібних речей, але в минулому році я досить багато використовував паяльник (з'єднував USB-плати, прототипи, сервоприводи та мотори, а також тюнінг і програмування цих сервоконтролерів). Можливо, мені також доведеться виготовити деякі прототипи веб-сайтів для кількох потрібних нам служб.

Це гарна забава, але я б не хотів це робити назавжди, оскільки моя спеціалізація трохи зменшується, і, мабуть, є й інші, хто в цьому все-таки краще. Сподіваємось, компанія зростає, і ми можемо найняти більше інженерів. Наразі ми просто два хлопці C ++ / Python (зі мною витрачається 60-75% мого часу на обладнання).

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


12

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


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

3
Не заробітна плата визначає відмінність спеціаліста / загального фахівця, а кількість програмістів, які має ваша компанія. З великою кількістю програмістів ефективніше призначати конкретних людей до конкретних продуктів. За допомогою декількох програмістів вони повинні покрити всі потреби розвитку компанії.
dan04

2

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


2

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

Тому дуже важливо просити свій профіль та наміри, але відповідь, яку ви опублікували, цілком прийнятна.


1

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

Що ви абсолютно не повинні робити - це застосувати неправильний підхід до проблеми.

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

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