Sou engenheiro de software há 4 anos e mudei de empresa pela primeira vez.
A empresa trabalha com programação em pares e faz três dias que eu não conseguia nem escrever uma única linha de código. É muito frustrante para mim, porque eu era muito produtivo na minha empresa anterior.
A base de código é grande, eles estão usando de 5 a 6 idiomas / ferramentas com as quais não estou familiarizado, como rspec, haml, jasmim e outros. Mas ainda assim, me sinto péssima.
Neste fim de semana, criei a UML para entender melhor o aplicativo, mas ainda acho que não vou conseguir escrever uma quantidade decente de código esta semana.
Isso é normal?
Qual é a sua experiência quando você muda de emprego e mergulha em uma grande base de código escrita com idiomas / bibliotecas que você não conhece.
É claro que não estou pedindo o tempo exato necessário, mas experiências passadas ou coisas para fazer o processo seriam ótimas.
Btw, eu já li abaixo perguntas e respostas: Como você mergulha em grandes bases de código?
/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase
/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase
ATUALIZAR
Todas ótimas sugestões! Acabei de chegar do trabalho, trabalhei muito!
Sobre a programação em pares:
Geralmente eles escrevem código, e eu estou tentando não perder nem um segundo! Se eu tentar escrever o código, sei que levará uma eternidade, porque nem sei quais arquivos devo editar, mas além disso, como eu disse, eles estão usando de 6 a 7 idiomas / estruturas que não sou. familiarizado e aprender todas essas sintaxes de uma só vez não é fácil.
Quão bem a empresa se preparou para os engenheiros:
Não posso dizer que eles estão bem organizados, eles meio que esperam que eu comece a escrever código imediatamente.
Tomando notas, sendo proativo:
Estou sempre anotando quando eles escrevem um novo comando / ou qualquer coisa sobre modelos de dados. Meus colegas são pessoas muito inteligentes e gentis, e estou tentando fazer muitas perguntas, às vezes até muitas idiotas .
Isso é comum ?:
@Telastyn, obrigado por suas respostas, isso me fez sentir um pouco melhor. Parece que meu problema não é incomum, mas eu era realmente produtivo antes deste trabalho e agora me sinto realmente inútil e não inteligente.
Espero poder começar a resolver bugs / implementar problemas muito em breve.
Sobre estruturas / idiomas que eles usam:
Eu fui realmente honesto sobre isso, não disse que sabia algo que na verdade não sei. Mas eu não esperava coisas muito diferentes e, desde que comecei a trabalhar no dia em que aceitei a oferta, não tive tempo de me preparar.
@ Southpaw Hare, muito obrigado por compartilhar sua experiência. Você está absolutamente certo. Não há garantia de que eu vou aprender todas essas coisas, mas estou tentando. No final, é difícil aprender toda a sintaxe de uma só vez, e acho que esse também é o principal problema. Como posso navegar bem em código ruby, já que conheço esse idioma, e navego em códigos js graças aos inspetores do navegador, mas o problema é escrever os códigos reais com as estruturas / idiomas que não conheço.
fonte
Respostas:
Isso depende de coisas como a complexidade do sistema e quão bem a organização está preparada para integrar novos programadores. Pode levar de 30 minutos a várias semanas. Não é necessariamente algo que você está fazendo de errado e não deve se sentir mal com isso.
O que você deve fazer, no entanto, é ser proativo em corrigi-lo para você e para os outros. Informe o seu gerente sobre suas frustrações e trabalhe em conjunto para superá-las e melhorar o processo para outras novas contratações.
Escreva notas sobre as coisas com as quais está lutando, faça um brainstorming de maneiras de corrigi-las ou contorná-las e documente seu processo. Mantenha outras pessoas que podem ajudá-lo a acompanhar seu progresso e procure ajuda. Não há nada de vergonhoso em pedir ajuda.
fonte
Para a maioria das bases de código, é isso. Inferno, na minha empresa, você se encontra com o RH por 2 dias antes de poder tocar em um computador. Isso é muito estranho, mas considere quanto tempo leva para configurar o ambiente de desenvolvimento, familiarizar-se com o domínio, a estrutura de código, as normas da equipe ...
Como líder de equipe, espero que você não efetivamente faça nada por 1 (duas semanas) sprint e trabalhe a ~ 50% nos próximos 1-2 sprints.
fonte
mude para o outro extremo. Eu trabalhei em uma empresa que tinha apenas 2 a 3 idiomas, mas demorou quase um ano para os programadores serem liberados na base de código, provavelmente 1 ou 2 meses antes de cometerem sua primeira linha de código.
Não se importe com isso, se você foi honesto na entrevista sobre sua falta de conhecimento nessas plataformas, eles sabiam no que estavam se metendo. Leva tempo e o tempo não pode ser expandido, reduzido ou compactado, apenas certifique-se de aproveitar ao máximo.
fonte
Realmente depende do trabalho que você está fazendo e do papel em que está.
Se você está fazendo um trabalho baseado em contrato, espera-se que literalmente chegue ao chão, usando todas as habilidades à sua disposição para fazer o trabalho. O contrato de trabalho geralmente é bem definido e você (normalmente) é capaz de fazer isso, pelo menos na minha experiência.
Por outro lado, comecei em um lugar que possuía uma enorme base de códigos herdados com uma enorme curva de aprendizado. Não era esperado que escrevêssemos códigos de produção nos primeiros seis meses em que estivemos lá.
Seja paciente, absorva o máximo que puder e faça bom uso prático quando começar a codificar. Se você estiver internado ou com pressa, há uma boa chance em um sistema tão grande que você pode acabar quebrando algo, principalmente se a cobertura do teste não for brilhante.
fonte
Alguma quantidade de tempo é absolutamente normal para se acostumar com algo tão completamente desconhecido - eu não me culpo ou me sentiria mal. No entanto, é importante estar disposto a aceitar a possibilidade de que esse trabalho não esteja dentro do seu conjunto de habilidades. Este não é necessariamente o caso, apenas vale a pena deixar em aberto a possibilidade.
O problema pode não estar no tamanho da base de código, mas no fato de você não conhecer os idiomas envolvidos. Na minha própria experiência pessoal, eu tinha um emprego em uma empresa onde não conhecia nenhum dos idiomas usados em uma base de código bastante extensa. Infelizmente, eu nunca fui capaz de aprender isso o suficiente após cinco meses ou mais e fui para outra empresa. Lá, eu era proficiente no idioma principal e, apesar do tamanho da base de código ser comparável, eu me saí muito bem.
Quando se trata de aprender novos idiomas, as pessoas geralmente acham que é mais fácil do que realmente é e mantêm altos padrões de aprendizado rápido. É provável que demore mais do que você pensa, portanto, lembre-se disso, independentemente do que você decidir.
fonte