Eu tenho apenas dois idiomas no meu currículo - quão ruim é isso? [fechadas]


21

Eu tenho uma pergunta que pode ser melhor respondida aqui, dada a vasta experiência que alguns de vocês têm!

Vou terminar meu bacharelado em CS e vamos enfrentá-lo, estou à vontade com C ++ e Python. C ++ - Não tenho experiência para mostrar e não posso citar o padrão C ++, como alguns dos caras do SO fazem, mas ainda assim estou confortável com o básico da linguagem e com as coisas que mais importam. Com o Python, demonstrei experiência de trabalho com uma boa empresa, para que eu possa colocá-lo com segurança.

Eu nunca toquei em C, apesar de querer fazê-lo agora. Portanto, não posso escrever C no meu currículo porque nunca o fiz. Claro que posso terminar o K&R e ter uma noção do idioma em um mês, mas não tenho vontade de escrever, porque isso seria infiel a mim mesmo.

Portanto, a grande questão é: duas linguagens em um currículo são consideradas boas ou isso geralmente é um mau sinal? A maioria dos currículos que vi mencionam muitas línguas e, portanto, minha pergunta. Na seção de linguagem do meu currículo, eu apenas mencionei: C ++ e Python, e isso parece vazio!

Qual a sua opinião sobre isso e o que você acha dessa situação?

PS: Eu realmente não quero escrever todas as bibliotecas ou APIs com as quais estou familiarizado. Ou devo?


Você pode reformular isso para que seja mais uma pergunta?
Jeremy

10
Conhecer dois idiomas que saem da faculdade provavelmente é bom. É mais importante que você possa demonstrar que entende o que está fazendo.
ChrisF

Eu acho que é melhor ser bom em algo, mesmo que seja apenas 2 idiomas, do que conhecer muitos e não é bom em nada. E, como o @Jas disse, recomendo algumas linguagens de nível superior como o C #. Além disso, desde que você conhece Python, você pode tentar o django / google app engine? Os aplicativos da Web são a coisa do futuro, eu acho
Jiew Meng

Estou surpreso que você tenha evitado C em busca de seu BS. A maioria dos diplomas de CS tem uma cadeia de cursos baseados em 'hardware' que usam extensivamente C, como Organização Comp e Sistemas Operacionais.
Bryan Harrington

3
Promessa de nunca tocar em Perl, sim?
Job

Respostas:


24

Desde que você saiba como resolver os problemas, não importa em quais idiomas você é proficiente. Mas como você é proficiente em C ++, você pode investir alguns meses para adquirir alguma habilidade em C # ou Java (ou Ruby , para esse assunto).


+1 @Jas: excelentes conselhos sobre familiarização com as novas tecnologias. É importante se dar a profundidade de habilidade adicional.
precisa saber é o seguinte

2
"Desde que você saiba como resolver os problemas, não importa em quantos idiomas você é proficiente." Não quero chover no desfile do OP, mas sim, isso importa. Às vezes, temos de usar muitos chapéus diferentes para um trabalho e precisamos trocá-los rapidamente. Atualmente, escrevo em shell, Python, Perl, Ruby e SQLs diariamente no trabalho e poder alternar sem "tempo de reequipamento" é importante. Mas, eu venho fazendo essas coisas há muito tempo, então isso é esperado. Enquanto o OP se encarregar de continuar aprendendo mais idiomas, ele se sairá bem.
the Tin Man

2
Muito bom conselho. Eu consideraria escolher "Seven Languages ​​in Seven Weeks", de Bruce Tate, como uma maneira de uma grande variedade de idiomas e depois pensar nos tipos de trabalho que você gostaria de fazer e aprender os idiomas que se aplicariam.
plainprogrammer

Segundo a recomendação para as "Sete línguas em sete semanas" de Tate.
precisa

Certifique-se de conhecer estruturas de dados, grande notação oh, e você pode codificar em um quadro branco em um centavo, e você pode ser contratado em quase qualquer lugar. Você só precisa encontrar uma pequena loja para desenvolvedores, como o google, onde eles contratam programadores que conhecem c ++ e python.
28411 Kevin

6

Não é tão ruim se você estiver se candidatando a um emprego exclusivamente em C ++ ou Python. Alguns empregadores podem considerar o conhecimento de vários idiomas como um sinal de que você pode confiar rapidamente em aprender novos rapidamente, mas como você está apenas se formando, um empregador razoável provavelmente levará isso em consideração. Seria uma história diferente se você tivesse 20 anos de experiência profissional, mas conhecesse apenas 2 idiomas.

Você pode começar a se familiarizar com um novo idioma no qual está interessado e mencionar o seu currículo. Isso mostraria que você se dedica a ampliar sua seleção de idiomas e desenvolver suas habilidades.


Venho programando profissionalmente há mais de 30 anos e tenho muitos idiomas em meu currículo. Estou sempre aprendendo algo novo e que valeu a pena uma e outra vez.
the Tin Man

3

Dois problemas em conhecer apenas dois idiomas:

  1. Existem vários modelos de programação que podem ajudar a melhorar a maneira como você pensa sobre o design de problemas. A falta de conhecimento sobre esses outros modelos limita sua capacidade.

  2. Suas habilidades não são tão portáteis para outros idiomas e você está sem prática para aprender novos idiomas.

Quanto ao que se passa no seu currículo, essa é uma pergunta diferente: alguns empregadores ficarão muito felizes em encontrar alguém focado em apenas algumas coisas. Não acredito que seja uma boa nota para um programador, mas existem muitas necessidades e negócios diferentes.

Sugiro aprender pelo menos um idioma por ano, fora do que o seu empregador exige. É bom para o cérebro, seu design e seu currículo futuro.


2
+1 por destacar que idiomas diferentes ajudam você a pensar de novas maneiras. Quanto mais idiomas conhecemos, melhor somos capazes de escolher a ferramenta certa para um trabalho.
the Tin Man

E melhor ainda, certas linguagens sugerem soluções diferentes (como Prolog e Hanói, por exemplo, ou SQL e conjuntos de dados em fatias e em cubos). Esse entendimento define seu pensamento para problemas em qualquer idioma. Apliquei os conceitos SQL ao C ++ e ao STL e aos fundamentos do Prolog e Lisp nas pequenas linguagens que eu projetei.
precisa

em relação a 2., já que ele terminou a faculdade, duvido que ele esteja aprendendo fora da prática. Em relação a 1., sou atenuado, tanto C ++ quanto Python são linguagens multiparadigmas, portanto não são tão ruins quanto Java / C #.
Matthieu M.

1

Provavelmente, isso prejudicaria você com pessoas não técnicas que não percebem que aprender idiomas é a parte trivial da programação.


5
Aprender um novo idioma é apenas trivial se adiciona absolutamente nada além de sintaxe ao que você conhece. Aprender a escrever programas C ++ em Python ou Ruby é trivial, mas, na verdade, aprender Python ou Ruby não é trivial se você também tiver que aprender novos paradigmas de programação. Você pode realmente dizer a diferença entre alguém que acabou de aprender a sintaxe e depois cortou alguma coisa e alguém que realmente aprendeu o idioma.
Asm

trivial, mas absolutamente vital
Javier

Pela minha experiência, apenas as primeiras línguas são difíceis de aprender. Ao entender como as linguagens funcionam, você tem melhores perguntas e intuições e começa a trabalhar rapidamente com os conceitos.
precisa

@ Andrew, absolutamente, eu certamente quis dizer que a sintaxe de aprendizado é trivial, e isso é tudo que um currículo pode realmente mostrar.

1

Eu focaria seu currículo em sua experiência de trabalho demonstrada - mostraria que você concluiu os projetos. Isso vale muito mais do que as aulas que você teve. Verdade seja dita, a menos que um graduado em CS tenha realmente concluído um projeto real - e eu não estou falando sobre o trabalho da escola, estou falando sobre algo em que eles trabalharam por meses ou anos que foram realmente usados ​​por pessoas reais para resolver problemas reais - eles provavelmente não têm experiência suficiente para afirmar que "conhecem" qualquer idioma. Como você tem uma experiência de trabalho real com Python para uma empresa, provavelmente já está um passo à frente de muitas pessoas.

Além disso, sim, inclua definitivamente APIs e estruturas com as quais você trabalhou. Também não se esqueça do SQL, se você trabalhou com bancos de dados.


1

O número de idiomas no seu currículo é irrelevante. É importante ter os idiomas em seu currículo que seu empregador usa, e até isso é negociável.

Já passei por pessoas que "conheciam a linguagem" em favor de alguém com boa base em Ciência da Computação e conhecimento de uma linguagem de programação "próxima" daquela que usamos. Aprender a sintaxe de um idioma geralmente é trivial. Aprender os idiomas e as abordagens padrão geralmente leva mais tempo.

BTW, eu apenas coloco idiomas com os quais estou atualizado no meu currículo. Você não verá eiffel, esquema, C, etc. Também não coloco Java lá, mas é porque não gosto de usar a linguagem.


1

Eu o contrataria pela sinceridade. isso é tão valioso quanto uma terceira língua. O que você aprenderá em breve, certo?

Muita linguagem também pode gerar suspeitas. Bom para vendedor / vendedora em potencial, mostrando suas habilidades de besteira.

O histórico da API pode aparecer facilmente na entrevista. Alguns vêem o conhecimento da API como mais relevante que a própria linguagem. Se você conhece os pontos fracos da API, isso pode ajudar uma empresa a evitar erros. Se você conhece os pontos fortes da API, isso também é útil.

Uma estratégia é fazer uma breve recapitulação das APIs no currículo, mas mantenha a parte mais saborosa da entrevista para criar uma conversa.


1

Eu não acho que isso importe muito, especialmente porque esses são um bom par de idiomas:

  • ambos são multi-paradigmas, portanto você não está preso no OO
  • eles se complementam bastante bem, C ++ sendo de nível relativamente baixo (gerenciamento de memória) e Python, permitindo que você rapidamente corte um script juntos quando necessário (e é, na programação)

Já vi currículos com vários idiomas e, francamente, não estou impressionado. Qualquer pessoa pode aprender uma sintaxe de idioma (além de C ++: p) em uma semana ou duas, mas há uma diferença entre conhecer a sintaxe e escrever um bom código (idiomático).

Ao declarar apenas os 2, você mostra que é honesto e aberto. Saliente os projetos que você realizou para mostrar que os conhece, é muito mais provável impressionar seu futuro empregador.


1

Tive a sorte de entrevistar uma empresa que "entendeu" o caminho quando eu era estudante ... Embora eu tivesse uma lista embaraçosamente longa de coisas que "conhecia" (sendo muito liberal com esse termo), na verdade consegui o trabalho baseado em um programa montador de VMS que escrevi ... Que não coloquei no currículo, mas que saí na entrevista.

Literalmente.

Tipo, eu tinha na minha mochila (isso foi quando você costumava imprimir seus programas em impressoras matriciais industriais).

Então não. As empresas que "entenderem" provavelmente considerarão esse combo positivo.


1

Para uma primeira posição fora da escola, os intangíveis importam mais que a experiência. Ainda mais tarde na vida, você pode conseguir um emprego como especialista em apenas algumas tecnologias. (Isso não quer dizer que não aprenda outras línguas, só que isso não o deixará desempregado)

Esteja preparado para discutir algoritmos, escrever nos idiomas que você conhece em um quadro branco e mostrar entusiasmo pela solução de problemas. Se você puder fazer isso, encontrará alguém que possa usar suas habilidades.

Lembre-se de que a contratação é relativa à posição. Espera-se que os juniores sejam espertos e ansiosos. Espera-se que os idosos tenham uma experiência mais específica - é por isso que recebem mais.


0

A maioria dos graduados não tem muita experiência com o idioma, apenas um ou dois em que seu diploma se concentra. E a maioria que eu também enfrentei com esses poucos.


0

Depende do tipo de trabalho que você está tentando obter, realmente, e de quem está fazendo a escolha.

Pessoalmente, se eu estivesse contratando um programador júnior, procuraria principalmente a mentalidade e só esperaria que eles soubessem um ou dois idiomas. Se eu estivesse contratando um codificador líder, gostaria de ver uma lista completa de idiomas, pois aqueles que não trabalharam em muitos idiomas invariavelmente não têm idéia do design de idiomas, e é minha filosofia pessoal que alguém que entenda pelo menos o Noções básicas de design de linguagem é um tipo muito melhor de codificador de imagem grande.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.