Questionário do Stack Overflow para avaliação de programadores

Tradução do questionário do Stack Overflow para avaliação dos membros do time de desenvolvimento/programação. Os direitos autorais deste questionário são do Stack Overflow. Traduzido de: https://stackoverflow.com/company/salary/skills/web-developer

Colaboradores recebem uma nota (A+++, A+, A, B) para cada habilidade, que depois são calculados como uma única nota de habilidade de 0 a 5 utilizando a fórmula a seguir. Colaboradores do Stack Overflow são nota A na maioria das áreas, e possuem costumam possuir uma nota de habilidade entre 1 e 3.

Transparência de salários (calculadora) do Stack Overflow: https://stackoverflow.com/company/salary/calculator


Nota de habilidade = floor((4*Count(A+++) + 2*Count(A+) + 1*Count(A) + 0*Count(B)) / Count(*) * 3.5 – 2)


O que cada nota representa?

  • A+++ Reconhecimento público de habilidade incrível. Faz e ensina. Quando pessoas pensam sobre essa habilidade, eles pensam em você (ou iriam, se te conhecessem). Essa nota é rara, mesmo no time incrível do Stack Overflow.
  • A+ Faz mais do que o esperado pelo seu time, mesmo dentro do nível alto do Stack Overflow. Habilidades excepcionais e notáveis.
  • A Faz o que é esperado, conforme o alto padrão Stack Overflow. Completamente, absolutamente capaz de fazer tudo que é necessário.
  • B Poderia ser um pouco mais incrível. Esse é um bom item para ser trabalhado para o próximo ano.

Iteração

Implementa rapidamente e corretamente. Demonstra progresso regular, incremental e visível. Evita inter-dependência (acoplamento) entre módulos e excesso de planejamento de arquitetura. Responde bem a feedback e mudanças de prioridade. *Nota: Iteração significa implementação tangível e entrega de projetos/especificações com que outros possam interagir.

Planeja, organiza e antecipa

Transforma problemas difíceis e metas mal definidas em projetos realizáveis. Antecipa dependências e necessidades de stakeholders (outros times, usuários, clientes). Estabelece uma definição de sucesso e como será mensurado. Cria planos e roteiros sempre que necessário.

Auto-motivação para aprender

Aprende diversas tecnologias, técnicas e tópicos para satisfazer sua curiosidade. Se aprofunda em tecnologias já conhecidas. Usa seus aprendizados para melhorar nossa base de código e nossos processos.

Artefatos Públicos

Cria artefatos visíveis ao público em geral para ajudar outras pessoas. Exemplos: participa em fóruns (StackOverflow, etc), escreve posts de blog, contribui para projetos de código aberto, se apresenta em eventos.

Recrutamento, mentoria e instrutor

Se envolve no processo de recrutamento, como em divulgação, seleção e entrevista. Se interessa pela adaptação de novos funcionários. Participa em programas de mentoria, internos ou externos. Trabalha para instruir times não-técnicos.

Ideias

Consistentemente tem ideias novas e úteis. Sempre questiona e confronta o senso comum e os processos atuais. Pensa independentemente. Cria novos RFCs e participa construtivamente nos RFCs de outras pessoas. (Ideias podem ser compartilhadas por diversos meios, como e-mail, Google Docs, etc.)

Comunicação

Transmite conceitos, sugestões e objetivos intra- e inter-times. É proativo quanto a atualizar outras pessoas (pares, chefes, stakeholders) sobre o andamento das coisas. Sabe articular e persuadir. Não “desaparece” (os outros sempre sabem o que você está fazendo). Usa ferramentas (Trello, chat, calendário, e-mail, Google Docs) de maneira eficiente.

Banco de dados

Demonstra expertise em relação aos bancos de dados que nós usamos. Muito forte em linguagem SQL e performance (incluindo índices e planos de execução). Uso efetivo de Redis. Bom entendimento de Elastic (se apropriado). Outros conhecimentos de banco de dados podem ser considerados, também.

Ferramentas de Desenvolvimento

Altamente competente com IDEs e ferramentas de produtividade (ferramentas de gestão de banco de dados, controle de versões, processo de build, refatoração e análise). Forte orientação a testes. Consistentemente buscando maneiras de melhorar sua própria produtividade e qualidade de código, e também a de seu time.

Design de UX / UI

Faz de tudo para garantir uma boa experiência de usuário. Articula casos de uso. Quando aplicável, trabalha bem com designers, entende bem o vocabulário e implementa designs o mais fielmente possível.

Performance e Otimização

Faz de tudo para garantir uma aplicação de alta performance (proativamente e reativamente). Tem interesse constante em monitoramento e testes de performance (profiling, benchmarking). Considera a otimização de performance como parte do processo de entrega.

Entendimento Operacional

Garante que os interesses do seu time são bem entendidos pelo SRE (time de infraestrutura/operações) e vice-e-versa. Proativamente se comunica com o SRE para trabalhar em questões como disponibilidade, backups, monitoramento, logs e documentação.

Segurança

Bem-versado em riscos de segurança (XSS, SQL Injection), sabe como eles acontecem e como evitá-los. Reage rapidamente a relatórios de vulnerabilidades. Entende as garantias de segurança que os frameworks fornecem, e quais não são fornecidas. Evita padrões inseguros em novos códigos. Ciente e familiar com a lista OWASP Top 10.

Programação web

Especialista full-stack, incluindo HTTP, MVC, Ajax, JavaScript, HTML, CSS, IIS/servidores. Entende o código e protocolos sob essas abstrações e frameworks.

Stack .NET

Especialista em semântica C#, sistema de tipagem, e bibliotecas e frameworks associados. Entende o stack .NET, incluindo CLR, reflection, otimização e metaprogramação.

 

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>