Livrar-se do medo do primeiro emprego


Moldura do filme "Harry Potter e o Prisioneiro de Azkaban"

O problema deste mundo é que as pessoas educadas estão cheias de dúvidas e os idiotas cheios de confiança

Charles Bukowski
Recentemente, realizei outra lição de programação individual. Ao contrário das aulas comuns, o tópico não era a construção da linguagem e nem o problema para resolvê-lo. O aluno compartilhou suas preocupações sobre o emprego futuro. O próprio aluno era bastante inteligente. Um dos que frequentam os cursos percorre todo o programa mais rapidamente do que qualquer um e com soluções originais, mas sempre se subestima sinceramente. Na minha opinião, essas dúvidas surgem apenas da falta de informação. Tentei preencher essa lacuna de improviso durante a lição.

As perguntas eram mais ou menos assim:

  • Todos os anos, muitos estudantes se formam nas universidades e todos vão procurar trabalho. Isso é muita gente. Provavelmente eles levarão o melhor, mas eu não vou conseguir um lugar.
  • E se eu estragar tudo e ser demitido imediatamente?
  • E se no processo de trabalho eles perceberem que eu sou estúpido e expulso?

Este aluno não foi a primeira pessoa a quem eu respondi perguntas semelhantes. Muitas pessoas os têm e geralmente precisam conversar sem preparação. Dessa vez, decidi escrever meu monólogo em um caderno. Eu pensei que sairia alguns parágrafos, mas digitei um artigo inteiro.

O artigo descreve a visão do meu ponto de vista e com base na minha experiência. No entanto, nosso mundo é muito diversificado e coisas incríveis acontecem nele. Se você não concorda com algo ou sua experiência é de alguma forma diferente, escreva um comentário.

O artigo foi escrito de desenvolvedor para desenvolvedor. No entanto, se você planeja fazer testes, administração ou qualquer outra coisa em TI, algumas dicas também serão úteis.

Eles não vão contratar


Quando você imagina que centenas de estudantes se formam em muitas universidades todos os anos, isso se torna desconfortável. Como competir com uma multidão tão grande?

Infelizmente, nem todos os graduados têm treinamento técnico suficiente. Tente perguntar a algum estudante universitário familiar: como as pessoas do seu grupo conseguem acesso a exames em disciplinas como o "banco de dados" ou "os conceitos básicos de algoritmo e programação"? Em um grupo de 30 pessoas, na melhor das hipóteses, existem 3-5 indivíduos "avançados" que realmente fizeram tudo sozinhos. O restante simplesmente os anula, bisonte as respostas para as perguntas e passe.

Foi quando eu me estudei. No entanto, minha experiência pode não ser representativa. Portanto, fiz essa pergunta a vários estudantes diferentes. A resposta foi a mesma. Os entrevistados eram de diferentes universidades e faculdades. Deixarei discussões sobre os motivos além do escopo deste artigo. Como não sou suficiente para um estudo completo, vou tirar uma conclusão dos fatos disponíveis.
Entre centenas de graduados, apenas algumas dúzias são de interesse para os empregadores
Poucos graduados podem fazer uma competição real por um aluno capaz e com boa preparação. No entanto, mesmo se você estudou de boa fé, depois da primeira entrevista, provavelmente não será contratado. Depois do segundo, provavelmente também. Tudo pode dar certo, mas é melhor não entrar em assalto, mas cercar. Uma tentativa fracassada de se estabelecer é apenas uma desculpa para trabalhar nos bugs e tentar novamente. Não vou falar sobre a preparação para entrevistas. Muito já foi escrito sobre esse tópico na Internet. Só posso dizer que há nuances nas entrevistas, para as quais é improvável que haja tempo para explicar seu programa de treinamento. Procure você mesmo essas informações, pois podem reduzir o número de tentativas.
Loucura é a repetição exata da mesma ação. Vez após vez, esperando uma mudança

Albert Einstein
Para garantir que a entrevista não se torne loucura, após cada nova tentativa, você precisa se tornar melhor. Lembre-se ou escreva as perguntas que foram feitas durante a entrevista. Ao voltar para casa, navegue nesta lista e teste-se usando a Internet. Então você entenderá onde estava enganado, onde - o entrevistador. Isso também acontece. Repita ou estude os tópicos em que você respondeu mal e tente novamente.

Além disso, há uma sazonalidade acentuada do mercado de trabalho. As empresas competentes planejam a contratação com base nas datas de graduação das instituições de ensino. Na primavera de vagas para iniciantes, mais do que o resto do tempo. No entanto, a concorrência neste momento é maior.

Dumb - ser demitido


Quando uma pessoa é contratada sem experiência, há expectativas correspondentes para ela.
De um recém-chegado ao trabalho, espere:

  • Conhecimento da base técnica geral
  • Estudo dos recursos da área de assunto da empresa
  • Dominar as ferramentas e práticas usadas

Algumas organizações oferecem aos iniciantes cursos de treinamento em tecnologias, ferramentas e práticas locais. Por exemplo, as regras de boa forma ao usar correio corporativo, o procedimento para alterar documentos em um wiki, recursos locais para trabalhar com VCS e um rastreador de erros.

Ainda existem cursos introdutórios técnicos, mas sua utilidade é duvidosa. Se se tratasse de emprego, os empregadores garantiam que você tivesse algum nível de conhecimento suficiente. É melhor simplesmente seguir esses cursos de boa fé, como uma pequena formalidade. Talvez eles realmente sejam algo útil.

Quando chegar ao trabalho, lembre-se de que o iniciante não terá a tarefa de resolver a tarefa urgente, complexa e ao mesmo tempo importante. Provavelmente, haverá apenas uma dessas propriedades. Ou simples, mas urgente: corrija o layout, envie um arquivo para alguém, reproduza o problema. Ou difícil, mas sem nenhuma esperança de conclusão - para que o iniciante colete mais rake. Ou importante, mas experimental. Por exemplo, um projeto que todos desejavam há muito tempo, mas não pode alocar tempo para implementação.

As tarefas para o desenvolvimento de ferramentas serão "complexas" e artificiais. Provavelmente será uma versão simplificada do sistema principal. Nessas tarefas, a mesma pilha de tecnologia e os mesmos termos de domínio são usados ​​como em todo o projeto. Nesse caso, o resultado da execução não será fornecido ao usuário final. Pode desmotivar, mas é melhor resistir a esse humor. Uma tarefa artificial deve ser realizada de boa fé, como se o destino do projeto dependesse disso.
O resultado da solução de sua primeira tarefa será a primeira impressão sobre você de colegas que não estavam na entrevista.
Outra versão da tarefa para dominar o kit de ferramentas é "executar o projeto na máquina / ambiente de teste local". Às vezes, esse processo é descrito nas instruções. Mas eles geralmente são antigos e às vezes irrelevantes. Você pode trazer benefícios reais ao projeto se escrever uma nova instrução com esclarecimentos sobre os problemas que surgiram. Certamente, na universidade, tive que escrever uma RGR para relatar algumas disciplinas. É quase o mesmo aqui. O documento deve refletir as ações que devem ser executadas para execução.

Normalmente, as etapas para iniciar o produto em um ambiente de teste são aproximadamente as seguintes:

  • clonar um repositório, alternar para alguma ramificação ou tag
  • decifrar algum arquivo de configuração
  • preparar a estrutura do banco de dados
  • preencha com dados de teste
  • Construir ou compilar um projeto
  • executar um conjunto de scripts do console em uma sequência específica

No processo de inicialização do sistema, problemas imprevistos inevitavelmente ocorrerão localmente.
As soluções encontradas para os problemas precisam ser adicionadas às instruções de implantação. Na próxima vez em que você seguir as instruções, esses problemas não aparecerão mais. Ao preencher arquivos de configuração e chamar scripts, você precisa prestar atenção ao valor usado, onde e com o que deve coincidir. Por exemplo, se um projeto for construído usando o sistema de IC e depois iniciado por um script, é importante entender onde escrever o nome da filial ou o número de confirmação. Acontece que o script envolve a transferência de um endereço IP ou nome DNS do banco de dados, seu nome de usuário e senha. Nesse caso, você precisa saber qual endereço usar para o ambiente de teste, quais logons existem e quais senhas você precisa especificar para eles.
Algumas tarefas podem parecer simples para desenvolvedores experientes e causar dificuldades aos trainees. Esta é uma ocorrência normal.
Os desenvolvedores precisam resolver problemas técnicos todos os dias. Funcionários experientes já resolveram muitos problemas antes e os recém-chegados ainda precisam lidar com eles. A melhor tática será anotar todos os erros encontrados no documento "Resolvendo problemas com $ {task name}". Para cada problema, você precisa formular uma hipótese sobre a causa, encontrar soluções na Internet e experimentá-las. O resultado de cada tentativa também precisa ser registrado.

Fazer sua pesquisa na forma de um documento permitirá:

  • descarregue pequenas peças da sua cabeça. Por exemplo, parâmetros de configuração, endereços DNS / IP, comandos do console e consultas SQL.
  • lembre-se "o que eu fiz ontem" quando a tarefa é prolongada por vários dias
  • Não ande por aí. Você sempre pode ler o que fez antes e entender que está de volta ao problema original.
  • responda claramente à pergunta: "o que você fez hoje?" mesmo se ainda não houver uma solução pronta.

Você precisa informar o status de suas tarefas aos colegas

De tempos em tempos, os colegas se interessam por seus sucessos e compartilham os seus. Um pouco de tempo é alocado para isso diariamente ou semanalmente.

Se você não acompanhar os problemas encontrados e resolvidos, a descrição de seus sucessos será semelhante a: "Tentei fazer a tarefa, mas não consigo. Estou procurando uma solução até agora. " De tal história, não está claro se o estagiário fez alguma coisa ou apenas fez uma leitura de texto. Ele precisa de ajuda? A situação mudou desde ontem?

Se você mantiver um documento procurando soluções, pode dizer: “Estou tentando fazer esta tarefa. Eu tive esses erros. Então eu decidi assim. Ainda não consegui isso. Existem tais hipóteses e soluções. Agora estou verificando eles. "

Se a tarefa puder ser medida pelo menos de alguma forma, os números deverão soar no status. Por exemplo, para a tarefa “escrever testes de unidade para um módulo”, podemos dizer “planejo fazer 20 testes, agora escrevi 10”.

Quanto mais detalhes você fornecer, melhor seus colegas entenderão o que você estava fazendo. Isso formará uma atitude positiva em relação aos colegas e permitirá que eles entendam se você precisa de ajuda ou não.
Sinta-se livre para pedir ajuda.
Escrevi acima que, quando surgir um problema, você precisará formular uma hipótese sobre suas causas e soluções. No entanto, acontece que hipóteses não são justificadas e soluções encontradas independentemente para o problema não funcionam. Nesse caso, é melhor pedir ajuda. Para não abusar da atenção dos colegas, você precisa se sentar sobre cada problema. Se em algumas horas não foi possível encontrar uma solução, é hora de procurar conselhos de amigos mais experientes.

É melhor começar com a pergunta: "alguém já encontrou um problema antes?" com uma breve descrição do problema. É recomendável anexar uma mensagem de erro ou uma captura de tela. É a primeira vez que é melhor enviá-lo para algum bate-papo geral para o trabalho. Portanto, você não interrompe o trabalho daqueles que estão realmente ocupados. Ao mesmo tempo, colegas gratuitos verão sua mensagem e poderão ajudar.

Se ninguém ajudou após uma mensagem no chat em geral, tente pegar um colega experiente durante o intervalo: almoço, chá / café, uma partida de tênis ou um intervalo para fumar. Se isso não funcionar, relate suas dificuldades rapidamente ou em pé.

Ao resolver problemas conhecidos, isso pode terminar. Se o problema for novo, uma investigação começará, onde será necessário agir de acordo com as circunstâncias.

As tarefas “importantes” para iniciantes de que o usuário final precisa serão chatas e pequenas. Por exemplo, “adicione uma coluna adicional ao relatório” ou “corrija um erro de digitação no formato impresso” ou “implemente um método de modelo para carregar atributos do cliente de um DBMS”. O objetivo de tais tarefas é que o iniciante se familiarize com a área de assunto e se integre ao trabalho diário.
É importante não apenas resolver tecnicamente o problema, mas também expandir o conhecimento da área de assunto.
Na descrição da tarefa, em chats e conversas, os termos serão encontrados. Eles podem parecer substantivos longos e familiares. No entanto, na estrutura do sistema de informação, eles têm um significado especial e mais preciso. O significado dos termos detectados é melhor escrito em um documento especial - um glossário de termos. Ao adicionar ao dicionário, basta escrever sua compreensão da palavra e, para uma transcrição real, é melhor entrar em contato com o analista. Se ele estiver ausente, então para os veteranos do projeto. Manter um glossário de termos é uma das maneiras mais simples de se familiarizar com a área de assunto do projeto.

Assim que você encontrar uma linguagem comum com seus colegas, eles começarão a ver em você não um estagiário iniciante, mas um especialista igual.

Existem tarefas especiais, por exemplo, "escrever testes de unidade para um módulo". Dificilmente pode ficar parado por um longo tempo com a busca de soluções. Além disso, ela é séria o suficiente e é dada não apenas para treinar o trainee. Os testes escritos aumentam a estabilidade do projeto, reduzindo bugs no aplicativo e reduzindo o tempo de teste pelas pessoas. Em um mundo ideal, os testes de unidade são escritos imediatamente durante o desenvolvimento, mas a realidade é diferente como sempre. Acontece que o desenvolvedor do módulo o mantém completamente na cabeça e não vê a necessidade de escrevê-los. "Tudo é óbvio, o que há para testar?" Às vezes, os módulos são gravados no modo de emergência e não resta tempo para testes de unidade. Portanto, no mundo real, os testes de unidade podem não ser. Portanto, a tarefa de escrever testes de unidade é confiada a um iniciante. Assim, o trainee poderá se acostumar rapidamente ao projeto e economizará o tempo de especialistas mais bem pagos.

Acontece que estagiários e iniciantes recebem a função de testadores de pleno direito. Geralmente, antes disso, você precisa implantar o produto localmente e ler os requisitos. Como resultado do novo funcionário, espera-se:

  • perguntas como “se você fizer isso, será assim. Isso não é necessário nos requisitos. Como deve ser?
  • tarefas no rastreador de erros "nos requisitos, está escrito assim, mas na verdade é diferente".

O teste é uma área de atividade excessivamente ampla para este artigo. Se você recebeu uma tarefa semelhante, pesquise na Internet a melhor maneira de realizá-la.

Nakosyachite - ser demitido


Em uma organização normal, se acontecer repentinamente que um funcionário inexperiente obtenha acesso a algo crítico e arruine algo, então quem cometeu isso será o culpado. Como o novato, por padrão, não tem acesso à infraestrutura crítica. Com orientação adequada, todos os cães não serão decepcionados por um estagiário inexperiente.

Se algo acontecer de repente, eles não serão demitidos devido a um incidente. As pessoas aprendem com os erros. O estagiário em execução recebeu uma lição valiosa e isso é muito diferente de outros estagiários. Se você dispensar o slammer, outro entrará em seu lugar e cortará da mesma maneira.
O principal é aprender com os erros e não repeti-los novamente.

Se uma pessoa não tira conclusões de seus erros, ela tentará dizer adeus a ela. No entanto, o mundo é diverso. Em alguma organização de gângsteres, eles podem jogar imediatamente pela janela o primeiro erro. Mas é melhor evitar essas empresas, para as quais você deve primeiro consultar ou descobrir mais durante a entrevista.
É melhor evitar incidentes
Mesmo se você não for demitido pessoalmente pelo batente, esse incidente causará problemas indesejáveis ​​à sua equipe e ao projeto como um todo. Portanto, tenha especial cuidado com as operações de exclusão ou criação de tabelas no banco de dados, arquivos, instâncias de serviço e documentos na base de conhecimento do projeto. Se você encontrar o endereço da nova conexão, verifique com pelo menos duas pessoas diferentes o que você pode fazer lá. Verifique seus direitos nos ambientes, não por tentativa e erro, mas por comandos apropriados. Por exemplo, o direito de excluir arquivos usando o comando `ls`, o direito de trabalhar com tabelas no mysql usando o comando` SHOW GRANTS FOR 'user' @ 'host'; `e similares. Em quase qualquer instrumento, você terá uma oportunidade semelhante.

Ao editar arquivos, por precaução, mantenha uma cópia do original.
Várias barreiras são construídas entre o estagiário e o usuário final.
Se você pudesse entregar imediatamente o seu produto ao consumidor, não conseguiria um emprego, mas embarcaria em um "mergulho livre". Mas enquanto você não tem essa oportunidade (e ao mesmo tempo responsabilidade), precisa passar por vários estágios de controle no projeto.
O primeiro é uma verificação do mentor. Ele avalia a solução para iniciantes do ponto de vista técnico. Se um mentor não foi indicado, você precisa encontrá-lo. Para fazer isso, você precisa escolher alguém entre os veteranos do projeto e, no intervalo, pedir que ele veja a solução: o problema foi resolvido corretamente? Se você começar a procurar e responder, um mentor será encontrado. Se você ignorá-lo, deve perguntar a outra pessoa.

A próxima etapa é a garantia da qualidade. Em russo - testadores. Em soviético - controle padrão e controle de qualidade. Eles devem garantir que o resultado do trabalho do estagiário corresponda à tarefa que lhe foi atribuída. Eles raramente serão lidos no código. Na maioria das vezes, os testadores verificam o projeto montado, que o desenvolvedor salva no sistema de controle de versão.

O terceiro estágio é o gerenciador de lançamento. Pode não haver uma pessoa individual para esta tarefa, mas alguém ainda desempenha o papel.Ele verifica se os testadores confirmaram que o projeto pode ser lançado. Depois disso, ele executa as ações de entrega do produto aos usuários finais.
Em pequenas organizações, essas barreiras podem estar ausentes por vários motivos. No entanto, eles não definirão a tarefa para o iniciante alterar algo importante. Porque ninguém precisa desse risco.
Você deve primeiro se envolver na batalha, e aí ela será vista.
Napoleão Bonaparte
Espero que o artigo o ajude a superar sua insegurança e enviar seu primeiro currículo. Claro, você deve primeiro se preparar. Mas não aperte demais. Você provavelmente já estudou por vários anos em uma universidade ou faculdade. Onde puxar mais? No final, é melhor ouvir "não" uma vez de um especialista e trabalhar com os erros, do que dizer "não" a si mesmo todos os dias e parar o crescimento profissional.

Após o emprego, você precisa se concentrar em passar de estagiário a membro pleno da equipe. Esse crescimento geralmente é acompanhado por um aumento no seu salário.

Desejo-lhe paciência e perseverança.

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


All Articles