Como você sai do papel de mantenedor de código? [fechadas]

13

Nos meus últimos três trabalhos, fui mantenedor de código. Nos três casos, fui contratado depois que a maioria do código do projeto já havia sido escrita.

Eu sou um programador autodidata. Antes de começar meu primeiro trabalho profissional, eu tinha talvez uma dúzia de projetos em andamento que iniciei e enviei com sucesso.

Escrever novo código e manter o código existente são dois trabalhos completamente diferentes. É como comparar um engenheiro aeronáutico com um mecânico de aeronaves.

Isso é péssimo quando você é um mecânico de aeronave trabalhando em um avião que foi projetado por um engenheiro que não fez nenhuma tentativa de projetar o avião para ser lógico ou fácil de manter.

Estou começando a sentir vontade de estar por perto quando o projeto começa, você deve ser uma daquelas pessoas especiais que de alguma forma transcenderam o resto das pessoas no campo da ciência da computação. O que é preciso para estar nessa posição?

Eu meio que sinto que essa pergunta realmente não tem uma resposta fácil, mas alguém poderia me dar algumas idéias? Você já esteve no térreo de um novo projeto? O que foi preciso para chegar lá?

nbv4
fonte
Você se candidata a empregos de Code Maintainer?
James
@ James todos os trabalhos são trabalhos de mantenedor de código, ou pelo menos todos eles que me deparo com ...
nbv4
Não desanime. Na tecnologia, nada é permanente. Você pode se sentir como o mecânico versus o engenheiro. Mas acho que existem muitas empresas com líderes autodidatas e abelhas operárias com diplomas avançados. O status, o conhecimento e o esforço para cumprir a educação formal devem ter alguma recompensa, mas é a sua resposta para "O que você fez por mim ultimamente?" é melhor, percorre um longo caminho.
DeveloperDon

Respostas:

6

Manutenção significa coisas diferentes para pessoas diferentes e ocorre por diferentes razões.

  • Na pior das hipóteses, o sistema inicial foi lançado às pressas, a equipe inicial assumiu o crédito pela coisa toda. Eles seguiram a regra 80/20, portanto, embora possa haver um produto mínimo viável que possa ser vendido, muitos clientes precisam de muitas correções e pequenas melhorias. Muitos problemas, mas não resta muita glória. Você tem o trabalho mais difícil, e é ingrato. Espero que essa não seja a sua situação.
  • Na melhor das hipóteses, você mostrou que é cuidadoso com seu trabalho e que pode ser confiável para fazer alterações no produto em campo sem quebrá-lo. Quais problemas permanecem são muito difíceis para as pessoas que martelaram o sistema original. Talvez eles não tenham construído o sistema para durar, e você está lá, talvez como substituto, para acertar as coisas e resgatar os clientes, o projeto e os lucros.
  • Caso muito provável, 60% dos custos do projeto ocorrem durante a manutenção. Talvez seja o momento certo, talvez sua organização se separe entre novo desenvolvimento e manutenção, mas você está na maioria dos 3/4, porque muitos de nós fazem manutenção.

Aqui estão algumas coisas para tentar:

  • Faça um ótimo trabalho, tenha uma ótima atitude, seja um líder de ideias.
  • Tanto quanto possível, trabalhe em equipe, não sozinho.
  • Aprenda idiomas mais novos.
  • Aprenda plataformas mais novas.
  • Solicite trabalhar em programas menores, talvez até se aplique a empresas menores.
  • Seja qualificado e envolva-se na documentação. Quando os projetos são iniciados, mesmo na era pós-cascata, eles precisam de muita coordenação por escrito para mapear, documentar, avaliar e esclarecer os requisitos.
  • É perigoso que os projetos iniciem nas mãos de pessoas que não apreciam o gerenciamento de requisitos, a estimativa e a avaliação de riscos; portanto, aprenda e pratique essas habilidades o máximo que puder.
  • Obtenha treinamentos ou certificações mais formais. Isso pode aumentar seu status e torná-lo uma opção mais atraente quando equipes para novos projetos de desenvolvimento são formadas.
  • Comece uma empresa ou alguma consultoria ao lado. Isso fornece a você saída criativa para direcionar seu tipo de trabalho favorito e permite uma melhor apreciação de como é começar com nenhum código ou documentação.
  • Aproxime-se do seu chefe e das pessoas que planejam novos projetos.
  • Por outro lado, se você é super próximo dos testadores e do controle de qualidade, a saída deles geralmente é a entrada para a manutenção, então adivinhe com quem seu chefe pensa que você trabalha realmente bem?
  • Faça o máximo de amigos e conquiste o respeito de quantos desenvolvedores greenfields puder.
  • Os novos desenvolvedores são capazes de lidar com as pessoas, portanto, seja cauteloso com qualquer sugestão de crítica ou negatividade. Dê a eles suas idéias livremente, sem culpa ou julgamento. Suas idéias não precisam de introdução, apenas diga-as. Nunca diga que costumávamos fazer dessa maneira, ou que não funciona, tente isso. Nunca diga, eu não sei, mas isso pode funcionar. Apenas diga a ideia. Ou melhor, mostre.
  • Encontre e aproveite a oportunidade para criar uma prova de conceito que possa se transformar em seu novo projeto.
  • Cuidado com quem designa você para trabalhar. Normalmente, deve ser alguém da sua cadeia de comando. Se são seus colegas, recue algumas vezes. Se é alguém que você supervisiona, é preciso haver uma boa razão para o controle estar invertendo. Se for controle de qualidade ou teste, verifique se isso é importante para sua cadeia de comando e se não está agendado de maneira a atrasar o trabalho que você prometeu anteriormente.
  • Cuidado com a perfeição. O novo desenvolvimento costuma ser reservado para pessoas rápidas, mesmo que elas cruzem os olhos e não mantenham o padrão.
  • Passe algum tempo aprendendo e praticando as habilidades iniciais do projeto apropriadas à sua linha de desenvolvimento. Isso pode incluir: criar repositórios de origem, definir o ambiente de construção, configurar o servidor de integração constante, trabalhar em estreita colaboração com a equipe de hardware para criar novas placas com pacotes de suporte a placas ou aumentar a capacidade de autoteste. Pode até ajudar a saber como trabalhar com compras para comprar novas ferramentas de desenvolvimento, treinamento e hardware COTS.
  • Certifique-se de seguir em frente antes do encerramento do seu projeto de manutenção, talvez comprando suas habilidades internamente para líderes de equipe e talvez gerentes, ou externamente.
  • Seja fluente em todas as tecnologias que conhece e conheça muitas tecnologias.

Uma função de manutenção pode ser aproveitada de várias maneiras.

  • Você pode potencialmente trabalhar em todos os projetos que o seu grupo ou até a empresa faz.
  • Se o novo desenvolvimento e manutenção forem separados, é possível seguir uma trilha de liderança menos competitiva. A liderança em novos projetos é altamente cobiçada, mas a liderança em manutenção pode estar disponível para você pedir. Se você tem incentivo e orientação para dar, os membros dessa equipe podem apreciá-lo mais.
  • Se o projeto estiver em manutenção, é mais provável que você faça interface com os clientes. Manipulado errado, isso termina carreiras. Se tratada corretamente, recebe atenção positiva fora do desenvolvimento, difícil de encontrar sem ser gerente.

Dito tudo isso, sou o contra-exemplo, não o modelo. Grande parte dessa perspectiva vem da experiência e observação.

Existem muitos programas novos que ainda precisam ser gravados.
Esteja pronto e você estará trabalhando em um surpreendentemente em breve.

DesenvolvedorDon
fonte
4

Tenho más notícias para você: muitas das aplicações que a humanidade precisa já foram escritas, mas elas devem ser ajustadas ao ambiente em constante mudança.

Algum dia, você será solicitado a escrever uma nova parte do sistema, como um novo módulo, e poderá aproveitar seu conhecimento no desenvolvimento de campos verdes.

Até então, você pode tentar aprender os aplicativos herdados da refatoração para limpar os módulos.

Uma boa leitura é " Trabalhando com aplicativos herdados " e " Refatorando para padrões ". Se você não leu a Refatoração original (Fowler), faça isso. E aprenda o Desenvolvimento Orientado a Testes (TDD), sempre ajuda.

Caso você esteja trabalhando com PHP, escrevi um artigo prático, esse código ainda é executado ...

Diverta-se!

Aadaam
fonte
1

O caminho mais fácil para escapar é mudar completamente seu estilo de programação e também adicionar novas habilidades ao mesmo tempo. Por exemplo, você pode tentar ser um pesquisador. Pode não ser um trabalho de prestígio no primeiro ano, e certamente não é tão bem remunerado quanto os trabalhos de programação normais (no primeiro ano, se você é Pesquisador / Pesquisador Associado na equipe de uma Universidade - é claro que o Pesquisador Sênior é bonito muito alinhado com o restante da indústria), mas definitivamente colocará suas habilidades para trabalhar nos problemas mais difíceis que você pode encontrar hoje. Após esse trabalho, você poderia facilmente entrar em uma posição melhor, desde que tenha alguns projetos interessantes para mostrar ao seu próximo chefe.

paxRoman
fonte