Перемещение вашей карьеры на другой язык программирования [закрыто]


21

Я перейду к погоне. Я ищу совет о том, как опытный разработчик убедит потенциального работодателя в том, что его следует рассматривать на должность, которая использует другой язык. Это с другими не специфическими для языка требованиями (знание контроля версий, ОО, степени и т. Д.). Например, опытный разработчик PHP, желающий перейти на позицию Perl. Это вообще возможно? Насколько трудно это будет? Это зависит от языка?

РЕДАКТИРОВАТЬ: Ответы, которые я получил, являются доказательством того, что будущее этого сообщества действительно светлое, но, к сожалению, это позволяет мне выбрать только один ответ. Спасибо всем что ответили.


7
язык! = карьера; карьера == разработчик
Стивен А. Лоу

Ответы:


18

Выступая как тот, кто дал интервью.

Будь честным

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

Будь энтузиастом

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

Иметь представление о концепции CS

Глубокое понимание облегчит освоение нового языка (среди прочего).

Показать, что вы знаете родственный язык

Изучение Ruby, когда вы знаете, что Perl - не большой скачок. Схема обучения, когда вы знаете только C, это огромный скачок.

Показать, что вы уже знаете 3 языка

Чем больше языков вы знаете, тем легче их освоить, пока не станет изучением идиом больше, чем синтаксиса.


Это отличная информация, которую можно получить, увидев потенциального кандидата со стороны менеджеров по найму.
canadiancreed

20

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


4
Я не покупаю это. Требуется время, чтобы выучить библиотеки, которые поставляются с языком. Будет ли новичок c ++ pro / php таким же хорошим, как 10-летний ветеринар php? Кроме того, переход от языка, управляемого памятью, к языку, который не является намного более сложным, чем обратный.
Нил Макгиган

9
@NRM, почему вы хотите " изучить " библиотеки? Всегда есть доступная ссылка, вы не должны загромождать свой мозг такими неважными вещами, как API.
SK-logic

4
@NRM Плохой пример. C ++ => PHP должен быть почти тривиальным переходом. Теперь попробовать это по-другому сложно.
Конрад Рудольф

1
@NRM - конечно, «новичок» не будет так хорош, как 10-летний «ветеринар». Тем не менее, есть много рабочих мест для "новичков". Вот откуда берутся ветеринары.
Дэвидхаскинс

1
Проблема здесь заключается в том, чтобы убедить потенциального работодателя в том, что вы можете переключать языки, особенно в HR, у которого просто есть требование «минимум 37 лет опыта Java» или что-то такое же глупое.
Фред Ларсон

8

Полное раскрытие: я сам не пробовал

Мне кажется, что вам нужна стратегия из двух частей, чтобы сделать эту работу. Во-первых, вам нужно войти в дверь для собеседования. Это означает, что нужно пройти через любое резюме и HR-фильтры. В любом случае вы можете использовать новое ключевое слово языка в своем резюме, не лгая (например, предоставляя проект с открытым исходным кодом). После того, как вы пройдете собеседование, вам нужно доказать менеджеру по найму, что ...

  • Вы можете говорить осмысленно на новом языке (особенно, если вы еще не являетесь экспертом)
  • Вы способны быстро набрать скорость, чтобы не отставать от коллег

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


7

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

Если я пойду, далеко ...

8080, Z80, 6502, 8086, 80286 ассемблер.

Бейсик (около 6 сортов).

APL (ура)

PL / 1

Фортран 4 и 77

Кобол (хотите верьте, хотите нет)

ПАСКАЛЬ (несколько сортов, в том числе Delphi)

OCCAM2 (куча веселья - мгновенное создание процесса)

C (много компиляторов, много процессоров, много странных вариантов)

C ++

Ада (большие системы, а также встроенные системы)

Немного Perl просто для удовольствия

PHP

Они использовались на всех типах компьютеров - небольших встроенных системах, платах разработки, мейнфреймах IBM, работающих под управлением TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, встраиваемых системах без ОС, средах удаленного размещения, на и в списке идет.

И есть еще несколько неясных вещей, которые я не могу вспомнить (или не хочу ... PL / M).

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

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

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

Если у вас есть возможность сделать что-то необычное в своей работе, воспользуйтесь этим шансом, пока можете. Большинство из перечисленных выше вещей я не использовал годами и вряд ли буду использовать снова, но вы никогда не узнаете. Однажды мне бы очень хотелось построить машину APL с микрокодированием :)


4

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

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

(Абсолютно злоупотребил "этим" словом ..)


3

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

Следует помнить, что это всего лишь один язык из многих языков и технологий, которые они, вероятно, используют. SQL это SQL. Неважно, если вы делаете это в Python или Perl. И настройка сервера БД не связана даже с языком. HTML - это HTML, не имеет значения, сгенерирован ли он PHP или ASP. То же самое с XML. Сокеты - это сокеты, они в основном работают одинаково на всех языках. OpenGL работает в Delphi так же, как и в C ++. Конкретный синтаксис - небольшая часть картины, когда вы смотрите на развитие в целом. Некоторые из этих навыков сами по себе являются огромными темами, и их гораздо сложнее освоить, чем новый язык.

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


1

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


1

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

Я думаю, что ключ к моему успеху здесь заключался в том, что за время между первоначальным ответом и собеседованием я убедился, что знаю достаточно рубина (их основного языка), чтобы понимать и писать код реального мира. Я думаю также помогло то, что я знал Python и C, которые очень похожи на ruby ​​и go.


1

Компания, в которой я работаю, не искала "программистов на C #". Любой хороший программист сделает все возможное, так как он сможет быстро освоить язык.

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


0

ИМХО, не все программисты реагируют одинаково. Язык это религия ;-)

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

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

  • Я намеренно опускаю названия языков в этом ответе ;-)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.