Simplifique a escrita do currículo de um desenvolvedor

O problema


Cada vez que chega a hora de procurar trabalho, o candidato se senta para atualizar o currículo e, ao mesmo tempo, olha com um olhar mais experiente para sua experiência passada. E reescreve tudo, de novo e de novo. E cada vez que ele pensa que encontrará uma vaga de sonho, ele se tornará tão experiente que será chamado para um novo lugar sem nenhuma ação da parte dele. E então a história se repete, uma e outra vez.



Para aqueles que não estão interessados ​​nas letras e que querem começar imediatamente os negócios, vá em frente no github . E para aqueles que se preocupam com a mecânica e a história do projeto, o artigo é realmente dedicado a ele.


Com o advento de recursos especializados em troca de mão-de-obra, como LinkedIn, HeadHunter etc., parece que a situação deveria ter melhorado - reunimos toda a experiência em um só lugar, e o passado não é mais inventado. Mas não estava lá - eles o preencheram em um sistema, você não pode simplesmente descarregá-lo em outro com um clique do mouse. Não há um banco de dados único no qual você possa vincular sua conta. É compreensível - essas empresas estão interessadas em expulsar outras pessoas, e não se envolvem em integração umas com as outras, e candidatos simples, como resultado, só pioram.


Atenção especial deve ser dada às empresas que, na fase da entrevista, ainda exigem que o candidato preencha as mesmas informações em seu sistema interno, exigindo novos e novos detalhes. E ainda pior - se você estiver solicitando um currículo.


Mas sempre que você solicita uma vaga, há sempre um campo para anexar um currículo em .doc ou .pdf . E, apesar da abundância de “lixo de informações” em toda a cadeia, você precisa se adaptar e seguir as regras da maioria - caso contrário, ninguém aceitará um candidato ao trabalho, porque eles simplesmente não sabem sobre ele.


Em teoria, o problema poderia ser resolvido com um 'centro único' - se:


  1. todas as plataformas para colocação e resposta de vagas serão unidas no nível de recurso / protocolo único;
  2. “Como escrever um currículo” não será mais uma questão de arte e pesquisa, e haverá um único padrão aceito por todos;
  3. haverá uma única ontologia das vagas mais populares, segundo a qual é possível entender a natureza da avaliação das habilidades / experiências / qualidades dos candidatos a essa vaga;
  4. os candidatos não mentem e exageram em seus currículos;
  5. não há concorrência para os candidatos se venderem.

No mundo real, isso é quase impossível, uma vez que as trocas trabalhistas estão se desenvolvendo de maneira descentralizada, e cerca de 4-5 pontos, provavelmente é impossível resolver mesmo com um único centro.


Mas, ainda assim, algo pode ser feito para simplificar a vida do candidato, ou seja, para si mesmo. E eu vou tentar fazer isso.


Idéia


De uma maneira ou de outra, o resumo:


  1. descreve as qualidades do candidato;
  2. prova isso com experiência.

Diferentes trocas de trabalho oferecem oportunidades ligeiramente diferentes para a base de evidências; em algum lugar existem campos separados para publicações, em algum lugar a possibilidade de uma descrição detalhada dos projetos, etc. I.e. todos os nós de destino da cadeia de informações fazem uma projeção ligeiramente diferente da experiência real e criam um certo complemento para suas próprias ferramentas (pesquisa por habilidades, recomendações automáticas etc.). Depois de ter a descrição mais completa da sua experiência, você pode criar essas projeções com relativa facilidade, dependendo dos requisitos específicos. Inclusive para compilar um currículo.


Assim, minha ideia é desenvolver um formulário para manter um registro da minha experiência de trabalho e projetar automaticamente esses dados em uma vaga específica e no formulário necessário, conforme mostrado no diagrama.



Somente parte dos dados se enquadra na projeção e, no caso mais simples, é simples impressão sob o formulário, nos casos mais complexos, é um filtro de dados relevantes para a vaga (alocação de projetos com habilidades essenciais, mais espaço de impressão para a experiência real, etc.).


Idealmente, esse "diário" deve:


  1. somente suplementados, registros antigos permanecem inalterados;
  2. é preenchida quando novas informações relevantes são exibidas (conclusão do trabalho no local atual, nova publicação, projeto concluído) - é assim que será possível fornecer a descrição mais bem-sucedida;
  3. contém informações que colocam o candidato em uma posição favorável (mas, além disso, faz sentido anotar pontos importantes para si mesmo, mesmo que sejam negativos - apenas o necessário será impresso).

I.e. é uma 'projeção' da experiência real em um espaço de habilidades e evidências. Isso, em geral, está no cerne de qualquer sistema de intercâmbio de trabalho, mas essas oportunidades não estão disponíveis para os candidatos.


Minha história


Comecei como todo mundo, abri o MS Word, procurei um modelo bonito e comecei a escrever. Procurei exemplos, tentei copiar com sucesso. Em algum momento, mudei para o LaTex, estruturando mais ou menos a experiência. Passei por diferentes formas visuais, experimentei formas. Durou cerca de 10 anos e, finalmente, chegou a hora da quantidade se transformar em qualidade.


Durante a última procura de emprego, aperfeiçoei mais ou menos a forma e a apresentação do material, mas a quantidade de experiência já me fez pensar seriamente na compressão máxima de informações. Muitas decorações foram introduzidas, que não apenas pareciam boas, mas também evitavam o texto volumoso. Mais importante, chegou uma compreensão do modelo ORM do próprio currículo (conquista-projeto-habilidades-empregador).


Mais tarde, até a principal inovação apareceu - a realização de como exibir suas habilidades da maneira mais compacta, conveniente e bonita possível, mas isso é uma cereja no bolo, e falaremos sobre isso mais tarde.


Agora, aparentemente, estou novamente me aproximando do próximo período de procura de emprego e quero me afastar completamente dos resumos de edição manual e cavar memórias de experiências passadas em favor da automação. Portanto, tive que agitar meu trabalho mais uma vez, transferi-lo para o formato de revista e criar um gerador de trabalho mínimo, que quero compartilhar minha experiência de desenvolvimento.


Retomar a escrita como um feed de história


Eu encontrei repetidamente a opinião de que a tarefa de um currículo é mostrar o candidato de uma maneira favorável. Mas, de fato, sua tarefa é fazer com que o RH entre em contato com o candidato após a leitura. A partir daqui nasce uma conseqüência adicional - se ele lê até o fim, então a probabilidade de entrar em contato é maior. Portanto, considerei a tarefa de compilar um currículo na formulação de como enviar material para que o currículo de RH leia até o fim .


Farei uma reserva antecipada de que não darei conselhos sobre como redigir um currículo, qual é o melhor método de escolha etc. - há muito material escrito sobre isso sobre pessoas com muito mais experiência do que eu nesse assunto. Aqui, darei apenas a forma e a sequência às quais finalmente cheguei e argumentei.


Tentei simular como o RH lerá o currículo. Assim que ele encontrar evidências da inadequação do candidato, ele o fechará e não lerá mais. Se você imagina esse processo simplificado na forma de um fluxograma, obtém o seguinte:



Portanto, no formulário proposto, ordenei as seções em uma sequência em que a próxima seção não importa se há uma incompatibilidade de vagas na anterior.


Dados pessoais . Se você mora longe do escritório, não está pronto para a realocação, não tem permissão para trabalhar nesta região ou não fala o idioma da equipe de destino, o resumo não será lido mais.


Objetivos . Se o candidato estiver procurando um cargo que não corresponda à vaga ou se seus interesses diferirem do que ele pode encontrar nessa empresa, o currículo não será lido mais.


Educação Muitos levam a educação até o fim, argumentando que a coisa mais importante é a experiência . Discordo totalmente, porque o ensino técnico superior ensina você a pensar primeiro. Um grau científico é envolver-se com competência em projetos de pesquisa e proteger os resultados. Prefiro colocar esta seção quase no começo, não por causa da criticidade de ter educação, mas para quebrar o prisma de perceber mais material de uma maneira positiva.


Competências Os requisitos de habilidades não são ambíguos para vagas específicas. Se você está procurando C ++ experiente para desenvolver drivers, e no topo as habilidades de JS, Ruby on Rails e Java - então você não pode ler mais.


Projetos O trabalho dos desenvolvedores está principalmente ligado não ao local de trabalho, mas ao projeto. E o empregador atua como intermediário condicional entre o funcionário e o projeto e, em uma empresa, o candidato pode ter muitos projetos. Eu incluo projetos de hobby aqui, como Eu tenho muita experiência neles. Em outras palavras, a evidência das habilidades declaradas é fornecida aqui, se não houver evidência, ela não será lida mais adiante.


História do Trabalho . Se nosso RH simulado chegou aqui, pelo menos ele acredita que o candidato participou de vagas relevantes. Todos os méritos e realizações técnicas já foram descritos na parte anterior, mas aqui o RH pode avaliar a frequência de uma mudança de emprego e áreas problemáticas com as quais o candidato está familiarizado. Se, por exemplo, ele muda seu local de trabalho com muita frequência, não pode ler mais.


Atividade profissional . Além da experiência profissional, os candidatos verdadeiramente apaixonados pela profissão não se limitam a projetos comuns de trabalho e hobby, mas também fazem ciência, escrevem em blogs, fazem publicações populares e fazem apresentações em conferências especializadas. Portanto, aqui, em primeiro lugar, dou publicações científicas (as prioridades são indexadas no Scopus), depois as populares (por exemplo, como este artigo) e, em último lugar, a apresentação em conferências. Este parágrafo é mais um complemento e não é um "ponto de corte" obrigatório.


Interesses e qualidades . Um ponto clássico, da qual duvido, porque não acho que carregue uma carga construtiva.


Como destacar habilidades


O que são 'habilidades' e quais detalhes são necessários ao preencher - essa é uma pergunta em aberto. Por exemplo, em algum lugar você pode escrever C ++, em algum lugar boost (e ainda não escrever em C ++), mas em algum lugar C ++, STL, boost. E lembre-se da mesma coisa.


Deve-se entender que recrutadores e RHs raramente têm uma especialidade técnica e, mais ainda, experiência. Isso significa que talvez não seja óbvio para eles que STL e boost incluem C ++. Portanto, aqui você precisa se concentrar principalmente nas vagas e ver quais palavras-chave são usadas lá.


Para mim, ao preencher a revista, decidi preencher mais (mesmo com duplicação semântica) e, em seguida, espero adicionar um "filtro" de habilidades relevantes com base na vaga.


Revista Experiência


O diário é um perfil do candidato e pode ser apresentado na forma do diagrama a seguir. Indicarei apenas os atributos básicos para entidades e usarei a notação ActiveRecord para aumentar a legibilidade para indicar relacionamentos.



Em seguida, consideramos as entidades descritas em mais detalhes com exemplos e usamos JSON como a linguagem de implementação.


Com dados pessoais, tudo é bastante trivial, como nos contatos . Somente habilidades de linguagem são colocadas aqui, porque ao contrário do emprego na Rússia, isso não é uma vantagem competitiva, mas um meio de comunicação. E se o recrutador ligar para você, deixe que ele entenda imediatamente em qual idioma iniciar o diálogo.


A instituição é colocada na instituição, o status do diploma (doutorado, especialista, mestre, etc.), o nome do diploma, o período de estudo e a nota média. Também acho útil colocar uma especialização em perfis amplos e o título de um diploma.


As habilidades devem ser recrutadas automaticamente dos projetos, mas o que considero importante é refletir minha atitude em relação à habilidade. Por exemplo, se esse é o C ++, que adoro escrever, quero enfatizar que gosto de escrever nele e estou duplamente interessado nas vagas em que posso fazer isso. Ou vice-versa - o que eu não quero escrever em C #, mesmo que eu tivesse que fazê-lo.


No projeto , além da duração, tamanho da equipe e descrição, eu sempre prefiro fornecer um link da Web para o recurso da Internet que o representa. Se possível, também dou um logotipo para decoração, pois pessoalmente para mim a navegação em um currículo é bastante simplificada e o texto fica menos uniforme. Um projeto é o alicerce mais importante da sua experiência e, como exemplo


{ "name" : "Photoshop", "icon" : "photoshop_project.png", "period" : "01.09.2015-30.08.2016", "description" : "Raster graphics editor", "team-size" : "9", "web" : "https://www.adobe.com/products/photoshop.html", "tasks" : [ "..." ] } 

Cada projeto consiste em tarefas que foram resolvidas e nas quais o candidato realizou algumas conquistas . Essa é precisamente a evidência principal da experiência - uma conquista idealmente expressa em forma numérica. A tarefa pode ser uma dentro do projeto. Além disso, as habilidades estão ligadas à tarefa, que forma a base para gerar estatísticas de habilidades:


 { "description" : "Development of text-recognition filter from raw image", "period" : "01.09.2015-28.02.2016", "skills" : ["CI", "C++", "ML"], "achievements" : [ "achievied recognition accuracy up to 85%" ] } 

E as realizações permitem enfatizar que, graças à sua solução para esse problema, alguém no mundo se tornou melhor e é muito bom fazer uma avaliação quantitativa. E visualmente esse projeto está indo para o seguinte:



A história do trabalho , além de campos triviais, contém links para projetos. Sou contra a lista das "responsabilidades" aqui - isso já está nos projetos. Também prefiro usar logotipos de empresas, especialmente se forem logotipos famosos. Se o RH ficar desapontado com o parágrafo anterior e fechar o currículo, mas vir um logotipo familiar, ele poderá salvar a situação.


Publicações , conferências e recursos são entidades triviais não relacionadas a nada, portanto não darei muita atenção a elas. As publicações (científicas e não-ficção) são armazenadas como arquivos bibtex.


Implementação


Toda a implementação com a descrição anexa pode ser encontrada no github .


Tentei preparar um exemplo fictício de um currículo , refletindo as idéias descritas da maneira mais precisa possível e usando plenamente os recursos atuais do compilador.


Você precisa do docker para funcionar, mas se isso for um problema, o principal é colocar imagemagick, latex e python.


 FROM ubuntu:latest RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends build-essential librsvg2-bin lmodern inkscape zip python3 python3-dev python3-pip libcairo2-dev apt-utils pkg-config python3-setuptools texlive-fonts-recommended texlive-latex-extra dvipng texlive-latex-recommended texlive-xetex && pip3 install --upgrade pip 

O currículo é coletado em formato PDF usando o Latex-a. Para logotipos, você pode usar imagens vetoriais (svg) ou bitmap (png) com alfa. Fonte - Arial Narrow, popular nos currículos devido à sua largura.



Eu prestei atenção especial à visualização de habilidades neste projeto, pois é nelas que o principal filtro de candidatos se encaixa. Pelo que conheci, as seguintes abordagens podem ser distinguidas:


  • lista agrupada com gradações (especialista, iniciante);
  • tabela (grade - graduação / habilidade);
  • mistura de habilidades em projetos;
  • adição de pontos de experiência anteriores em anos entre parênteses.

Cada abordagem é boa à sua maneira, se você a ler com cuidado e atenção, mas se você não passar mais de 10 segundos nela, todas elas estão fadadas ao fracasso.


Além disso - sua própria avaliação do seu nível (iniciante / especialista) não tem muita construtividade. Há cinco anos, considerei meu nível de C ++ significativamente maior do que penso agora, embora durante esse período tenha crescido muitas vezes nessa direção. A única avaliação objetiva que posso dar à minha habilidade é quanto tempo a usei. Isso formou a base para a implementação desta seção.


Mas como avaliar esse período? Lembro que o primeiro programa em C ++ foi escrito na 7ª série e a última vez que escrevi algo hoje. Afinal, é errado tirar 13 anos da sua idade e escrever o resultado em experiência - afinal, houve períodos em que eu não escrevi nada e a habilidade não cresceu.


Mas, então, posso listar os projetos nos quais usei C ++ e observar a duração deles, que, de fato, já foi realizada no diário . E se eu trabalhasse simultaneamente em dois projetos que usavam C ++, a habilidade não aumentaria em velocidade dupla. E isso já é fácil de calcular com base na revista e nas estatísticas de exibição.


E olhando essas estatísticas, o RH pode descobrir rapidamente se você é adequado para uma vaga ou não. Além disso, às vezes eu mesmo estou interessado em examinar minhas estatísticas - sou tão experiente quanto pensei e vice-versa.


Como é isso?


Tudo junto fica assim:




Para o artigo, cito especificamente a versão no formato A5, por padrão, o compilador está definido como A4.


Comentários


Se mais pessoas seguirem padrões comuns no recrutamento de questões de ambos os lados (RH e candidatos), será mais fácil para todos viverem. Portanto, se você também adota visões idealistas e gostou do projeto, mas sabe como melhorá-lo, estou aberto à interação e ficarei feliz em receber qualquer feedback.


Também fiz um projeto com base nas posições de Engenheiro de Software / Desenvolvedor de Software, por isso não faço ideia do quanto meu trabalho é adequado para outras posições. Mas não excluo que isso é possível.


Para onde ir a seguir


O plano de desenvolvimento adicional é muito trivial, embora inclua uma implementação não trivial:


  • Implementar compactação inteligente. Forneça no mínimo informações sobre projetos antigos, no máximo - relevantes e relevantes. Agora, isso é implementado apenas para cortar publicações antigas, mas elas já ocupam pouco espaço. É necessário observar os limites de volume e não violar as regras do gênero.
  • Implemente um filtro de informações relevantes. No caso mais simples, é criada uma ontologia de habilidades com perfis (incorporado, C ++, fintech, front-end etc.), e o perfil é um parâmetro para o compilador. Idealmente, fornecemos um link para uma vaga (seja uma página no linkedin), o compilador, no caso mais simples, procura por palavras-chave ou analisa-o usando um banco de dados / ML e filtra habilidades e projetos relevantes.

Enquanto isso, tudo de bom e boa sorte em encontrar um emprego!

Source: https://habr.com/ru/post/pt435194/


All Articles