Я перейду к погоне. Я ищу совет о том, как опытный разработчик убедит потенциального работодателя в том, что его следует рассматривать на должность, которая использует другой язык. Это с другими не специфическими для языка требованиями (знание контроля версий, ОО, степени и т. Д.). Например, опытный разработчик PHP, желающий перейти на позицию Perl. Это вообще возможно? Насколько трудно это будет? Это зависит от языка?
РЕДАКТИРОВАТЬ: Ответы, которые я получил, являются доказательством того, что будущее этого сообщества действительно светлое, но, к сожалению, это позволяет мне выбрать только один ответ. Спасибо всем что ответили.
career-development
canadiancreed
источник
источник
Ответы:
Выступая как тот, кто дал интервью.
Будь честным
Дайте им знать, что вы переключаете треки, а также скажите им, сколько времени, по вашему мнению, вам понадобится, чтобы набрать скорость.
Будь энтузиастом
Покажите им, что вы заинтересованы в изучении нового языка. Энтузиазм может восполнить опыт, когда вы знаете, что разработчик собирается вернуться домой и продолжать программировать на том же языке.
Иметь представление о концепции CS
Глубокое понимание облегчит освоение нового языка (среди прочего).
Показать, что вы знаете родственный язык
Изучение Ruby, когда вы знаете, что Perl - не большой скачок. Схема обучения, когда вы знаете только C, это огромный скачок.
Показать, что вы уже знаете 3 языка
Чем больше языков вы знаете, тем легче их освоить, пока не станет изучением идиом больше, чем синтаксиса.
источник
Опытный программист должен быть в состоянии освоить практически любой язык программирования, в дополнение к любому разумному инструменту программирования. Если вы хотите перейти на новый язык, просто прочитайте одну или две книги в свое время, попрактикуйтесь дома, а затем отправьте резюме, как и все остальные.
источник
Полное раскрытие: я сам не пробовал
Мне кажется, что вам нужна стратегия из двух частей, чтобы сделать эту работу. Во-первых, вам нужно войти в дверь для собеседования. Это означает, что нужно пройти через любое резюме и HR-фильтры. В любом случае вы можете использовать новое ключевое слово языка в своем резюме, не лгая (например, предоставляя проект с открытым исходным кодом). После того, как вы пройдете собеседование, вам нужно доказать менеджеру по найму, что ...
Я думаю, что любой достаточно талантливый программист на любом языке должен справиться с этим с достаточным терпением. Вам понадобится подходящая возможность в нужной компании с подходящими обстоятельствами для найма на новый язык. Короче говоря, все равно что получить работу для нормальной работы. :-)
источник
За 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 с микрокодированием :)
источник
В качестве личного анекдота меня наняли на должность Java, показав демонстрацию на основе PHP. Я думаю, что получил ее, потому что знал язык из определенной области (если его можно так назвать), поэтому я не буду - изучение законченных понятий, это было бы как использование ручки вместо карандаша (вы правильно поняли?).
Я считаю, что на самом деле очень важно показать, что у вас есть хорошая разработка программного обеспечения, концепции CS и навыки общения, что вы ищете решения проблем, даже самых сложных, что вы хотите быть полезными своим коллегам, автоматизировать и упростить их работу и, самое главное (для меня, по крайней мере), что вы скромны и признаете, что вы не знаете всего и что вы хотите узнать больше.
(Абсолютно злоупотребил "этим" словом ..)
источник
Я только когда-либо работал на одной работе, где я уже знал основной язык разработки, так что да, это не только возможно, я всегда предполагал, что это было распространено.
Следует помнить, что это всего лишь один язык из многих языков и технологий, которые они, вероятно, используют. SQL это SQL. Неважно, если вы делаете это в Python или Perl. И настройка сервера БД не связана даже с языком. HTML - это HTML, не имеет значения, сгенерирован ли он PHP или ASP. То же самое с XML. Сокеты - это сокеты, они в основном работают одинаково на всех языках. OpenGL работает в Delphi так же, как и в C ++. Конкретный синтаксис - небольшая часть картины, когда вы смотрите на развитие в целом. Некоторые из этих навыков сами по себе являются огромными темами, и их гораздо сложнее освоить, чем новый язык.
Дело в том, сосредоточиться на навыках. Конечно, вы, возможно, не знаете их основные технологии разработки, но это всего лишь часть головоломки. Но скорее всего, они также используют другие технологии и ОС, которые вы знаете.
источник
Вы будете изо всех сил пытаться войти в дверь, если у вас нет сокращенных букв в вашем резюме. Если вы хотите измениться, потратьте некоторое время на личные проекты, чтобы изучить его достаточно хорошо, а затем выделите это.
источник
Это конечно возможно. Я только начал работу, где я работаю в ruby, javascript и go. До того, как я начал, у меня не было большого опыта работы с этими языками.
Я думаю, что ключ к моему успеху здесь заключался в том, что за время между первоначальным ответом и собеседованием я убедился, что знаю достаточно рубина (их основного языка), чтобы понимать и писать код реального мира. Я думаю также помогло то, что я знал Python и C, которые очень похожи на ruby и go.
источник
Компания, в которой я работаю, не искала "программистов на C #". Любой хороший программист сделает все возможное, так как он сможет быстро освоить язык.
Если вы нанимаете программистов с идеей, что они останутся на несколько лет, то я действительно не вижу в этом проблемы, у них есть достаточно времени, чтобы выучить все тонкости языка. Если они уходят через год, то, вероятно, это пустая трата времени.
источник
ИМХО, не все программисты реагируют одинаково. Язык это религия ;-)
По своему личному опыту я люблю изучать новый язык, но он очень быстро начинает любить или ненавидеть. Я могу влюбиться в новый язык в первый день, когда он его знает, и использовать его в течение многих лет. Я также ненавидел языки с самого начала и до сих пор, даже сотни тысяч, если не миллионы программистов используют их.
Поэтому я бы посоветовал не переводить программиста на другой язык. Вместо этого, поболтайте о языковых предпочтениях в вечернее пиво в пятницу, чтобы узнать его / ее любовь или ненависть.
источник