Tempo necessário para iniciar a codificação em uma nova empresa [fechada]

12

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.

Robert Johnson
fonte
Desde que você mencionou Como você mergulha em grandes bases de código? , o que há nas respostas que não cobrem seu caso?
Gnat #
3
Como você é programação em pares, não precisa escrever código para ser produtivo. Você pode ser bastante útil apenas observando alguém escrever código. Em breve, você saberá o suficiente para começar a escrever seu próprio código.
Kevin cline #
@kevincline se de emparelhamento como o novo desenvolvedor, ele deve danado certeza de ser o único no teclado de outra forma que seria uma configuração par muito ruim ...
Jimmy Hoffa
Se é assim que a empresa faz as coisas, você realmente não tem escolha. Certifique-se de saber o que eles esperam que você saiba quando chegar a hora. Pergunte. Obter feedback. Você pode perder muito tempo se não for cuidadoso.
Jeffo
@ JimmyHoffa, eu sei que seria melhor para mim, mas nesse caso, eu desaceleraria muito meus colegas. Como terei que perguntar a cada sintaxe, arquivo real que preciso editar, modelo de dados ou algo mais, isso diminuirá a velocidade de meus pares.
Robert Johnson

Respostas:

10

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.

Rein Henrichs
fonte
1
Vários meses não são incomuns para complexos, grandes (1 milhão + SLOC), especialmente se o domínio também for nicho e / ou complexo.
mattnz
1
+1: algumas empresas têm mentores designados para novas contratações, independentemente de quanta experiência tenham, especificamente por esses motivos. Eu sempre adoro a pessoa sentada mais perto de mim que está disposta a ajudar e fazer-lhe toneladas de perguntas - e então eu as abro abertamente ao meu gerente quando elas ajudam.
Steven Evers
@mattnz Yep. Vários meses são apenas várias semanas. ;)
Rein Henrichs
5

Isso é normal?

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.

Telastyn
fonte
2

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.

Newtopian
fonte
1

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.

Sam
fonte
0

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.

Southpaw Hare
fonte
2
Algumas pessoas pensam que é mais difícil do que realmente é. Muitas vezes, tudo se resume à confiança e não ao talento.
precisa saber é o seguinte