
Olá, olá. Sou apenas de uma agência de previdência social e estou sendo bombardeado. Quantos não escrevem sobre Habr, como entrevistar corretamente - não fica melhor.
Recebi uma oferta: desenvolvedor .NET full-stack sênior, projeto remotamente legal e muito dinheiro. Na lista de requisitos, as montanhas da raiz-forte não estão interconectadas do mundo .net e js / ts. Parece que eles acabaram com tudo o que pesquisaram em 10 minutos - com pouco entendimento do que exatamente.
Alarmante, mas nada. Eu acho que o desenvolvedor será entrevistado - a pessoa com quem eu falo o mesmo idioma. Vou falar sobre o que fiz, discutir abordagens para resolver problemas, problemas no .NET, perspectivas de C #. Vamos falar sobre estruturas de dados. Vou lhe dizer por que gosto mais de digitação estrutural do que mnemônica. Se tudo der certo, vou compartilhar minha ideia de correção - sempre use estruturas em vez de classes como modelos. Compararei o FLUX com o MVVM e mostrarei como a simbiose de FP e OOP no TypeScript é irrealisticamente bonita.
Em geral, estou ansioso por uma boa conversa.
Eles me responderam e ofereceram uma entrevista no skype, por algum motivo, necessariamente com uma webcam. Meu laptop está quebrado. Demorou alguns minutos e eu decidi correr para a loja mais próxima. Aparentemente, as pessoas entendem que ninguém precisa de webcams. Mas o que fazer - pego uma câmera de ação cara, retiro-a da concha e a conecto ao chiclete do monitor.
Quando a entrevista começou, percebi por que precisava de uma webcam - para que eu pudesse ver imediatamente o que uma arrogância presunçosa estava diante de mim - "Sim, posso ver pela metade o quão leigo você é".
Envie perguntas ao "signor". O que é protegido interno? Eu respondo. O que é ref, o que está fora. Eu também sei, mas já suspeito que ele não precisa de respostas detalhadas. Qual a diferença entre dinâmico e Objeto? Sinto-me na escola, mas tudo bem, estou lhe dizendo. O que é virtual?
Bam!
Matar não me lembro. Eu olho - o machado se espalha com orgulho, brilha. A arrogância flui da tela. Fico feliz por ter comido outro peito que não sabe as coisas "básicas". Auto-estabelecido, você pode procurar o próximo. A entrevista termina naturalmente.
Eu fecho o skype e, claro, lembro imediatamente que tipo de virtual. Mas a empresa já tem certeza de que sou 100% inadequado.
E parece-me que o que aconteceu é um sintoma muito prejudicial no mundo dos desenvolvedores.
Mais recentemente, houve um artigo sobre o fato de que, ao contratar, vemos apenas funções. E se o desenvolvedor não memorizar todas as coisas mais desnecessárias para memorizar - eles não aceitam, e isso é terrível. Mas acho que o problema aqui é completamente diferente. Por alguma razão, os negócios têm muito medo dos impostores, mas não têm idéia de como eliminá-los.
E ele tem tanto medo que agora os vê em todos os lugares e infla o problema à atenção, o que ela não merece.
I.e. essas pessoas estão considerando seriamente o cenário de que algum tipo de cara canhoto, que nunca trabalhou como desenvolvedor, chegará a eles como veterano. Sério? Eles não se concentram apenas nessa abordagem, eles a colocam no centro do design da primeira entrevista (mais de uma entrevista é um problema em si, mas isso não é mais o que acontece agora).
Mas, ao reduzir o risco de contratar impostores, as empresas estão diminuindo a chance de contratar bons desenvolvedores. Pior, eles desmoralizam bons desenvolvedores.
Agora, minhas palavras para mim mesmo, de que não devo me lembrar virtual, nem mesmo para mim, parecem uma desculpa absurda para minha própria falta de profissionalismo. O dinheiro que já recebi pelo meu trabalho é um erro. Eu menti para todos ao redor. Preciso aprender as especificações de todas as tecnologias que ousei colocar em meu currículo.
E não importa que eu realmente tente evitar a herança clássica, preferindo a composição a ela, e projetar minhas classes e sistemas de tal maneira que eles não sejam obrigados a fazer herdeiros. Não importa que eu lembre do comportamento do virtual e seu objetivo, não lembro apenas da palavra em si. O que desenvolvo regularmente usando as quatro linguagens de programação e não me lembro bem de todos os cantos mais empoeirados.
Posso colocar minhas habilidades estúpidas em escrever um bom código para mim, onde quiser. O mercado pede virtual para virtual.
Isso é muito ruim. Você tem medo de impostores e eu tenho medo da próxima previdência social.
Mas não estou pronta para ser abarrotada. Eu quero ser - e sou - um desenvolvedor. Eu sou o cara que assume essa tarefa de sua empresa, analisa quais ferramentas eu tenho, corrige, decompõe e mapeia para a solução através de uma análise competente dessas ferramentas e de seus aplicativos.
Aprender palavras-chave, mecânica, princípios e padrões é uma habilidade opcional. Pensar e antecipar é uma boa habilidade.
Mas, em vez de aprender coisas que parecem importantes para nós, adquirimos habilidades que são importantes para o mercado. Estamos nos transformando em crianças que não são presas por trabalharem com a cabeça, mas pela decisão do Exame Estatal Unificado.
Aqui está o meu ponto:
Não apenas negociamos neste mercado, mas também o definimos. Os desenvolvedores são entrevistados pelos desenvolvedores, são eles que criam listas de requisitos e perguntas para os candidatos.
Gente, chega. Converse com a pessoa. Pergunte o que você fez, como e por quê.
Deseja entender que isso não é um impostor? Dê uma tarefa de teste muito pequena. Se você não possui cem linhas de código para entender que tipo de desenvolvedor é, talvez não seja bom o suficiente para uma entrevista.
E sim - agora, até que meu código fique para trás, não irei à previdência social.