Sobre o papel das tarefas de teste na vida do desenvolvedor

Quantas entrevistas técnicas você teve em sua vida?


Nos últimos cinco anos, visitei 35 entrevistas técnicas de todos os tipos e detalhes imagináveis ​​- desde startups do Cazaquistão para compra coletiva de carne para o inverno até serviços e bancos de tecnologia e alemães americanos; com preconceitos na programação, distribuição e gerenciamento; remoto e no escritório; tempo limitado e ilimitado; estressante e descontraído, em diferentes idiomas.

Isso, juntamente com ~ 20 entrevistas que eu mesmo conduzi como empregador, é suficiente para se tornar o rei das entrevistas para fazer a seguinte observação (inicialmente completamente óbvia) e para me estabelecer nela: Estou convencido de que isso se deve em grande parte ao número de entrevistas começando a se parecer Como hábito marginal, estudei minha pilha profissionalmente e me tornei um especialista em concorrência, apesar de já ter trabalhado 10 anos em desenvolvimento web.

Este artigo é dirigido a programadores que estão no início do caminho e ainda não esgotaram a profundidade do conhecimento. Nele, quero expandir a tese sobre os enormes benefícios educacionais das tarefas de teste e perguntas técnicas solicitadas para entrevistas - e convidar todos para o meu bot de telegrama recém-escrito ActualizeBot , onde, na minha opinião, você pode passar por uma entrevista técnica pelo menos todos os dias até que eles terminem. E para que eles não terminem, você também pode compartilhar uma tarefa técnica interessante, uma pergunta ou uma situação útil / divertida vivida em uma entrevista.

Vou falar mais sobre o bot abaixo. Vamos primeiro entender por que é tão importante conhecer e entender as respostas para essas perguntas e tarefas técnicas, mesmo se você estiver cortando projetos freelancers há anos.

Por que a qualidade do nosso conhecimento fundamental deixa muito a desejar?


As entrevistas técnicas, se você ainda não se tornou o rei das entrevistas, são um sério estresse para o corpo, bem como uma busca de emprego em geral - seja você um especialista iniciante, um comutador ou um desenvolvedor que trabalha em um local por um longo tempo (e por um "longo período de tempo", nosso tempo será reduzido em um ano).

Em muitas entrevistas, esse estresse tem um fator humano agravante. Seu entrevistador pode não ser Alena Vladimirskaya, mas algum programador comum, de quem é difícil esperar por tarefas adequadas e sua avaliação ou um líder de equipe incondicional que esperará um momento para diminuir toda a sua severidade em seus olhos, fazendo a pergunta: O que é para você ágil!?

Uma vez, sem dar a resposta necessária, mas, como você sabe, imprevisível para esta pergunta, fiquei sem uma oferta, pela qual estou extremamente feliz.

Tentando evitar esse estresse e movimentos desnecessários em geral, nos distanciamos não apenas da alta exposição de nossa ignorância a algumas características básicas da linguagem, mas também de reduzir um pouco essa ignorância.

O problema é que, na prática, essa classe de tarefas não é suficiente para nós.
Qualquer desenvolvedor que tenha trabalhado em vários locais confirmará que as tarefas fundamentais ou criativas apresentadas na entrevista raramente têm algo a ver com o que o programador lida na vida real - você não precisa de recursões, gráficos ou sistemas de controle de elevador assíncrono no planeta com gravidade negativa no outro braço da galáxia. Desculpe.

Quanto ao JavaScript nativo, há um bom exemplo - se o React.JS não tivesse aparecido, 98% dos programadores de JavaScript teriam continuado a viver alegremente inconscientes do que é o vínculo - mais de 20 anos após o aparecimento - e continuariam perplexos. recebendo perguntas sobre ele em entrevistas, e somente aqueles que inventam todas essas bibliotecas, estruturas e módulos altamente abstratos continuariam trabalhando com ele. Hoje, graças à reação, esse número foi reduzido, segundo os sentimentos, para 97%.

Obviamente, vendo o "isolamento das realidades" dessas tarefas, muitos desenvolvedores as ignoram ou têm tempo livre para mergulhar nelas - e continuam se engajando em uma rotina diária, ou seja, figurativamente falando, andando pelo campo minado para produção não apenas sem um detector de minas, mas também sabendo que eles estão em um campo minado.

O que é repleto de falta de conhecimento fundamental da língua


A resposta a esta pergunta parece banal, mas por alguma razão na natureza humana - sempre empurrando sua solução para o outro lado - e isso desempenha um papel triste na vida de programadores juniores e intermediários, estendendo seu caminho para as alturas (e profundidades) do conhecimento de linguagem por alguns anos de idade.

O código do aplicativo usando as estruturas e bibliotecas que eles estão acostumados a escrever todos os dias não pode ser considerado confiável se eles o escreverem sem uma compreensão suficiente dos vários aspectos de sua execução. Uma boa ilustração disso no mundo do JavaScript é o destino da biblioteca JQuery, que já foi um mecanismo de progresso e, hoje, sendo um campo de conhecimento independente extraído do restante do idioma, ocupa seu lugar natural no mercado - semiprofissional apressadamente escrito e trabalhando como você precisa de scripts de presente para o mesmo layout rápido no bootstrap de freelancers baratos.

O futuro dos projetos que estão sendo desenvolvidos com essa abordagem, embora inconscientemente, mas irresponsável, é prosaico e de vida curta: perda significativa de tempo inesperado, interrupções, perdas financeiras e de reputação e, como resultado, diminuição do entusiasmo pela cooperação contínua.

Por outro lado, pouco para uma pessoa que escolheu o caminho de um programador pode ser comparado com o prazer de entender o que ele está fazendo. Entendendo que ele, como o Barão Munchausen, empinava em um campo minado cavalgando. Escusado será dizer que um empregador decente pode ver claramente as pessoas que estão andando imprudentemente pelo campo minado e as pessoas congeladas pela indecisão a dar um passo em uma situação em que você pode correr e pular sem pensar em nada?

ActualizeBot


Vendo os benefícios das entrevistas e também entendendo que participar de entrevistas inativas não é totalmente ético, pensei que seria ótimo criar um bot em que um desenvolvedor iniciando ou mudando para outro idioma pudesse fazer um trabalho educacional sem recorrer a entrevistas reais nessa quantidade. em que aconteceu comigo. E lembrando como os programadores gostam de discutir e comparar tarefas que precisavam resolver - especialmente se fosse algo não trivial -, percebi que tudo se encaixava, rejeitava todas as dúvidas e pronto.

No momento, existem 3 funções simples no bot:

  • Assinando um idioma / estrutura em particular para receber novas tarefas nele. Você se inscreve e, ao receber tarefas, recebe-as no boletim diário
  • Publicando uma tarefa ou teste - No meu livro, eles dizem que compartilhar é cuidar
  • Um excelente gerador de nomes, com o qual você pode escolher a assinatura ideal para o texto da tarefa que você publica, incluindo dicionários femininos, não desprovidos de mulheres

No momento, são oferecidos os seguintes idiomas para escolher: JavaScript, Java, Python, PHP, MySQL. A escolha é um pouco limitada devido aos limites do meu entendimento. Espero, com a ajuda da habrasociety, reabastecer esta lista.

O bot é lançado em um formato puramente rock and roll, o pagamento por qualquer coisa não é esperado.
Você pode acessá-lo no link: ActualizeBot

Brevemente sobre implementação técnica


Esse bot é um dos vários pequenos projetos nos quais trago a primeira versão pública do meu miniframe de código aberto para desenvolver bots com uma estrutura complexa, carinhosamente chamada de Hobot e disponível no NPM para hardcore.

A estrutura é construída com base no Telegraf.JS e no TypeScript, sua versão zero-zero-primeiro, equipada com um exemplo de uso, pode ser visualizada no github e imediatamente testada . Em breve descarregarei a versão 0.0.2 estendida e penteada para a pessoa de lado e dedicarei um artigo separado a ela (porta-malas). Ficaria feliz se, para alguém, fosse tão relevante quanto para mim.

Então, quantas entrevistas você teve que assistir?
Tenho certeza que você tem algo a dizer!

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


All Articles