O que eu estou no ACID ou não nos convém


Este é um post de surpresa. Fui a entrevistas em três startups de Minsk e em uma pequena empresa, e foi isso que aconteceu.


Vou contar um pouco sobre mim. Não por elogios, mas para dar uma idéia. Desde a infância, gosto de programação. Para os ouvidos não se afastaram do computador. Em desenvolvimento 11 anos. Centenas de projetos de diferentes níveis de dificuldade: móvel, multiplataforma, frontal, traseira. Ele escreveu em 13 idiomas (excluindo todos os html, css, bash, sql). Em algo mais, em algo menos, mas tudo em projetos reais. Estou escrevendo um bom código limpo, remexendo na usabilidade. Um pouco de código aberto, conforme o tempo permite, para extrair uma dúzia de pacotes para o Arch Linux. Em resumo, estou me divertindo, tanto quanto posso, durante o trabalho e no meu tempo livre. Os últimos 5 anos como freelancer. Frequentemente, trabalho em casos de negócios de clientes de e para. O ChSV não está inchado: quando você vê a habilidade e como alguns caras usam o GitHub ... Bem, você entende. E, em geral, sou normal: troco meias, uso desodorante, quase não juro no tapete :)


Então, eu falhei em três de quatro entrevistas e quero falar sobre isso.


Ninguém se importa com o seu código


Mostre-me o seu código e eu direi quem você é

A coisa mais incrível na minha opinião. Você será perguntado sobre a classificação de árvores vermelho-pretas, sobre os métodos da biblioteca padrão, que são usados ​​de vez em quando. Mas o código ... De fato, por que olhar para o código de uma pessoa cujo trabalho principal será escrevê-lo?


Mas isso é o mais interessante! Você pode ver como o desenvolvedor organiza o projeto, como ele escreve, quais tecnologias e como ele usa. Isso fechará imediatamente a nuvem de perguntas. Ok, quando o github está vazio e todo o código de trabalho está sob NDA. Mas aqui você pode sair, fazendo um pequeno teste por uma ou duas horas (mas não no lugar: para muitos, a entrevista ainda é estressante).


No meu github, existem duas dúzias de projetos em diferentes idiomas, PRs no Facebook, Microsoft, nabos da Mozilla, muitos problemas em outros projetos. Este é um teste para avaliar as habilidades duras e leves. E parece que apenas uma em cada quatro empresas sabia o que fazer com ela (Akveo, você é ótimo). Discutimos muito friamente por que esses projetos apareceram, juntos analisamos o código. Vimos alguns dos projetos de trabalho, tanto por código quanto no release. Como resultado, recebi uma oferta desses caras.


O triunfo do conhecimento inútil


"A ignorância de Holmes era tão surpreendente quanto o seu conhecimento. Para que uma pessoa civilizada que vive no século XIX não saiba que a Terra gira em torno do Sol - eu simplesmente não podia acreditar!
"Você parece surpreso", ele sorriu, olhando para o meu rosto confuso. "Obrigado por me esclarecer, mas agora vou tentar esquecer tudo isso o mais rápido possível."

“Estudo em tons carmesins”

Com que frequência você escreve classificações? Esta é a última vez que fiz isso na universidade. Você sabe quais estágios estão no https-handshake? Uma vez eu sabia, esqueci - não há necessidade. Mas levei cinco minutos para abrir o Google e lembre-se de quando configurei a classificação A + no nginx há alguns anos. E você sabe o que? Agora não me lembro de novo. Etapas de renderização de uma página da web em um navegador? Todo dia eu encontro, realmente, realmente. E o fato de que pesquisar em índices de árvore B no PostgreSQL tem complexidade logarítmica? Eu descobri ontem e agora você está. Agora tente esquecer o mais rápido possível! Até que você realmente precise. Lembre-se apenas de que índices devem ser usados ​​e que são de tipos diferentes.


Vivemos em um mundo sobrecarregado de informações. E para os desenvolvedores isso é especialmente verdade. Toda semana, novas estruturas, bibliotecas ou ferramentas de desenvolvimento são exibidas. É impossível saber tudo. Agora, o importante não é tanto a informação na cabeça, mas o conhecimento que ela é, a capacidade de encontrá-la rapidamente, entendê-la e usá-la corretamente. E a habilidade de desanexar e consertar a biblioteca de outra pessoa no projeto é mais importante do que lembrar como usar fluxos nos nodejs. Um bom desenvolvedor lidará com fluxos no dock por um ou dois.


Agora ensino um pouco na universidade como hobby. E você sabe o que? A geração atual não tem problemas em entupir a cabeça de conhecimento. Embora muitos deles sejam realmente sensatos. Eles cresceram com constante online, onde as informações estão sempre à mão. Outra abordagem.


Obviamente, um bom especialista conhecerá muitas nuances diferentes. Só porque o escopo é menor. Mas o mais engraçado é que a maioria dessas empresas estava procurando por um desenvolvedor full-stack. E eles queriam conhecimento profundo de tudo. Agora mesmo. Mas a pilha completa correta são seus horizontes e a capacidade de aprofundar quando necessário.


Derrubar você


Não estava em todo lugar, mas se encontrou. Curiosamente, essa é a nossa mentalidade? Dominar e mostrar sua frieza? Afinal, você realmente não precisa deles, você tem bons projetos para o próximo ano. Você segue o pensamento: "Bem, a ideia legal da startup! É verdade, eu posso realmente ajudar." E aqui está. E os caras parecem ser adequados. Fig entender. E então você vê que a vaga está aberta meio ano. Bem, bem.


Houve alguns debates sociais nas empresas ocidentais. E a ênfase estava no que você sabe e sabe como, em vez de tentar entender a ignorância. Ou é tão sortudo / azarado? Eu ficaria feliz em ouvir a opinião de camaradas mais experientes sobre esse assunto.


Estar em pé de igualdade. Você contrata um colega, não guarda o estande.


Não me importo com projetos passados


Uma árvore é reconhecida por seus frutos, e um homem por suas ações.
Provérbio russo

Também incrível. Há cinquenta deles sob o capô: pequenos e grandes; equipe e aqueles em que você na mesma pessoa projetou UX, API, escreveu 2 mob. aplicações, frente e verso; aqueles de que você se orgulha e aqueles pelos quais ainda tem vergonha. Bem, Komon, isso é importante, vamos falar sobre isso. Vou lhe contar tudo: onde ele era super velho e salvou a todos, e onde ele começou ao máximo. Não, perguntas tolas de CSS.


Os projetos são de onde tiramos nossa experiência. Estes são os estágios de desenvolvimento do desenvolvedor. Como anéis em uma árvore. Sempre pergunte sobre projetos. Sobre as tarefas mais complexas e interessantes que as pessoas resolveram. Sobre o que ele se orgulha. Também ajudará a construir uma atmosfera amigável. Lembre-se, entrevistar é estressante? As pessoas gostam de falar sobre o que eram boas. É verdade que não funcionará com introvertidos, mas a segurança social com eles é uma questão completamente separada.


Desenvolvedores experientes


Um bom desenvolvedor experiente não é entrevistado como intermediário em uma cozinha. Ele não está mais falando sobre isso. Ele é sobre como se sair bem imediatamente. Para não ter que resolver problemas com esforços heróicos. É sobre como liberar um produto, e não consertar freneticamente os plugues no desempenho, embora isso possa ser feito de maneira diferente desde o início. Tudo o que você pergunta, ele já usou em algum lugar de uma forma ou de outra. OAuth? Sim, a FIG sabe como ele trabalha lá. Eu fiz isso alguns anos atrás, agora vou abrir o projeto e ver. A partir desse momento, conectei cinquenta SDKs e protocolos. Lembra de tudo? Ele não lerá ACID e CAP como aluno para o exame.


Saiba como entender o nível da pessoa à sua frente e faça as perguntas certas.


Remout


Então ele fica na praia e, com uma mão, disca rm-rf no servidor de desenvolvimento. Bem, isto é, ele pensou que sim.

Ouvido no escritório do GitLab

Semi ponto realmente. Porque não é importante para todos. Muitos simplesmente não sabem como. Outros não querem. Embora, caramba, 2020 na rua, você não encontrará um bom desenvolvedor à tarde com fogo. E então um mundo potencial inteiro, em vez de uma cidade. Parece.


Com o remoot e o sexo: pela primeira vez, é assustador e poucas pessoas ficam bem. E então, com a experiência, fica cada vez melhor. Não acredite: uma inicialização pode ser mais produtiva do que trabalhar em um escritório. Devido ao fato de que todos esses empurrões e distrações desaparecem. E se também fusos horários diferentes ... Você conhece a regra de administrador de 15 minutos? Aguarde antes de lidar com o problema do usuário. Muitas vezes, ela decide ou se torna irrelevante. Então está aqui. Quando você entende que não pode puxar uma pessoa, o cérebro liga, 1 pc. E viva a interação assíncrona!


Espero sinceramente que este artigo ajude alguém a criar melhor o processo de entrevista em sua empresa ou startup. Olá mundo, código aberto e chiclete para todos!

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


All Articles