Movendo sua carreira para outra linguagem de programação [fechado]

21

Eu vou direto ao ponto. Estou procurando conselhos sobre como um desenvolvedor experiente convenceria um possível empregador de que eles deveriam ser considerados para uma posição que usa outro idioma. Isso ocorre com outros requisitos específicos que não sejam de idioma sendo atendidos (sabendo controle de versão, OO, diploma, etc ...). Por exemplo, um desenvolvedor PHP experiente que deseja mudar para uma posição Perl. Isso é possível? Quão difícil seria? Depende da linguagem?

EDIT: As respostas que obtive são a prova de que o futuro desta comunidade é realmente brilhante, mas, infelizmente, só me permite selecionar uma resposta. Obrigado a todos que responderam.

canadiancreed
fonte
7
idioma! = carreira; carreira == desenvolvedor
Steven A. Lowe

Respostas:

18

Falando como alguém que deu entrevistas.

Seja honesto

Diga a eles que você está trocando de faixa e também diga quanto tempo você acha que levará para acelerar.

Seja entusiasta

Mostre a eles que você está animado em aprender o novo idioma. O entusiasmo pode compensar a experiência quando você sabe que o desenvolvedor está indo para casa e continua a programar no mesmo idioma.

Compreender os conceitos de CS

Ter um entendimento mais profundo facilitará a escolha de um novo idioma (entre outras coisas).

Mostre que você conhece um idioma relacionado

Aprender Ruby depois de conhecer Perl não é um grande salto. Esquema de aprendizagem quando você sabe apenas C é um grande salto.

Mostre que você já conhece 3 idiomas

Quanto mais idiomas você souber, mais fácil será entender até que se torne um caso de aprender os idiomas mais do que a sintaxe.

dietbuddha
fonte
É uma ótima informação para obter, vendo um potencial candidato do lado dos gerentes de contratação.
canadiancreed
20

Um programador experiente deve ser capaz de usar praticamente qualquer linguagem de programação, além de qualquer ferramenta de programação razoável. Se você quiser mudar para um novo idioma, basta ler um ou dois livros no seu próprio tempo, praticar em casa e enviar um currículo como todos os outros.

chrisaycock
fonte
4
Eu não estou comprando. Leva tempo para aprender as bibliotecas que acompanham um idioma. Um novato em c ++ pro / php será tão bom quanto um veterinário em php por 10 anos? Além disso, passar de um idioma gerenciado por memória para um que não é é muito mais difícil que o inverso.
Neil McGuigan
9
@NRM, por que você quer " aprender " as bibliotecas? Sempre há uma referência disponível, você não deve desorganizar seu cérebro com coisas tão sem importância quanto as APIs.
SK-logic
4
@NRM Mau exemplo. C ++ => PHP deve ser uma transição quase trivial. Agora, tentar isso da outra maneira é difícil.
Konrad Rudolph
1
@NRM - é claro que um "novato" não será tão bom quanto um "veterinário" de 10 anos. No entanto, há muitos empregos para "iniciantes". É daí que os veterinários vêm.
Davidhaskins
1
O problema aqui é convencer o possível empregador de que você pode mudar de idioma, especialmente adquirindo o RH, que apenas tem um requisito que diz "mínimo de 37 anos de experiência em Java" ou algo igualmente estúpido.
Fred Larson
8

Divulgação completa: eu não tentei isso sozinho

Parece-me que você precisaria de uma estratégia em duas partes para fazer isso funcionar. Primeiro, você precisa colocar o pé na porta para uma entrevista. Isso significa superar qualquer currículo e filtros de RH. De qualquer maneira, você pode inserir a palavra-chave do novo idioma em seu currículo sem mentir (por exemplo, contribuindo com um projeto de código aberto). Depois de obter uma entrevista, você precisa provar ao gerente de contratação que ...

  • você pode falar de maneira inteligente no novo idioma (especialmente se você ainda não é um especialista)
  • você é capaz de acelerar rapidamente para não ficar atrasado dos colegas de trabalho

Eu acho que qualquer programador suficientemente talentoso em qualquer idioma deve conseguir isso com paciência suficiente. Você precisará da oportunidade certa na empresa certa e nas circunstâncias certas para ser contratado para um novo idioma. Então, resumindo, como ser contratado para um emprego normal. :-)

Kristo
fonte
7

Por cerca de 25 ou talvez 30 anos, tive que aprender muitas novas línguas. Tantos agora eu perdi a conta. Aqui está uma lista aproximada.

Se eu for, voltar ...

Montador 8080, Z80, 6502, 8086, 80286.

BASIC (cerca de 6 variedades).

APL (yay)

PL / 1

FORTRAN 4 e 77

COBOL (acredite ou não)

PASCAL (várias variedades, incluindo Delphi)

OCCAM2 (muita diversão - criação instantânea de processos)

C (muitos compiladores, muitos processadores, muitas variantes estranhas)

C ++

Ada (grandes sistemas e também sistemas embarcados)

Um pouco de Perl só por diversão

PHP

Elas foram usadas em todos os tipos de máquinas - pequenos sistemas embarcados, placas de desenvolvimento, mainframes IBM executando TSO, VAX / VMS, CP / M, DOS, Windows, Solaris, Linux, sistemas embarcados sem SO, ambientes de desenvolvimento hospedados remotos, em e na lista continua.

E há mais algumas coisas obscuras que não consigo lembrar (ou não quero ... PL / M).

Cada um deles teve que ser aprendido porque fazia parte da realização de um trabalho. Na maioria dos casos, eu não tinha experiência prévia, apenas um gerente tolerante e uma vontade de entrar e fazer o trabalho.

Se aprender algo novo lhe interessa, compre um livro, peça uma peça, faça as coisas no seu próprio tempo. Se for para uma posição, fica bem em um currículo que você fez isso porque está interessado.

Como uma das outras respostas apontou, na maioria das vezes os conceitos para fazer coisas comuns não mudam muito, apenas os meios de expressá-las. (Ou, é claro, você pode entrar em idiomas muito incomuns que não são OO ou processuais e isso exige uma mudança de mentalidade.)

Se você tiver a chance de fazer algo fora do comum como parte do seu trabalho, aproveite a oportunidade enquanto pode. A maioria das coisas listadas acima eu não uso há anos e provavelmente não uso novamente, mas você nunca sabe. Um dia, eu realmente gostaria de construir uma máquina APL microcodificada :)

rapid_now
fonte
4

Como uma anedota pessoal, fui contratado para uma posição em Java, mostrando uma demonstração baseada em PHP. Acho que a compreendi porque conhecia uma linguagem de um determinado domínio (se pode ser chamado dessa maneira), para não ser re - aprendendo os conceitos completos, seria como usar uma caneta em vez de um lápis (você entendeu a idéia?).

Acredito que o que é realmente realmente importante é mostrar que você tem um bom desenvolvimento de software, conceitos de CS e habilidades de comunicação, que procura soluções para problemas até os mais difíceis, que deseja ser útil para seus colegas de trabalho, automatizar e simplifique o trabalho deles e, o mais importante (pelo menos para mim), você é humilde e admite que não sabe tudo e que está disposto a aprender mais.

(Abusou totalmente da palavra "that" ..)

Tristian
fonte
3

Eu só peguei um emprego em que já conhecia a linguagem primária de desenvolvimento, então sim, não é apenas possível, sempre assumi que era comum.

É importante lembrar que é o único idioma dentre as muitas linguagens e tecnologias que eles provavelmente usam. SQL é SQL. Não importa se você faz isso em python ou perl. E a configuração do servidor de banco de dados nem sequer está relacionada ao idioma. HTML é HTML, não importa se é gerado por PHP ou ASP. Mesmo com XML. Soquetes são soquetes, eles basicamente funcionam da mesma maneira em todos os idiomas. O OpenGL funciona da mesma maneira no Delphi e no C ++. A sintaxe específica é uma pequena parte da imagem quando você olha para o desenvolvimento como um todo. Algumas dessas habilidades são tópicos enormes por si só e muito mais difíceis de aprender do que um novo idioma.

O ponto é, foco nas habilidades. Claro, você pode não conhecer a principal tecnologia de desenvolvimento, mas isso é apenas uma peça do quebra-cabeça. Mas é provável que eles também usem outras tecnologias e sistemas operacionais que você conhece.

GrandmasterB
fonte
1

Você lutará para entrar pela porta se não tiver os acrônimos de gravação em seu currículo. Se você quiser mudar, dedique algum tempo a projetos pessoais para aprendê-lo bem o suficiente e depois destaque isso.

Craig
fonte
1

Certamente é possível. Acabei de iniciar um trabalho em que estou trabalhando em ruby, javascript e pronto. Antes de começar, não tinha muita experiência com nenhum desses idiomas.

Eu acho que a chave do meu sucesso aqui foi que, no período entre a resposta inicial e a entrevista, eu tive certeza de que conhecia bastante ruby ​​(o idioma principal) deles para entender e escrever código do mundo real. Eu acho que também ajudou o fato de eu conhecer Python e C, que são bastante semelhantes ao ruby ​​and go.

dan_waterworth
fonte
1

A empresa em que trabalho não procurou "programadores de C #". Qualquer bom programador faria como ele pode aprender um idioma rapidamente.

Se você contratar programadores com a idéia de permanecerem por alguns anos, então eu realmente não vejo isso como um problema, eles têm tempo de sobra para aprender os detalhes e a linguagem. Se eles saírem depois de um ano, provavelmente será uma perda de tempo.

Carra
fonte
0

IMHO, nem todos os programadores reagem da mesma forma. Língua é religião ;-)

Na minha experiência pessoal, gosto de aprender um novo idioma, mas trata-se de amar ou odiar muito rapidamente. Posso me apaixonar por um novo idioma no primeiro dia que o conhecer e usá-lo nos próximos anos. Eu também odiava idiomas desde o início até agora, até centenas de milhares, se não milhões, de programadores os estão usando.

Portanto, aconselho não comandar um programador de pares para outro idioma. Em vez disso, converse sobre a preferência de idioma durante a sexta-feira à noite, para descobrir seu amor ou ódio.

  • Deixo intencionalmente nomes de idiomas nesta resposta ;-)
Oh Ho
fonte