Como devo escolher um engenheiro de software de aplicativo da web?
A posição (permanente) é reescrever o cliente de um aplicativo existente de servidor cliente de desktop. As páginas não serão geradas dinamicamente em um servidor, mas o servidor exporá uma API completa da maneira que for necessária, por exemplo, chamadas JSON RPC e pode disponibilizar arquivos estáticos. Ele substituirá um cliente que as pessoas precisam baixar e instalar, portanto, é bom exigir um navegador decente com configurações razoáveis (por exemplo, JavaScript ativado). Quase todos os casos de uso são para um PC de mesa. Não será acessível aos mecanismos de pesquisa (é um aplicativo corporativo).
Podemos chegar ao ponto de escrever a coisa toda em uma única página, mas não precisamos. Tudo seria escrito pelo engenheiro de software de aplicativos da web em questão. As bibliotecas de código aberto exatas a serem usadas também dependem do engenheiro, dentro do razoável.
Estou procurando especificamente conselhos sobre quais qualificações procurar / verificar em uma entrevista, pois escolher um engenheiro de software de aplicativos da web em geral é um tópico muito amplo.
Editar - A posição seria puramente programação JavaScript no navegador (e seria responsável por HTML e CSS) - outros desenvolvedores desenvolveriam o servidor, mas essa posição poderia solicitar fachadas na API. Não há Ruby, ASP, JSP, etc. porque a camada do servidor da Web é muito fina e apenas converte chamadas para a API da camada de negócios e as retorna como JSON (ou qualquer outra coisa, mas o JSON parece mais fácil).
Respostas:
Como desenvolvedor da Web, que trabalha principalmente em aplicativos corporativos que lidam com sistemas legados, posso oferecer algumas sugestões sobre o que me faz ter sucesso e espero que isso ajude.
Não tenho certeza se você está procurando uma situação temporária / de consultoria para fornecer um aplicativo ou um ETI para desenvolver e manter isso a longo prazo, mas isso deve se aplicar nos dois casos, eu acho.
Apenas algumas reflexões da minha experiência nas trincheiras, mas se meu departamento estivesse contratando um novo desenvolvedor, é isso que eu diria a eles para procurar.
Gostaria que meu departamento tivesse o orçamento para outro desenvolvedor ...
fonte
Nota: Esta é simplesmente a minha opinião, então não jogue a pia da cozinha em mim;)
Eu acho que você está trocando os nomes de duas posições distintas (o que pode ser um pouco confuso).
Engenheiro de software : Um engenheiro. Alguém que é forte em resolver problemas abstratos que não estão necessariamente ligados a nenhuma plataforma específica. Forte conhecimento de padrões de projeto, algoritmos (ambos algoritmos conhecidos, bem como design e análise de algoritmos), alguma força na álgebra linear e talvez algum cálculo. Ao contratar um engenheiro de software no passado, não me preocupei tanto com o conhecimento específico do domínio quanto com a capacidade de resolver problemas complexos.
Desenvolvedor de aplicativos da Web : alguém que conhece os meandros da criação de aplicativos da Web. Entende as arquiteturas servidor versus lado do cliente e como se comunicar efetivamente entre os dois. Está familiarizado com os padrões W3C, ambos concluídos e estados WIP. Entende como os bancos de dados funcionam e como otimizar quando necessário (otimização de consultas, cache do banco de dados, indexação etc.). Entenda também diferentes mecanismos de armazenamento em cache e outras maneiras de otimizar seus aplicativos. Também compreende convenções semânticas.
Provavelmente há algumas coisas que estou perdendo que eu poderia preencher quando penso nelas.
Pela descrição do que você está procurando, parece-me que você não está procurando um engenheiro de software; você está procurando um desenvolvedor de aplicativos da web.
Então, a primeira coisa que eu faria é restringir quem você está procurando e qual experiência você espera de um candidato. Pode ajudá-lo um pouco.
fonte