O que os empregadores procuram em candidatos autodidatas? [fechadas]

23

Sou um programador autodidata prestes a entrar no mercado de trabalho. O que eu quero saber é qual é a melhor maneira de mostrar minha experiência aos empregadores?

O que os empregadores querem saber sobre minha experiência em programação? Os empregadores querem ver o código que eu escrevi ou podem ver o software em ação? Ou eles se importam apenas com o quanto meu software está sendo usado / com o quanto ele criou receita? Devo escrever sobre meu estilo de design e programação?

Minha formação: recentemente me formei em uma universidade onde estudei línguas estrangeiras, e foi nesse período que descobri que a programação é a coisa que realmente quero fazer. Atualmente sou programador de garagem, desenvolvendo um software para um cliente para uso comercial, continuando a me autodidata, mas meu objetivo é iniciar um emprego e uma carreira "adequados". Como uma reviravolta, eu moro na Finlândia no momento, mas estou procurando emprego na China ou no Japão (aprendi os dois idiomas enquanto estudava no exterior).

Ano Päivinen
fonte
Observe que a maior parte da programação atualmente é feita em equipes (simplesmente para ser realizada) e poder escrever código na forma esperada pelos outros é uma habilidade importante. Você pode fazer um ou dois cursos de programação em sua antiga universidade, se possível, simplesmente para aprender as habilidades básicas.
2
"aprenda as habilidades básicas" - isso não significava que você não conhecia nenhuma habilidade básica, mas que há muito a aprender e não é certo que você as tenha aprendido sozinho.
4
Veja o que todo major de CS deve saber . Ele enfatiza a importância de ter um portfólio de experiências git para mostrar aos funcionários, habilidades em Linux / UNIX, vários paradigmas de programação e muito mais. Veja também a Matriz de Competências do Programador e os cursos gratuitos de Ciência da Computação da Coursera .
Anthony
@ AnoPäivinen BTW, não subestime a quantidade de pessoas autodidatas no negócio e não desanime com o que pode parecer grandes lacunas que você terá no início. Eu trabalhei com algumas pessoas incríveis que foram autodidatas.
MrFox 04/04/12

Respostas:

8

Eu diria que os empregadores procuram essas coisas em todos os candidatos a programadores (isso vem da minha própria experiência como desenvolvedor chefe que está examinando os candidatos):

  • Capacidade de flexibilidade e aprendizado rápido de novas tecnologias (isso é especialmente importante para programadores autodidatas)

  • Capacidade de comunicar problemas

  • Capacidade de resolver problemas algorítmicos e logísticos (importante para programadores analistas)

  • Capacidade de estar em conformidade com os padrões e regras dos negócios locais, ie. Não fique muito atarefado, siga as convenções de nomenclatura da empresa em que trabalha.

  • Honesto e trabalho árduo.

Em muitos casos, as empresas maiores solicitarão que você forneça um exercício de candidato. Esses exercícios variam em dificuldade, mas um exemplo pode ser o código de um módulo reutilizável que converte uma quantia em dólares em uma sequência de texto legível em inglês que seria escrita em um cheque dessa quantia, ou seja. "$ 999,34" a "Novecentos e noventa e nove dólares e trinta e quatro centavos".

É importante notar que não é apenas o código que eles estarão vendo nesses exercícios, mas também a documentação que o acompanha, ou seja. documento que explica os problemas, as suposições e o algoritmo usado. Eles também examinarão suas convenções de nomenclatura (principalmente verificando a consistência) e verificando os comentários claros do código.

Aaron Murgatroyd
fonte
9

Uma pista

Sério, procuro apenas algumas coisas em um candidato:

  1. capacidade básica de programar
  2. interesse em programação
  3. compreensão proporcional à educação e experiência
  4. capacidade de aprender
  5. bondade

Exemplos: graduado autodidata do ensino médio que resolveu 50 problemas de Euler: contratação fácil. MSCS com 4.0 GPA que não pode explicar a diferença entre o TreeMap e o HashMap: não contrate.

Kevin Cline
fonte
Você pode explicar o que você quer dizer com bondade? É uma propriedade de não ser um idiota?
Ano Päivinen
1
@ AnoPäivinen: Abrange uma série de comportamentos relacionados ao tratamento de colegas, que se resumem a consideração pelos outros. "Jerk" é definido pelo fracasso em considerar os outros.
kevin Cline
Eu estava prestes a dizer que deveria trabalhar para você, com base em suas necessidades, mas não tenho idéia do que é um mapa de árvore / hash. Depois de três anos vivendo e respirando software / desenvolvimento da web, eu ainda sou criticado em entrevistas por coisas que nunca ouvi falar. Me faz sentir que não aprendi nada. Às vezes juro que todos inventam essas coisas. Ou isso, ou eu realmente não vou aprender nada até ser contratado.
Josh Campbell #
@ Jos: obtenha uma cópia de "Introduction to Algorithms". Qualquer edição.
Kevin cline #:
1
@papercuts: Se você está se candidatando a estágios, acho que seria razoável mencionar que você resolveu n problemas de Euler, onde n> 20. Seu objetivo com um currículo é receber uma ligação. As informações que mostram alguma capacidade de realmente programar não serão prejudiciais.
Kevin Cline
3

Outros já responderam à sua pergunta direta sobre candidatos autodidatas. No entanto, há outra consideração que pode ser ainda mais importante do que ser autodidata ou não. Estou falando das culturas dos países em que você planeja trabalhar e morar.

Primeiro, nunca escreva "emprego na China ou no Japão" . Parece "Finlândia ou Austrália" (sem ofensa). Eles são totalmente diferentes, e você tem que escolher.

Além disso, o emprego em outro país geralmente significa impostos mais altos para uma empresa, várias limitações (por exemplo, contratar um estrangeiro, contratar N nativos) e assim por diante. Portanto, para ser contratado na China, você precisa ser muito bom no que está fazendo .

De fato, você tem duas melhores opções:

  • Forme-se em um país do seu futuro. Isso lhe dará (a) conhecimento em padrões nacionais; (b) contatos comerciais; (c) diploma formal (que pode ser mais importante do que você pensa). Da mesma forma, em toda parte, as grandes empresas entram em contato com as universidades para encontrar os alunos mais importantes, e você tem boas chances de ser o único.
  • Inscreva-se em uma empresa multinacional com filiais na China. Você pode falar com o RH e concordar em trabalhar em uma posição local por um determinado período de tempo e depois se mudar dentro da mesma empresa (menos papelada). Tendo idioma e formação cultural, seria mais fácil para você. E, no momento da mudança, você já terá experiência prática em TI na empresa.
bytebuster
fonte
Obrigado pelas ideias! Com certeza pode parecer estranho que eu esteja decidindo entre China (Xangai) e Japão, eles são muito diferentes, mas eu realmente gosto dos dois. Mas ainda não consigo decidir qual é o melhor, então estou apontando para os dois e ver o que acontece. Eu me pergunto se isso faz sentido!
Ano Päivinen
Você pode gostar dos dois. Apenas verifique se seus aplicativos são específicos para os mercados de trabalho chinês e japonês. Talvez, diferentes cartas de apresentação também sejam úteis, como nesta resposta .
Bytebuster 13/08/2012
2

O que os empregadores querem saber sobre minha experiência em programação?

Principalmente, você tem alguns. Coloque-se no lugar deles: se você estivesse contratando alguém, escolheria o cara que talvez não saiba o que fazer com um compilador, ou o cara que já passou pelo quarteirão algumas vezes, aprendeu a resolver problemas e pode obter alguns trabalho útil feito sem muitas mãos dadas?

Os empregadores querem ver o código que eu escrevi ou podem ver o software em ação?

Sim. Ter algum código para mostrar pode ser útil. Ter um produto funcional para mostrar e estar preparado para responder perguntas sobre como ele funciona, por que você fez dessa maneira etc. também pode ser útil. Empregadores diferentes valorizam essas coisas de maneira diferente, mas é sempre melhor ter algo do que não ter nada.

Como uma reviravolta, eu moro na Finlândia no momento, mas estou procurando emprego na China ou no Japão (aprendi os dois idiomas enquanto estudava no exterior).

Muitas pessoas na China e no Japão falam chinês e japonês, respectivamente. Provavelmente não muitos que falam inglês e finlandês também fluentemente. Use essa força para sua vantagem - procure empresas que precisam dessas habilidades linguísticas.

Caleb
fonte
3
"Coloque-se no lugar deles: se você estivesse contratando alguém, escolheria o cara que talvez não saiba o que fazer com um compilador" - Para muitas empresas, isso depende inteiramente de quão baratas elas são.
Pd12
2

Eu diria que as habilidades mais importantes que os programadores autodidatas podem carecer sem saber são as relacionadas à engenharia de software e arquitetura de software.

Saiba mais do que apenas escrever código, saiba o que é manutenção e como alcançá-lo; o que é o SOLID, por que é considerado bom e necessário; padrões de design, etc.

Além disso, tente corrigir quaisquer partes ruins do seu processo. Por exemplo: teste automatizado (algo que todos deveriam fazer!), Rastreamento de bugs, controle de revisão da fonte (também obrigatório). Esta lista não pretende incluir tudo, é apenas um exemplo.

K.Steff
fonte
2
Isso é o que eu normalmente acho ausente nos graduados em CS! Capacidade de recitar O (n) para diferentes contêineres, mas nunca tendo usado um depurador.
22312 Martin
2

O que os empregadores querem saber sobre minha experiência em programação? Os empregadores querem ver o código que eu escrevi ou podem ver o software em ação?

Sim, essas são as melhores opções. As qualificações não são um indicador particularmente bom para a capacidade de escrever código. O mesmo se aplica aos empregadores anteriores - muitas pessoas podem trabalhar em um emprego para o qual não são adequadas. Quero ver que tipo de código você escreve e um histórico de poder criar coisas que foram colocadas em produção.

Ou eles se importam apenas com o quanto meu software está sendo usado / com o quanto ele criou receita?

Isso está fora da sua área de responsabilidades, não me importo com isso, a menos que você esteja assumindo uma função de gerente de projeto ou superior.

Devo escrever sobre meu estilo de design e programação?

Não é demais, mas talvez pontos de bala mostrando áreas de interesse com seus exemplos de código sejam úteis.

Jim
fonte
OK, vou me importar menos com o modo como meu software acaba nas mãos do cliente e consentir em escrevê-lo bem.
Ano Päivinen
2

Habilidades de auto-aprendizagem

Sim, o auto-aprendizado é sua habilidade competitiva de ponta , que você deve enfatizar e apresentar com orgulho. Além disso, você deve mostrar sua paixão pela programação e desejo de auto-aperfeiçoamento.

O que os empregadores querem saber sobre minha experiência em programação? Os empregadores querem ver o código que eu escrevi ou podem ver o software em ação?

Eles querem ver suas realizações e habilidades de raciocínio analítico. Eles querem ver - o que você fez que beneficiou o projeto, que papel (s) você desempenhou na execução de um projeto se trabalhou em equipe. Como você soluciona os problemas e supera os problemas técnicos. Como você trabalhou com faculdades, como lidou com a pressão do trabalho.

Alguns outros pontos que podem ser muito importantes para os empregadores:

  1. Boa atitude
  2. Paixão pela programação
  3. Experiência com computador - para entender que você entende o básico de como o computador e o software funcionam
  4. Ética no trabalho e habilidades sociais
  5. Capacidade de aprender e auto-aperfeiçoamento
  6. História educacional
  7. Experiência anterior de trabalho
  8. Falta de noções preconcebidas
  9. Capacidade de fazer perguntas - Sim, faça perguntas em vez de fazer suposições.
EL Yusubov
fonte
1

Além das outras respostas - liste as ferramentas que você aprendeu enquanto ensinava a si mesmo.

Treinei graduados de escolas de grandes nomes com grandes títulos que insistiam em escrever código Java no bloco de notas do Windows e usar o compilador de linha de comando ('é melhor assim' - para um programa de uma classe). A maioria dos locais de trabalho usa IDEs e outras ferramentas de programação. E ensiná-los a usar o Eclipse foi mais fácil do que tentar ensiná-los SVN.

Ao listar um ou mais ambientes IDE ou (mais importante) uma ou mais ferramentas de repositório de código, você mostrará que está pronto para trabalhar com uma equipe.

Resposta B: se você puder chegar lá, experimente a feira CEBIT em Hannover, na Alemanha. Costumávamos receber pessoas visitando nosso estande pedindo emprego em nosso país. A probabilidade é baixa de encontrar a pessoa certa que pode ajudá-lo. Ou pergunte se eles precisam de uma pessoa local / da Europa para ajudá-los.

jqa
fonte
Bom argumento para aprender diferentes IDEs. Minha atitude até agora tem sido "o que eu vou aprender quando necessário".
Ano Päivinen
1
Entendo o seu ponto de vista sobre os IDEs, mas aceitaria alguém com apenas experiência em Java de linha de comando sobre um desenvolvedor do BlueJ em qualquer dia!
Michael K
0

Depois de demonstrar que você escreveu um código de qualidade, como e onde você aprendeu a programar é menos importante. Você construiu o aplicativo inteiro, para poder explicar o design, os problemas que enfrentou e por que escolheu essas soluções.

Se a sua inscrição não for bem conhecida, você precisará fornecer mais explicações no seu currículo e cartas de apresentação. Ter um grande número de usuários é um benefício, pois mostra que você pode lidar com a escala, a receita gerada será difícil de adicionar qualquer benefício. Alguém poderia contratar um programador para criar uma aplicação usando horóscopos para ajudar cirurgiões cerebrais. Não tenho certeza se responsabilizaria o programador por este produto inútil. Talvez uma startup prefira um desenvolvedor com algum senso de produto, mas não pode se opor a você porque você precisa pagar suas contas.

JeffO
fonte
0

O que eu quero saber é qual é a melhor maneira de mostrar minha experiência aos empregadores?

Se os diplomas não estiverem disponíveis, as certificações conhecidas são uma vantagem. Algumas certificações não exigem um curso, você só pode fazer o exame.

O que os empregadores querem saber sobre minha experiência em programação?

Sua experiência de programação consiste em projetos. No seu currículo, você escreve suas habilidades. Na entrevista, você será perguntado sobre os projetos nos quais trabalhou. Depois, você falará sobre o que fez, quais problemas encontrou, as soluções que encontrou etc.

Os empregadores querem ver o código que eu escrevi ou podem ver o software em ação?

Talvez. Pessoalmente, não ouvi falar de empregadores pedindo para ver o código (além do código que você escreve durante a entrevista técnica, como teste). Se você é um web designer ou designer de interface do usuário, na maioria dos casos, eles desejam ver alguns sites que você criou ou projetou.

Ou eles se importam apenas com o quanto meu software está sendo usado / com o quanto ele criou receita? Devo escrever sobre meu estilo de design e programação?

A maioria dos empregadores estará interessada nas linguagens de programação em que você codifica fluentemente, no conhecimento que possui e nas habilidades que adquiriu. Quanto o software é usado e a receita criada é material de marketing, não de programação. A maioria das empresas tem seu próprio estilo de design e programação. Eles esperam que um funcionário esteja familiarizado com técnicas como Agile, Scrum, Extreme, dependendo do que usar.

Coral Doe
fonte