Переміщення вашої кар’єри на іншу мову програмування [закрито]


21

Я виріжу на погоню. Я шукаю поради щодо того, як досвідчений розробник переконав потенційного роботодавця, що їх слід розглядати на посаді, яка використовує іншу мову. Це дотримується інших немовних специфічних вимог (знання контролю версій, ОО, ступінь тощо). Наприклад досвід досвідченого розробника PHP, який прагне перейти на позицію Perl. Чи можливо це навіть? Наскільки це було б складно? Це залежить від мови?

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


7
мова! = кар’єра; кар'єра == розробник
Стівен А. Лоу

Відповіді:


18

Виступає як хтось, хто дав інтерв'ю.

Бути чесним

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

Будьте захоплені

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

Мати розуміння концепцій CS

Поглиблення розуміння полегшить здобуття нової мови (серед іншого).

Покажіть, що ви знаєте споріднену мову

Навчання Рубі, коли ти знаєш, Perl - це не великий стрибок. Схема навчання, коли ви знаєте лише C, - це величезний стрибок.

Покажіть, що ви вже знаєте 3 мови

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


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

20

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


4
Я його не купую. Потрібен час, щоб вивчити бібліотеки, які приходять з мовою. Чи буде новачок c ++ pro / php таким же хорошим, як 10-річний ветеринар? Крім того, перейти від мови, керованої пам'яттю, до такої, яка не є набагато складніше, ніж зворотній.
Ніл Макгуйган

9
@NRM, чому ти хочеш " вивчити " бібліотеки? Завжди є посилання, ви не повинні захаращувати мізки такими неважливими речами, як API.
SK-логіка

4
@NRM Поганий приклад. C ++ => PHP має бути майже тривіальним переходом. Зараз спробувати це іншим способом важко.
Конрад Рудольф

1
@NRM - звичайно, «новачок» не буде таким хорошим, як 10-річний «ветеринар». Однак робочих місць для «новачків» є безліч. Ось звідки беруться ветеринари.
davidhaskins

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

8

Повне розкриття: я сам цього не пробував

Мені здається, що вам потрібна стратегія з двох частин, щоб зробити цю роботу. Спочатку вам потрібно завести ногу у двері для співбесіди. Це означає пройти будь-які фільтри резюме та HR. Будь-яким способом можна працювати з новим ключовим словом у вашому резюме, не брешучи (наприклад, надсилаючи проект з відкритим кодом). Отримавши співбесіду, вам доведеться довести менеджеру з найму, що ...

  • ви можете розумно говорити новою мовою (особливо якщо ви ще не експерт)
  • ви здатні швидко підійти до швидкості, щоб не відставати від своїх колег

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


7

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

ЯКЩО я йду шляхом, назад ...

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

ОСНОВНІ (близько 6 різновидів).

APL (так)

PL / 1

FORTRAN 4 і 77

COBOL (вірте чи ні)

PASCAL (кілька сортів, включаючи Delphi)

OCCAM2 (купа задоволення - миттєве створення процесів)

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

C ++

Ада (великі системи, а також вбудовані системи)

Трохи Perl просто для розваги

PHP

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

І є ще кілька незрозумілих речей, кинутих по дорозі, які я не можу згадати (або не хочу ... PL / M).

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

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

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

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


4

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

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

(Повністю зловживав словом "то" ..)


3

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

Що слід пам’ятати, це те, що його єдиний мов із багатьох мов та технологій, якими вони, ймовірно, користуються. SQL - це SQL. Не має значення, чи будете ви це робити в python або perl. І налаштування сервера БД не стосується навіть мови. HTML - це HTML, не має значення, чи його генерує PHP або ASP. Те саме з XML Розетки - це розетки, вони в основному працюють однаково на всіх мовах. OpenGL працює так само, як і в C ++. Конкретний синтаксис є невеликою частиною картини, коли дивишся на розвиток в цілому. Деякі з цих навичок є величезними темами самі по собі, і їх набагато важче засвоїти, ніж новий мов.

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


1

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


1

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

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


1

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

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


0

ІМХО, не всі програмісти реагують однаково. Мова - це релігія ;-)

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

Тому я б радив не командувати одноранговим програмістом на іншу мову. Натомість поспілкуйтесь про переваги мови під час пива ввечері в п’ятницю, щоб виявити його / її любов чи ненависть.

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